From 3fe3bde0c72a320fb7aa8bcd41f21c63b6c5605a Mon Sep 17 00:00:00 2001 From: Axay sagathiya <40173579+axaysagathiya@users.noreply.github.com> Date: Sat, 5 Mar 2022 23:51:48 +0530 Subject: [PATCH 01/52] Fix: Update Documentation to configure front-end and run back-end. (#815) * fix: add all the steps to run query-service * fix: add step to add configuration to run frontend --- CONTRIBUTING.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7b63015435..9b921b084d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,6 +21,12 @@ Need to update [https://github.com/SigNoz/signoz/tree/main/frontend](https://git - comment out frontend service section at `deploy/docker/clickhouse-setup/docker-compose.yaml#L59` - run `cd deploy` to move to deploy directory - Install signoz locally without the frontend + - Add below configuration to query-service section at `docker/clickhouse-setup/docker-compose.yaml#L36` + + ```docker + ports: + - "8080:8080" + ``` - If you are using x86_64 processors (All Intel/AMD processors) run `sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d` - If you are on arm64 processors (Apple M1 Macbooks) run `sudo docker-compose -f docker/clickhouse-setup/docker-compose.arm.yaml up -d` - `cd ../frontend` and change baseURL to `http://localhost:8080` in file `src/constants/env.ts` @@ -47,20 +53,32 @@ Need to update [https://github.com/SigNoz/signoz/tree/main/pkg/query-service](ht ### To run ClickHouse setup (recommended for local development) - git clone https://github.com/SigNoz/signoz.git +- run `cd signoz` to move to signoz directory - run `sudo make dev-setup` to configure local setup to run query-service - comment out frontend service section at `docker/clickhouse-setup/docker-compose.yaml#L45` - comment out query-service section at `docker/clickhouse-setup/docker-compose.yaml#L28` -- add below configuration to clickhouse section at `docker/clickhouse-setup/docker-compose.yaml` -``` +- add below configuration to clickhouse section at `docker/clickhouse-setup/docker-compose.yaml#L6` +```docker expose: - 9000 ports: - 9001:9000 ``` + +- run `cd pkg/query-service/` to move to query-service directory +- Open ./constants/constants.go + - Replace ```const RELATIONAL_DATASOURCE_PATH = "/var/lib/signoz/signoz.db"``` \ + with ```const RELATIONAL_DATASOURCE_PATH = "./signoz.db".``` + - Install signoz locally without the frontend and query-service - If you are using x86_64 processors (All Intel/AMD processors) run `sudo make run-x86` - If you are on arm64 processors (Apple M1 Macbooks) run `sudo make run-arm` +#### Run locally +```console +ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go +``` + > Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` **_Query Service should now be available at `http://localhost:8080`_** From 8e4f987cf6d62fdd5753e943c9fd02cf829a2aae Mon Sep 17 00:00:00 2001 From: Palash gupta Date: Sun, 6 Mar 2022 12:02:21 +0530 Subject: [PATCH 02/52] bug: timeline interval is updated --- frontend/src/container/Timeline/index.tsx | 36 ++++++++++------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index c729ac15f0..0c20e35a60 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -1,36 +1,25 @@ -import React, { useState, useMemo } from 'react'; -import { isEqual } from 'lodash-es'; +import React, { useState, useMemo, useEffect } from 'react'; import styles from './style.module.css'; import { useMeasure } from 'react-use'; -import { toFixed } from 'utils/toFixed'; -import { - INTERVAL_UNITS, - resolveTimeFromInterval, -} from 'container/TraceDetail/utils'; +import { INTERVAL_UNITS } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; import { Interval } from './types'; import { getIntervalSpread, getIntervals } from './utils'; -interface TimelineProps { - traceMetaData: object; - globalTraceMetadata: object; - intervalUnit: object; - setIntervalUnit: Function; -} + +const Timeline_Height = 22; +const Timeline_H_Spacing = 0; + const Timeline = ({ traceMetaData, globalTraceMetadata, - intervalUnit, setIntervalUnit, }: TimelineProps) => { const [ref, { width }] = useMeasure(); const { isDarkMode } = useThemeMode(); - const Timeline_Height = 22; - const Timeline_H_Spacing = 0; - const [intervals, setIntervals] = useState(null); - useMemo(() => { + useEffect(() => { const { baseInterval, baseSpread, @@ -44,7 +33,7 @@ const Timeline = ({ for (const idx in INTERVAL_UNITS) { const standard_interval = INTERVAL_UNITS[idx]; if (baseSpread * standard_interval.multiplier < 1) { - intervalUnit = INTERVAL_UNITS[idx - 1]; + intervalUnit = INTERVAL_UNITS[idx]; break; } } @@ -58,7 +47,7 @@ const Timeline = ({ intervalUnit, }), ); - }, [traceMetaData, globalTraceMetadata]); + }, []); return (
@@ -102,4 +91,11 @@ const Timeline = ({ ); }; +interface TimelineProps { + traceMetaData: object; + globalTraceMetadata: object; + intervalUnit: object; + setIntervalUnit: Function; +} + export default Timeline; From 79576b476f0e428b3929a07611349430b8e9d2ed Mon Sep 17 00:00:00 2001 From: Pranay Prateek Date: Sun, 6 Mar 2022 13:22:37 +0530 Subject: [PATCH 03/52] Create repo-stats.yml (#829) --- .github/workflows/repo-stats.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/repo-stats.yml diff --git a/.github/workflows/repo-stats.yml b/.github/workflows/repo-stats.yml new file mode 100644 index 0000000000..ae3d33c098 --- /dev/null +++ b/.github/workflows/repo-stats.yml @@ -0,0 +1,25 @@ +on: + schedule: + # Run this once per day, towards the end of the day for keeping the most + # recent data point most meaningful (hours are interpreted in UTC). + - cron: "0 23 * * *" + workflow_dispatch: # Allow for running this manually. + +jobs: + j1: + name: repostats + runs-on: ubuntu-latest + steps: + - name: run-ghrs + uses: jgehrcke/github-repo-stats@v1.1.0 + with: + # Define the stats repository (the repo to fetch + # stats for and to generate the report for). + # Remove the parameter when the stats repository + # and the data repository are the same. + repository: signoz/signoz + # Set a GitHub API token that can read the stats + # repository, and that can push to the data + # repository (which this workflow file lives in), + # to store data and the report files. + ghtoken: ${{ github.token }} From e070ba61cdafafe404d8fde2a12a5144ddc7e33d Mon Sep 17 00:00:00 2001 From: Pranay Prateek Date: Sun, 6 Mar 2022 13:23:49 +0530 Subject: [PATCH 04/52] Update repo-stats.yml --- .github/workflows/repo-stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/repo-stats.yml b/.github/workflows/repo-stats.yml index ae3d33c098..926bb2118d 100644 --- a/.github/workflows/repo-stats.yml +++ b/.github/workflows/repo-stats.yml @@ -2,7 +2,7 @@ on: schedule: # Run this once per day, towards the end of the day for keeping the most # recent data point most meaningful (hours are interpreted in UTC). - - cron: "0 23 * * *" + - cron: "0 8 * * *" workflow_dispatch: # Allow for running this manually. jobs: From 314f95a9149047f5f50bb8df163166c78ec58a25 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Mon, 7 Mar 2022 14:32:17 +0530 Subject: [PATCH 05/52] feat(FE): shared styled for custom styled components --- frontend/package.json | 4 +- frontend/src/components/Styled/index.ts | 32 ++++++++ frontend/src/components/Styled/styles.ts | 41 ++++++++++ frontend/src/components/Styled/types.ts | 5 ++ .../TraceDetail/TraceGraph.module.css | 3 - frontend/src/container/TraceDetail/index.tsx | 82 +++++++++++++------ frontend/src/container/TraceDetail/styles.ts | 5 ++ 7 files changed, 142 insertions(+), 30 deletions(-) create mode 100644 frontend/src/components/Styled/index.ts create mode 100644 frontend/src/components/Styled/styles.ts create mode 100644 frontend/src/components/Styled/types.ts delete mode 100644 frontend/src/container/TraceDetail/TraceGraph.module.css create mode 100644 frontend/src/container/TraceDetail/styles.ts diff --git a/frontend/package.json b/frontend/package.json index 48c33a04fc..458341f1cb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,8 +7,8 @@ "dev": "cross-env NODE_ENV=development webpack serve --progress", "build": "webpack --config=webpack.config.prod.js --progress", "prettify": "prettier --write .", - "lint": "eslint . --debug", - "lint:fix": "eslint . --fix --debug", + "lint": "eslint .", + "lint:fix": "eslint . --fix", "cypress:open": "cypress open", "cypress:run": "cypress run", "jest": "jest", diff --git a/frontend/src/components/Styled/index.ts b/frontend/src/components/Styled/index.ts new file mode 100644 index 0000000000..f740b81bb9 --- /dev/null +++ b/frontend/src/components/Styled/index.ts @@ -0,0 +1,32 @@ +import { Col, ColProps, Row, RowProps } from 'antd'; +import React from 'react'; +import styled, { + css, + DefaultTheme, + FlattenSimpleInterpolation, + ThemedCssFunction, +} from 'styled-components'; + +import { IStyledClass } from './types'; + +const styledClass = (props: IStyledClass): FlattenSimpleInterpolation => + props.styledClass; + +interface IStyledCol extends ColProps, IStyledClass {} +const StyledCol = styled(Col)` + ${styledClass} +`; + +interface IStyledRow extends RowProps, IStyledClass {} +const StyledRow = styled(Row)` + ${styledClass} +`; + +interface IStyledDiv + extends React.HTMLAttributes, + IStyledClass {} +const StyledDiv = styled.div` + ${styledClass} +`; + +export { StyledCol, StyledDiv, StyledRow }; diff --git a/frontend/src/components/Styled/styles.ts b/frontend/src/components/Styled/styles.ts new file mode 100644 index 0000000000..153ef27a94 --- /dev/null +++ b/frontend/src/components/Styled/styles.ts @@ -0,0 +1,41 @@ +import { css, FlattenSimpleInterpolation } from 'styled-components'; + +const cssProprty = (key: string, value: any): FlattenSimpleInterpolation => + key && + value && + css` + ${key}: ${value}; + `; + +interface IFlexProps { + flexDirection?: string; // Need to replace this with exact css props. Not able to find any :( + flex?: number | string; +} +export const Flex = ({ + flexDirection, + flex, +}: IFlexProps): FlattenSimpleInterpolation => css` + ${cssProprty('flex-direction', flexDirection)} + ${cssProprty('flex', flex)} +`; + +interface IDisplayProps { + display?: string; +} +export const Display = ({ + display, +}: IDisplayProps): FlattenSimpleInterpolation => css` + ${cssProprty('display', display)} +`; + +interface ISpacingProps { + margin?: string; + padding?: string; +} +export const Spacing = ({ + margin, + padding, +}: ISpacingProps): FlattenSimpleInterpolation => css` + ${cssProprty('margin', margin)} + ${cssProprty('padding', padding)} +`; diff --git a/frontend/src/components/Styled/types.ts b/frontend/src/components/Styled/types.ts new file mode 100644 index 0000000000..5d9dbb9054 --- /dev/null +++ b/frontend/src/components/Styled/types.ts @@ -0,0 +1,5 @@ +import { FlattenSimpleInterpolation } from 'styled-components'; + +export interface IStyledClass { + styledClass: FlattenSimpleInterpolation[]; +} diff --git a/frontend/src/container/TraceDetail/TraceGraph.module.css b/frontend/src/container/TraceDetail/TraceGraph.module.css deleted file mode 100644 index 9127050c97..0000000000 --- a/frontend/src/container/TraceDetail/TraceGraph.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.trace-detail-content-spacing { - margin-right: 1rem; -} diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index 99d693fc85..57b602003b 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -1,21 +1,24 @@ -import React, { useEffect, useMemo, useState } from 'react'; -import { Col, Divider, Row, Typography, Space, Button } from 'antd'; import { FilterOutlined } from '@ant-design/icons'; +import { Button, Col, Divider, Row, Space, Typography } from 'antd'; +import { StyledCol, StyledDiv, StyledRow } from 'components/Styled'; +import * as StyledStyles from 'components/Styled/styles'; import GanttChart from 'container/GantChart'; import { getNodeById } from 'container/GantChart/utils'; import Timeline from 'container/Timeline'; import TraceFlameGraph from 'container/TraceFlameGraph'; import dayjs from 'dayjs'; +import useUrlQuery from 'hooks/useUrlQuery'; import { spanServiceNameToColorMapping } from 'lib/getRandomColor'; -import { getSortedData } from './utils'; +import history from 'lib/history'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useMemo, useState } from 'react'; import { ITraceTree, PayloadProps } from 'types/api/trace/getTraceItem'; import { getSpanTreeMetadata } from 'utils/getSpanTreeMetadata'; import { spanToTreeUtil } from 'utils/spanToTree'; + import SelectedSpanDetails from './SelectedSpanDetails'; -import useUrlQuery from 'hooks/useUrlQuery'; -import styles from './TraceGraph.module.css'; -import history from 'lib/history'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import * as styles from './styles'; +import { getSortedData } from './utils'; import { INTERVAL_UNITS } from './utils'; const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { @@ -73,9 +76,21 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { }; return ( - - - + + + { intervalUnit={intervalUnit} /> - + { > {dayjs(traceMetaData.globalStart / 1e6).format('hh:mm:ssa MM/DD')} - { intervalUnit={intervalUnit} setIntervalUnit={setIntervalUnit} /> - + - {/* { - -
+ { spanId={spanId || ''} intervalUnit={intervalUnit} /> -
- + + @@ -189,7 +221,7 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { > -
+ ); }; diff --git a/frontend/src/container/TraceDetail/styles.ts b/frontend/src/container/TraceDetail/styles.ts new file mode 100644 index 0000000000..f4e99ed33d --- /dev/null +++ b/frontend/src/container/TraceDetail/styles.ts @@ -0,0 +1,5 @@ +import * as StyledStyles from 'components/Styled/styles'; + +export const traceDetailContentSpacing = StyledStyles.Spacing({ + margin: '0 1rem 0 0', +}); From 239cdad57b1d8513a995ce68455d451ba1c4a7cd Mon Sep 17 00:00:00 2001 From: Prashant Shahi Date: Mon, 7 Mar 2022 16:07:38 +0530 Subject: [PATCH 06/52] =?UTF-8?q?ci:=20=F0=9F=92=9A=20fix=20e2e-k3s=20work?= =?UTF-8?q?flow=20with=20chart=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Prashant Shahi --- .github/workflows/e2e-k3s.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/e2e-k3s.yaml b/.github/workflows/e2e-k3s.yaml index 16b02cc943..f25b8afdbe 100644 --- a/.github/workflows/e2e-k3s.yaml +++ b/.github/workflows/e2e-k3s.yaml @@ -52,14 +52,11 @@ jobs: helm install my-release signoz/signoz -n platform \ --wait \ --timeout 10m0s \ - --set cloud=null \ --set frontend.service.type=LoadBalancer \ - --set query-service.image.tag=$DOCKER_TAG \ + --set queryService.image.tag=$DOCKER_TAG \ --set frontend.image.tag=$DOCKER_TAG # get pods, services and the container images - kubectl describe deploy/my-release-frontend -n platform | grep Image - kubectl describe statefulset/my-release-query-service -n platform | grep Image kubectl get pods -n platform kubectl get svc -n platform From c04c0284dcb230a7b8793d4f5344b90c8c450715 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Mon, 7 Mar 2022 16:08:37 +0530 Subject: [PATCH 07/52] fix: add if condition for timeline interval --- frontend/src/container/Timeline/index.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 0c20e35a60..8f25f5c290 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -33,7 +33,7 @@ const Timeline = ({ for (const idx in INTERVAL_UNITS) { const standard_interval = INTERVAL_UNITS[idx]; if (baseSpread * standard_interval.multiplier < 1) { - intervalUnit = INTERVAL_UNITS[idx]; + if (idx > 1) intervalUnit = INTERVAL_UNITS[idx - 1]; break; } } @@ -68,10 +68,9 @@ const Timeline = ({ {intervals && intervals.map((interval, index) => ( From 1112ff7e7a305cf99598b5984785eeaf05428fc0 Mon Sep 17 00:00:00 2001 From: Vishal Sharma Date: Tue, 8 Mar 2022 19:55:19 +0530 Subject: [PATCH 08/52] Remove gitpod support temporarily (#834) Gitpod environment has issues which has to be resolved before adding to contributing docs. --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9b921b084d..d0e7a7169b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -86,13 +86,13 @@ ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go > If you want to see how, frontend plays with query service, you can run frontend also in you local env with the baseURL changed to `http://localhost:8080` in file `src/constants/env.ts` as the query-service is now running at port `8080` --- -Instead of configuring a local setup, you can also use [Gitpod](https://www.gitpod.io/), a VSCode-based Web IDE. + # Contribute to SigNoz Helm Chart From 12970d6975a51b1967678ee90563e611c17d1d5c Mon Sep 17 00:00:00 2001 From: Pranay Prateek Date: Tue, 8 Mar 2022 20:56:59 +0530 Subject: [PATCH 09/52] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bc8fec353..edbbb81c44 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

License - Downloads + Downloads GitHub issues tweet From c3ebbfa8ca9aadcaebb25d0e92c8d3b5d1de0287 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 9 Mar 2022 10:43:02 +0530 Subject: [PATCH 10/52] feat: new trace detail page code enhancemenets and cleanup --- frontend/src/components/Styled/index.ts | 61 ++++++++-- frontend/src/components/Styled/types.ts | 2 +- .../src/container/GantChart/Trace/index.tsx | 86 ++++++------- .../src/container/GantChart/Trace/styles.ts | 13 ++ frontend/src/container/GantChart/index.tsx | 24 ++-- frontend/src/container/GantChart/styles.ts | 1 + frontend/src/container/Timeline/index.tsx | 36 +++--- .../src/container/Timeline/style.module.css | 8 -- frontend/src/container/Timeline/styles.ts | 19 +++ .../SelectedSpanDetails/ErrorTag.tsx | 27 ++-- .../TraceDetail/SelectedSpanDetails/index.tsx | 24 ++-- .../TraceDetail/SelectedSpanDetails/styles.ts | 23 +++- frontend/src/container/TraceDetail/index.tsx | 115 ++++++------------ frontend/src/container/TraceDetail/styles.ts | 82 ++++++++++++- .../src/container/TraceFlameGraph/index.tsx | 27 ++-- frontend/src/store/actions/index.ts | 1 + 16 files changed, 341 insertions(+), 208 deletions(-) delete mode 100644 frontend/src/container/Timeline/style.module.css create mode 100644 frontend/src/container/Timeline/styles.ts diff --git a/frontend/src/components/Styled/index.ts b/frontend/src/components/Styled/index.ts index f740b81bb9..45b53896d1 100644 --- a/frontend/src/components/Styled/index.ts +++ b/frontend/src/components/Styled/index.ts @@ -1,4 +1,6 @@ -import { Col, ColProps, Row, RowProps } from 'antd'; +import * as AntD from 'antd'; +import { TextProps } from 'antd/lib/typography/Text'; +import { TitleProps } from 'antd/lib/typography/Title'; import React from 'react'; import styled, { css, @@ -10,15 +12,47 @@ import styled, { import { IStyledClass } from './types'; const styledClass = (props: IStyledClass): FlattenSimpleInterpolation => - props.styledClass; + props.styledclass; -interface IStyledCol extends ColProps, IStyledClass {} -const StyledCol = styled(Col)` +interface IStyledCol extends AntD.ColProps, IStyledClass {} +const StyledCol = styled(AntD.Col)` ${styledClass} `; -interface IStyledRow extends RowProps, IStyledClass {} -const StyledRow = styled(Row)` +interface IStyledRow extends AntD.RowProps, IStyledClass {} +const StyledRow = styled(AntD.Row)` + ${styledClass} +`; + +interface IStyledDivider extends AntD.DividerProps, IStyledClass {} +const StyledDivider = styled(AntD.Divider)` + ${styledClass} +`; + +interface IStyledSpace extends AntD.SpaceProps, IStyledClass {} +const StyledSpace = styled(AntD.Space)` + ${styledClass} +`; + +interface IStyledTabs extends AntD.TabsProps, IStyledClass {} +const StyledTabs = styled(AntD.Divider)` + ${styledClass} +`; + +interface IStyledButton extends AntD.ButtonProps, IStyledClass {} +const StyledButton = styled(AntD.Button)` + ${styledClass} +`; + +const { Text } = AntD.Typography; +interface IStyledTypographyText extends TextProps, IStyledClass {} +const StyledTypographyText = styled(Text)` + ${styledClass} +`; + +const { Title } = AntD.Typography; +interface IStyledTypographyTitle extends TitleProps, IStyledClass {} +const StyledTypographyTitle = styled(Title)` ${styledClass} `; @@ -29,4 +63,17 @@ const StyledDiv = styled.div` ${styledClass} `; -export { StyledCol, StyledDiv, StyledRow }; +const StyledTypography = { + Text: StyledTypographyText, + Title: StyledTypographyTitle, +}; +export { + StyledButton, + StyledCol, + StyledDiv, + StyledDivider, + StyledRow, + StyledSpace, + StyledTabs, + StyledTypography, +}; diff --git a/frontend/src/components/Styled/types.ts b/frontend/src/components/Styled/types.ts index 5d9dbb9054..fb829fb394 100644 --- a/frontend/src/components/Styled/types.ts +++ b/frontend/src/components/Styled/types.ts @@ -1,5 +1,5 @@ import { FlattenSimpleInterpolation } from 'styled-components'; export interface IStyledClass { - styledClass: FlattenSimpleInterpolation[]; + styledclass?: FlattenSimpleInterpolation[]; } diff --git a/frontend/src/container/GantChart/Trace/index.tsx b/frontend/src/container/GantChart/Trace/index.tsx index a4d10052b8..1feecac85b 100644 --- a/frontend/src/container/GantChart/Trace/index.tsx +++ b/frontend/src/container/GantChart/Trace/index.tsx @@ -1,22 +1,24 @@ -import React, { useRef, useState, useEffect } from 'react'; +import { CaretDownFilled, CaretRightFilled } from '@ant-design/icons'; +import { Col } from 'antd'; +import { StyledCol, StyledRow } from 'components/Styled'; +import { IIntervalUnit } from 'container/TraceDetail/utils'; +import useThemeMode from 'hooks/useThemeMode'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useRef, useState } from 'react'; +import { pushDStree } from 'store/actions'; +import { ITraceMetaData } from '..'; +import SpanLength from '../SpanLength'; +import SpanName from '../SpanName'; +import { getMetaDataFromSpanTree, getTopLeftFromBody } from '../utils'; import { CardComponent, CardContainer, CaretContainer, - Wrapper, HoverCard, + styles, + Wrapper, } from './styles'; -import { CaretDownFilled, CaretRightFilled } from '@ant-design/icons'; -import SpanLength from '../SpanLength'; -import SpanName from '../SpanName'; -import { pushDStree } from 'store/actions'; -import { getMetaDataFromSpanTree, getTopLeftFromBody } from '../utils'; -import { ITraceMetaData } from '..'; -import { Col, Row } from 'antd'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants' -import { IIntervalUnit, resolveTimeFromInterval } from 'container/TraceDetail/utils'; -import useThemeMode from 'hooks/useThemeMode'; const Trace = (props: TraceProps): JSX.Element => { const { @@ -38,7 +40,7 @@ const Trace = (props: TraceProps): JSX.Element => { intervalUnit, } = props; - const { isDarkMode } = useThemeMode() + const { isDarkMode } = useThemeMode(); const [isOpen, setOpen] = useState(activeSpanPath[level] === id); const localTreeExpandInteraction = useRef(0); // Boolean is for the state of the expansion whereas the number i.e. 0 is for skipping the user interaction. @@ -47,20 +49,18 @@ const Trace = (props: TraceProps): JSX.Element => { if (localTreeExpandInteraction.current !== 0) { setOpen(localTreeExpandInteraction.current); localTreeExpandInteraction.current = 0; + } else if (!isOpen) { + setOpen(activeSpanPath[level] === id); } - else if (!isOpen) { - setOpen(activeSpanPath[level] === id) - } - }, [activeSpanPath, isOpen]) + }, [activeSpanPath, isOpen]); useEffect(() => { if (isExpandAll) { - setOpen(isExpandAll) + setOpen(isExpandAll); + } else { + setOpen(activeSpanPath[level] === id); } - else { - setOpen(activeSpanPath[level] === id) - } - }, [isExpandAll]) + }, [isExpandAll]); const isOnlyChild = props.children.length === 1; const [top, setTop] = useState(0); @@ -69,9 +69,13 @@ const Trace = (props: TraceProps): JSX.Element => { React.useEffect(() => { if (activeSelectedId === id) { - ref.current?.scrollIntoView({ block: 'nearest', behavior: 'auto', inline: 'nearest' }); + ref.current?.scrollIntoView({ + block: 'nearest', + behavior: 'auto', + inline: 'nearest', + }); } - }, [activeSelectedId]) + }, [activeSelectedId]); const onMouseEnterHandler = () => { setActiveHoverId(props.id); @@ -87,18 +91,21 @@ const Trace = (props: TraceProps): JSX.Element => { const onClick = () => { setActiveSelectedId(id); - } + }; const onClickTreeExpansion = (event) => { - event.stopPropagation() - setOpen((state) => { localTreeExpandInteraction.current = !isOpen; return !state }); - } + event.stopPropagation(); + setOpen((state) => { + localTreeExpandInteraction.current = !isOpen; + return !state; + }); + }; const { totalSpans } = getMetaDataFromSpanTree(props); const inMsCount = value; const nodeLeftOffset = ((startTime - globalStart) * 1e2) / globalSpread; const width = (value * 1e2) / (globalSpread * 1e6); - const panelWidth = SPAN_DETAILS_LEFT_COL_WIDTH - (level * (16 + 1)) - 16; + const panelWidth = SPAN_DETAILS_LEFT_COL_WIDTH - level * (16 + 1) - 48; return ( <> @@ -115,17 +122,12 @@ const Trace = (props: TraceProps): JSX.Element => { isDarkMode={isDarkMode} /> - - - + + + {totalSpans !== 1 && ( - + {totalSpans} {isOpen ? : } @@ -136,15 +138,15 @@ const Trace = (props: TraceProps): JSX.Element => { - - - + + + diff --git a/frontend/src/container/GantChart/Trace/styles.ts b/frontend/src/container/GantChart/Trace/styles.ts index b500db6120..16eb99305d 100644 --- a/frontend/src/container/GantChart/Trace/styles.ts +++ b/frontend/src/container/GantChart/Trace/styles.ts @@ -75,3 +75,16 @@ export const HoverCard = styled.div` height: 3rem; opacity: 0.5; `; + +const flexNoWrap = css` + flex-wrap: nowrap; +`; + +const overFlowHidden = css` + overflow: hidden; +`; + +export const styles = { + flexNoWrap, + overFlowHidden, +}; diff --git a/frontend/src/container/GantChart/index.tsx b/frontend/src/container/GantChart/index.tsx index fa8b37d15a..575f22d7a5 100644 --- a/frontend/src/container/GantChart/index.tsx +++ b/frontend/src/container/GantChart/index.tsx @@ -1,11 +1,12 @@ +import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons'; +import { IIntervalUnit } from 'container/TraceDetail/utils'; import React, { useEffect, useState } from 'react'; -import Trace from './Trace'; -import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons' -import { Wrapper, CardWrapper, CardContainer, CollapseButton } from './styles'; -import { getSpanPath } from './utils'; -import { IIntervalUnit } from 'container/TraceDetail/utils' import { ITraceTree } from 'types/api/trace/getTraceItem'; +import { CardContainer, CardWrapper, CollapseButton, Wrapper } from './styles'; +import Trace from './Trace'; +import { getSpanPath } from './utils'; + const GanttChart = (props: GanttChartProps): JSX.Element => { const { data, @@ -15,7 +16,7 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { activeSelectedId, setActiveSelectedId, spanId, - intervalUnit + intervalUnit, } = props; const { globalStart, spread: globalSpread } = traceMetaData; @@ -24,11 +25,11 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { const [activeSpanPath, setActiveSpanPath] = useState([]); useEffect(() => { - setActiveSpanPath(getSpanPath(data, spanId)) + setActiveSpanPath(getSpanPath(data, spanId)); }, [spanId]); useEffect(() => { - setActiveSpanPath(getSpanPath(data, activeSelectedId)) + setActiveSpanPath(getSpanPath(data, activeSelectedId)); }, [activeSelectedId]); const handleCollapse = () => { @@ -38,7 +39,10 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { <> - + {isExpandAll ? : } @@ -81,7 +85,7 @@ export interface GanttChartProps { setActiveHoverId: React.Dispatch>; setActiveSelectedId: React.Dispatch>; spanId: string; - intervalUnit: IIntervalUnit + intervalUnit: IIntervalUnit; } export default GanttChart; diff --git a/frontend/src/container/GantChart/styles.ts b/frontend/src/container/GantChart/styles.ts index cefa618526..4d523c4998 100644 --- a/frontend/src/container/GantChart/styles.ts +++ b/frontend/src/container/GantChart/styles.ts @@ -44,4 +44,5 @@ export const CollapseButton = styled.div` position: absolute; top: 0; left: 0; + font-size: 1.2rem; `; diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index c729ac15f0..155d11de66 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -1,15 +1,12 @@ -import React, { useState, useMemo } from 'react'; -import { isEqual } from 'lodash-es'; -import styles from './style.module.css'; -import { useMeasure } from 'react-use'; -import { toFixed } from 'utils/toFixed'; -import { - INTERVAL_UNITS, - resolveTimeFromInterval, -} from 'container/TraceDetail/utils'; +import { StyledDiv } from 'components/Styled'; +import { INTERVAL_UNITS } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; +import React, { useMemo, useState } from 'react'; +import { useMeasure } from 'react-use'; + +import { styles, Svg, TimelineInterval } from './styles'; import { Interval } from './types'; -import { getIntervalSpread, getIntervals } from './utils'; +import { getIntervals, getIntervalSpread } from './utils'; interface TimelineProps { traceMetaData: object; globalTraceMetadata: object; @@ -21,7 +18,7 @@ const Timeline = ({ globalTraceMetadata, intervalUnit, setIntervalUnit, -}: TimelineProps) => { +}: TimelineProps): JSX.Element => { const [ref, { width }] = useMeasure(); const { isDarkMode } = useThemeMode(); @@ -61,12 +58,10 @@ const Timeline = ({ }, [traceMetaData, globalTraceMetadata]); return ( -

- + {intervals && intervals.map((interval, index) => ( - {interval.label} @@ -95,10 +89,10 @@ const Timeline = ({ stroke={isDarkMode ? 'white' : 'black'} strokeWidth="1" /> - + ))} - -
+ + ); }; diff --git a/frontend/src/container/Timeline/style.module.css b/frontend/src/container/Timeline/style.module.css deleted file mode 100644 index 2ddc6e497f..0000000000 --- a/frontend/src/container/Timeline/style.module.css +++ /dev/null @@ -1,8 +0,0 @@ -.svg-container { - overflow: visible; - position: absolute; -} -.timeline-tick { - text-anchor: middle; - font-size: 0.6rem; -} diff --git a/frontend/src/container/Timeline/styles.ts b/frontend/src/container/Timeline/styles.ts new file mode 100644 index 0000000000..f3f1345014 --- /dev/null +++ b/frontend/src/container/Timeline/styles.ts @@ -0,0 +1,19 @@ +import styled, { css } from 'styled-components'; + +const timelineContainer = css` + flex: 1; + overflow: visible; +`; + +export const styles = { + timelineContainer, +}; +export const Svg = styled.svg` + overflow: visible !important; + position: absolute; +`; + +export const TimelineInterval = styled.g` + text-anchor: middle; + font-size: 0.6rem; +`; diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx index ebe2ea2559..5f11be4b3d 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx @@ -1,23 +1,24 @@ -import { Button, Modal, Collapse } from 'antd'; +import { Collapse, Modal } from 'antd'; +import { StyledButton } from 'components/Styled'; import useThemeMode from 'hooks/useThemeMode'; -import React, { useRef, useState } from 'react'; +import React, { useState } from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; -import { CustomSubText, CustomSubTitle } from './styles'; + +import { CustomSubText, CustomSubTitle, styles } from './styles'; // import Editor from 'components/Editor'; const { Panel } = Collapse; -const ErrorTag = ({ event }: ErrorTagProps) => { +const ErrorTag = ({ event }: ErrorTagProps): JSX.Element => { const [isOpen, setIsOpen] = useState(false); const { isDarkMode } = useThemeMode(); - // const useTextRef = useRef(''); const [text, setText] = useState({ text: '', subText: '', }); - const onToggleHandler = (state: boolean) => { + const onToggleHandler = (state: boolean): void => { setIsOpen(state); }; @@ -28,6 +29,7 @@ const ErrorTag = ({ event }: ErrorTagProps) => { return ( @@ -46,24 +48,21 @@ const ErrorTag = ({ event }: ErrorTagProps) => { {value}
{isEllipsed && ( - + )} - - ); })} @@ -72,7 +71,7 @@ const ErrorTag = ({ event }: ErrorTagProps) => { ); })} onToggleHandler(false)} + onCancel={(): void => onToggleHandler(false)} title="Log Message" visible={isOpen} destroyOnClose diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx index 35ed013d9c..13df0efef8 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx @@ -1,15 +1,18 @@ import { Space, Tabs, Typography } from 'antd'; +import { StyledSpace, StyledTabs } from 'components/Styled'; +import useThemeMode from 'hooks/useThemeMode'; import React from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; + +import ErrorTag from './ErrorTag'; import { CardContainer, CustomSubText, CustomSubTitle, CustomText, CustomTitle, + styles, } from './styles'; -import ErrorTag from './ErrorTag'; -import useThemeMode from 'hooks/useThemeMode'; const { TabPane } = Tabs; @@ -24,7 +27,11 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { return ( - + Details for selected Span Service @@ -34,13 +41,16 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { Operation {name} - - + + {tags.length !== 0 ? ( tags.map((tags) => { return ( - + {tags.value && ( <> {tags.key} @@ -63,7 +73,7 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { No events data in selected span )} - + ); }; diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/styles.ts b/frontend/src/container/TraceDetail/SelectedSpanDetails/styles.ts index f467a87b35..b93e1f5647 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/styles.ts +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/styles.ts @@ -1,5 +1,5 @@ import { Typography } from 'antd'; -import styled from 'styled-components'; +import styled, { css } from 'styled-components'; const { Text, Title, Paragraph } = Typography; export const CustomTitle = styled(Title)` @@ -44,3 +44,24 @@ export const CardContainer = styled.div` flex: 1; overflow-y: auto; `; + +const removeMargin = css` + margin: 0; +`; +const removePadding = css` + padding: 0; +`; + +const selectedSpanDetailsContainer = css` + margin-left: 0.5rem; +`; + +const spanEventsTabsContainer = css` + margin-top: 1rem; +`; +export const styles = { + removeMargin, + removePadding, + selectedSpanDetailsContainer, + spanEventsTabsContainer, +}; diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index 57b602003b..de3b45e222 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -1,6 +1,13 @@ import { FilterOutlined } from '@ant-design/icons'; -import { Button, Col, Divider, Row, Space, Typography } from 'antd'; -import { StyledCol, StyledDiv, StyledRow } from 'components/Styled'; +import { Button, Col } from 'antd'; +import { + StyledCol, + StyledDiv, + StyledDivider, + StyledRow, + StyledSpace, + StyledTypography, +} from 'components/Styled'; import * as StyledStyles from 'components/Styled/styles'; import GanttChart from 'container/GantChart'; import { getNodeById } from 'container/GantChart/utils'; @@ -43,7 +50,7 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { return getSpanTreeMetadata(getSortedData(treeData), spanServiceColors); }, [treeData]); - const [globalTraceMetadata, _setGlobalTraceMetadata] = useState({ + const [globalTraceMetadata, _setGlobalTraceMetadata] = useState({ ...traceMetaData, }); @@ -60,7 +67,7 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { return getNodeById(activeSelectedId, treeData); }, [activeSelectedId, treeData]); - const onSearchHandler = (value: string) => { + const onSearchHandler = (value: string): void => { setSearchSpanString(value); setTreeData(spanToTreeUtil(response[0].events)); }; @@ -71,37 +78,25 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { } }; - const onResetHandler = () => { + const onResetHandler = (): void => { setTreeData(spanToTreeUtil(response[0].events)); }; return ( - - - - + + + - + Trace Details - - + + {traceMetaData.totalSpans} Span - - + + { /> - - + { }} > {dayjs(traceMetaData.globalStart / 1e6).format('hh:mm:ssa MM/DD')} - - + + { setIntervalUnit={setIntervalUnit} /> - - + + { /> */} - + - + - + { - + - + - + ); }; diff --git a/frontend/src/container/TraceDetail/styles.ts b/frontend/src/container/TraceDetail/styles.ts index f4e99ed33d..38c420042c 100644 --- a/frontend/src/container/TraceDetail/styles.ts +++ b/frontend/src/container/TraceDetail/styles.ts @@ -1,5 +1,79 @@ -import * as StyledStyles from 'components/Styled/styles'; +import { css } from 'styled-components'; -export const traceDetailContentSpacing = StyledStyles.Spacing({ - margin: '0 1rem 0 0', -}); +/** + * Styles for the left container. Containers flamegraph, timeline and gantt chart + */ +export const leftContainer = [ + css` + display: flex; + flex-direction: column; + `, +]; + +/** + * Styles for the top container. Contains TotalSpans, FlameGraph and Timeline. + */ +export const flameAndTimelineContainer = [ + css` + margin: 0 1rem 0 0; + `, +]; + +export const traceMetaDataContainer = [ + css` + display: flex; + flex-direction: column; + align-items: center; + `, +]; + +export const traceDateAndTimelineContainer = css` + margin-top: 2rem; +`; + +export const traceDateTimeContainer = css` + display: flex; + aligh-items: center; + justify-content: center; +`; +export const timelineContainer = css` + overflow: visible; + margin: 0 1rem 0 0; +`; +export const ganttChartContainer = css` + margin: 1.5rem 1rem 0.5rem; + display: flex; + flex-direction: column; + position: relative; + flex: 1; + overflow-y: auto; + overflow-x: hidden; +`; + +export const selectedSpanDetailContainer = css` + height: 100%; + position: relative; + display: flex; + flex-direction: column; +`; + + +/** + * Generic / Common styles + */ + +export const verticalSeparator = css` + height: 100%; + margin: 0; +`; + +export const traceDetailContentSpacing = css` + margin: 0 1rem 0 0; +`; + +export const floatRight = css` + float: right; +`; +export const removeMargin = css` + margin: 0; +`; diff --git a/frontend/src/container/TraceFlameGraph/index.tsx b/frontend/src/container/TraceFlameGraph/index.tsx index 511becaf39..7e1d2f0d6b 100644 --- a/frontend/src/container/TraceFlameGraph/index.tsx +++ b/frontend/src/container/TraceFlameGraph/index.tsx @@ -1,17 +1,18 @@ -import React, { useState, useLayoutEffect, useMemo } from 'react'; import Color from 'color'; -import { pushDStree } from 'store/actions'; -import { - SpanItemContainer, - TraceFlameGraphContainer, - TOTAL_SPAN_HEIGHT, -} from './styles'; import { IIntervalUnit, resolveTimeFromInterval, } from 'container/TraceDetail/utils'; -import { toFixed } from 'utils/toFixed'; import useThemeMode from 'hooks/useThemeMode'; +import React, { useLayoutEffect, useMemo, useState } from 'react'; +import { pushDStree } from 'store/actions'; +import { toFixed } from 'utils/toFixed'; + +import { + SpanItemContainer, + TOTAL_SPAN_HEIGHT, + TraceFlameGraphContainer, +} from './styles'; const SpanItem = ({ topOffset = 0, // top offset in px @@ -33,7 +34,7 @@ const SpanItem = ({ onSpanHover: Function; hoveredSpanId: string; selectedSpanId: string; -}) => { +}): JSX.Element => { const { serviceColour } = spanData; const [isSelected, setIsSelected] = useState(false); const [isLocalHover, setIsLocalHover] = useState(false); @@ -48,14 +49,14 @@ const SpanItem = ({ } }, [hoveredSpanId, selectedSpanId]); - const handleHover = (hoverState: boolean) => { + const handleHover = (hoverState: boolean): void => { setIsLocalHover(hoverState); if (hoverState) onSpanHover(spanData.id); else onSpanHover(null); }; - const handleClick = () => { + const handleClick = (): void => { onSpanSelect(spanData.id); }; @@ -96,7 +97,7 @@ const TraceFlameGraph = (props: { hoveredSpanId: string; selectedSpanId: string; intervalUnit: IIntervalUnit; -}) => { +}): null | JSX.Element => { if (!props.treeData || props.treeData.id === 'empty' || !props.traceMetaData) { return null; } @@ -125,7 +126,7 @@ const TraceFlameGraph = (props: { onSpanSelect: Function; hoveredSpanId: string; selectedSpanId: string; - }) => { + }): null | JSX.Element => { if (!spanData) { return null; } diff --git a/frontend/src/store/actions/index.ts b/frontend/src/store/actions/index.ts index 6ee8a31184..403f685057 100644 --- a/frontend/src/store/actions/index.ts +++ b/frontend/src/store/actions/index.ts @@ -4,5 +4,6 @@ export * from './global'; export * from './metrics'; export * from './MetricsActions'; export * from './serviceMap'; +export * from './traces'; export * from './types'; export * from './usage'; From 1bf8e6bef6645a2460844cb7a1dddfd88d42b15c Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 11:20:52 +0530 Subject: [PATCH 11/52] feat: better x-axis labels --- frontend/src/components/Graph/index.tsx | 20 +++- frontend/src/components/Graph/xAxisConfig.ts | 113 ++++++++++++++++++ .../GridGraphLayout/Graph/FullView/index.tsx | 1 - .../MetricsApplication/Tabs/Application.tsx | 7 +- frontend/src/container/Trace/Graph/config.ts | 1 - frontend/src/container/Trace/Graph/index.tsx | 10 +- 6 files changed, 139 insertions(+), 13 deletions(-) create mode 100644 frontend/src/components/Graph/xAxisConfig.ts diff --git a/frontend/src/components/Graph/index.tsx b/frontend/src/components/Graph/index.tsx index b6905495d4..a7647dbee7 100644 --- a/frontend/src/components/Graph/index.tsx +++ b/frontend/src/components/Graph/index.tsx @@ -27,6 +27,7 @@ import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import AppReducer from 'types/reducer/app'; +import { ITimeRange, useXAxisTimeUnit } from './xAxisConfig'; Chart.register( LineElement, PointElement, @@ -59,7 +60,11 @@ const Graph = ({ const chartRef = useRef(null); const currentTheme = isDarkMode ? 'dark' : 'light'; - // const [tooltipVisible, setTooltipVisible] = useState(false); + /** + * Computes the relevant time unit for x axis by analyzing the time stamp data + */ + const xAxisTimeUnit = useXAxisTimeUnit(data); + const lineChartRef = useRef(); const getGridColor = useCallback(() => { @@ -109,7 +114,18 @@ const Graph = ({ date: chartjsAdapter, }, time: { - unit: 'minute', + unit: xAxisTimeUnit?.unitName || 'minute', + stepSize: xAxisTimeUnit?.stepSize || 1, + displayFormats: { + millisecond: 'hh:mm:ss', + second: 'hh:mm:ss', + minute: 'HH:mm', + hour: 'MM/dd HH:mm', + day: 'MM/dd', + week: 'MM/dd', + month: 'yy-MM', + year: 'yy', + }, }, type: 'time', }, diff --git a/frontend/src/components/Graph/xAxisConfig.ts b/frontend/src/components/Graph/xAxisConfig.ts new file mode 100644 index 0000000000..a8bc01d05e --- /dev/null +++ b/frontend/src/components/Graph/xAxisConfig.ts @@ -0,0 +1,113 @@ +import { Chart, TimeUnit } from 'chart.js'; +import { useMemo } from 'react'; +import { useSelector } from 'react-redux'; +import { AppState } from 'store/reducers'; +import { GlobalReducer } from 'types/reducer/globalTime'; + +interface IAxisTimeUint { + unitName: TimeUnit; + multiplier: number; +} + +interface IAxisTimeConfig { + unitName: TimeUnit; + stepSize: number; +} + +export interface ITimeRange { + minTime: number | null; + maxTime: number | null; +} + +const TIME_UNITS: IAxisTimeUint[] = [ + { + unitName: 'millisecond', + multiplier: 1, + }, + { + unitName: 'second', + multiplier: 1 / 1e3, + }, + { + unitName: 'minute', + multiplier: 1 / (1e3 * 60), + }, + { + unitName: 'hour', + multiplier: 1 / (1e3 * 60 * 60), + }, + { + unitName: 'day', + multiplier: 1 / (1e3 * 60 * 60 * 24), + }, + { + unitName: 'week', + multiplier: 1 / (1e3 * 60 * 60 * 24 * 7), + }, + { + unitName: 'month', + multiplier: 1 / (1e3 * 60 * 60 * 24 * 30), + }, + { + unitName: 'year', + multiplier: 1 / (1e3 * 60 * 60 * 24 * 365), + }, +]; + +export const useXAxisTimeUnit = (data: Chart['data']): IAxisTimeConfig => { + let localTime: ITimeRange; + { + let minTime = Number.POSITIVE_INFINITY; + let maxTime = Number.NEGATIVE_INFINITY; + data?.labels?.forEach((timeStamp: any) => { + timeStamp = Date.parse(timeStamp); + minTime = Math.min(timeStamp, minTime); + maxTime = Math.max(timeStamp, maxTime); + }); + + localTime = { + minTime: minTime === Number.POSITIVE_INFINITY ? null : minTime, + maxTime: maxTime === Number.NEGATIVE_INFINITY ? null : maxTime, + }; + } + const globalTime = useSelector( + (state) => state.globalTime, + ); + + const { maxTime, minTime } = useMemo(() => { + if (localTime && localTime.maxTime && localTime.minTime) { + return { + minTime: localTime.minTime, + maxTime: localTime.maxTime, + }; + } else { + return { + minTime: globalTime.minTime / 1e6, + maxTime: globalTime.maxTime / 1e6, + }; + } + }, [globalTime, localTime]); + // debugger; + return convertTimeRange(minTime, maxTime); +}; + +const convertTimeRange = (start: number, end: number): IAxisTimeConfig => { + const MIN_INTERVALS = 6; + const range = end - start; + let relevantTimeUnit = TIME_UNITS[1]; + let stepSize = 1; + for (let idx = TIME_UNITS.length - 1; idx >= 0; idx--) { + const timeUnit = TIME_UNITS[idx]; + const units = range * timeUnit.multiplier; + const steps = units / MIN_INTERVALS; + if (steps >= 1) { + relevantTimeUnit = timeUnit; + stepSize = steps; + break; + } + } + return { + unitName: relevantTimeUnit.unitName, + stepSize: Math.floor(stepSize) || 1, + }; +}; diff --git a/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx b/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx index 5da66f3394..06665218fc 100644 --- a/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx +++ b/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx @@ -82,7 +82,6 @@ const FullView = ({ }; const queryMinMax = getMinMax(selectedTime.enum); - const response = await Promise.all( widget.query .filter((e) => e.query.length !== 0) diff --git a/frontend/src/container/MetricsApplication/Tabs/Application.tsx b/frontend/src/container/MetricsApplication/Tabs/Application.tsx index 005033f999..b96344d263 100644 --- a/frontend/src/container/MetricsApplication/Tabs/Application.tsx +++ b/frontend/src/container/MetricsApplication/Tabs/Application.tsx @@ -1,5 +1,6 @@ import { ActiveElement, Chart, ChartData, ChartEvent } from 'chart.js'; import Graph from 'components/Graph'; +import { getTimeRange, ITimeRange } from 'components/Graph/xAxisConfig'; import { METRICS_PAGE_QUERY_PARAM } from 'constants/query'; import ROUTES from 'constants/routes'; import FullView from 'container/GridGraphLayout/Graph/FullView'; @@ -34,8 +35,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ - ROUTES.TRACE + `${ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["ok","error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error","ok"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; @@ -88,8 +88,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ - ROUTES.TRACE + `${ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; diff --git a/frontend/src/container/Trace/Graph/config.ts b/frontend/src/container/Trace/Graph/config.ts index 17344b52ef..f72e23f97a 100644 --- a/frontend/src/container/Trace/Graph/config.ts +++ b/frontend/src/container/Trace/Graph/config.ts @@ -27,7 +27,6 @@ export const getChartData = ( data: [], type: 'line', }; - const chartLabels: ChartData<'line'>['labels'] = []; Object.keys(allDataPoints).forEach((timestamp) => { diff --git a/frontend/src/container/Trace/Graph/index.tsx b/frontend/src/container/Trace/Graph/index.tsx index efc8a9d137..7ee311cc89 100644 --- a/frontend/src/container/Trace/Graph/index.tsx +++ b/frontend/src/container/Trace/Graph/index.tsx @@ -1,13 +1,13 @@ -import React, { useMemo } from 'react'; - +import { Typography } from 'antd'; import Graph from 'components/Graph'; +import Spinner from 'components/Spinner'; +import React, { useMemo } from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import { TraceReducer } from 'types/reducer/trace'; -import Spinner from 'components/Spinner'; -import { Container } from './styles'; -import { Typography } from 'antd'; + import { getChartData, getChartDataforGroupBy } from './config'; +import { Container } from './styles'; const TraceGraph = () => { const { spansGraph, selectedGroupBy } = useSelector( From f0c627eebe02cca9eb9d1b9e369880495bcb724d Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 13:39:04 +0530 Subject: [PATCH 12/52] chore: add unit tests --- .../Graph/__tests__/xAxisConfig.test.ts | 75 +++++++++++++++++ frontend/src/components/Graph/index.tsx | 7 +- frontend/src/components/Graph/xAxisConfig.ts | 80 +++++++++++++------ 3 files changed, 134 insertions(+), 28 deletions(-) create mode 100644 frontend/src/components/Graph/__tests__/xAxisConfig.test.ts diff --git a/frontend/src/components/Graph/__tests__/xAxisConfig.test.ts b/frontend/src/components/Graph/__tests__/xAxisConfig.test.ts new file mode 100644 index 0000000000..e0320e29b0 --- /dev/null +++ b/frontend/src/components/Graph/__tests__/xAxisConfig.test.ts @@ -0,0 +1,75 @@ +import { expect } from '@jest/globals'; +import dayjs from 'dayjs'; + +import { convertTimeRange, TIME_UNITS } from '../xAxisConfig'; + +describe('xAxisConfig for Chart', () => { + describe('convertTimeRange', () => { + it('should return relevant time units for given range', () => { + { + const start = dayjs(); + const end = start.add(10, 'millisecond'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.millisecond, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'second'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.second, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'minute'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.minute, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'hour'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.hour, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'day'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.day, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'week'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.week, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'month'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.month, + ); + } + { + const start = dayjs(); + const end = start.add(10, 'year'); + + expect(convertTimeRange(start.valueOf(), end.valueOf()).unitName).toEqual( + TIME_UNITS.year, + ); + } + }); + }); +}); diff --git a/frontend/src/components/Graph/index.tsx b/frontend/src/components/Graph/index.tsx index a7647dbee7..4cf6c04a0f 100644 --- a/frontend/src/components/Graph/index.tsx +++ b/frontend/src/components/Graph/index.tsx @@ -27,7 +27,7 @@ import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import AppReducer from 'types/reducer/app'; -import { ITimeRange, useXAxisTimeUnit } from './xAxisConfig'; +import { useXAxisTimeUnit } from './xAxisConfig'; Chart.register( LineElement, PointElement, @@ -60,10 +60,7 @@ const Graph = ({ const chartRef = useRef(null); const currentTheme = isDarkMode ? 'dark' : 'light'; - /** - * Computes the relevant time unit for x axis by analyzing the time stamp data - */ - const xAxisTimeUnit = useXAxisTimeUnit(data); + const xAxisTimeUnit = useXAxisTimeUnit(data); // Computes the relevant time unit for x axis by analyzing the time stamp data const lineChartRef = useRef(); diff --git a/frontend/src/components/Graph/xAxisConfig.ts b/frontend/src/components/Graph/xAxisConfig.ts index a8bc01d05e..493c36e5b7 100644 --- a/frontend/src/components/Graph/xAxisConfig.ts +++ b/frontend/src/components/Graph/xAxisConfig.ts @@ -4,7 +4,10 @@ import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import { GlobalReducer } from 'types/reducer/globalTime'; -interface IAxisTimeUint { +interface ITimeUnit { + [key: string]: TimeUnit; +} +interface IAxisTimeUintConfig { unitName: TimeUnit; multiplier: number; } @@ -19,44 +22,59 @@ export interface ITimeRange { maxTime: number | null; } -const TIME_UNITS: IAxisTimeUint[] = [ +export const TIME_UNITS: ITimeUnit = { + millisecond: 'millisecond', + second: 'second', + minute: 'minute', + hour: 'hour', + day: 'day', + week: 'week', + month: 'month', + year: 'year', +}; + +const TIME_UNITS_CONFIG: IAxisTimeUintConfig[] = [ { - unitName: 'millisecond', + unitName: TIME_UNITS.millisecond, multiplier: 1, }, { - unitName: 'second', + unitName: TIME_UNITS.second, multiplier: 1 / 1e3, }, { - unitName: 'minute', + unitName: TIME_UNITS.minute, multiplier: 1 / (1e3 * 60), }, { - unitName: 'hour', + unitName: TIME_UNITS.hour, multiplier: 1 / (1e3 * 60 * 60), }, { - unitName: 'day', + unitName: TIME_UNITS.day, multiplier: 1 / (1e3 * 60 * 60 * 24), }, { - unitName: 'week', + unitName: TIME_UNITS.week, multiplier: 1 / (1e3 * 60 * 60 * 24 * 7), }, { - unitName: 'month', + unitName: TIME_UNITS.month, multiplier: 1 / (1e3 * 60 * 60 * 24 * 30), }, { - unitName: 'year', + unitName: TIME_UNITS.year, multiplier: 1 / (1e3 * 60 * 60 * 24 * 365), }, ]; +/** + * Accepts Chart.js data's data-structure and returns the relevant time unit for the axis based on the range of the data. + */ export const useXAxisTimeUnit = (data: Chart['data']): IAxisTimeConfig => { - let localTime: ITimeRange; - { + // Local time is the time range inferred from the input chart data. + let localTime: ITimeRange | null; + try { let minTime = Number.POSITIVE_INFINITY; let maxTime = Number.NEGATIVE_INFINITY; data?.labels?.forEach((timeStamp: any) => { @@ -69,11 +87,17 @@ export const useXAxisTimeUnit = (data: Chart['data']): IAxisTimeConfig => { minTime: minTime === Number.POSITIVE_INFINITY ? null : minTime, maxTime: maxTime === Number.NEGATIVE_INFINITY ? null : maxTime, }; + } catch (error) { + localTime = null; + console.error(error); } + + // Global time is the time selected from the global time selector menu. const globalTime = useSelector( (state) => state.globalTime, ); + // Use local time if valid else use the global time range const { maxTime, minTime } = useMemo(() => { if (localTime && localTime.maxTime && localTime.minTime) { return { @@ -87,24 +111,34 @@ export const useXAxisTimeUnit = (data: Chart['data']): IAxisTimeConfig => { }; } }, [globalTime, localTime]); - // debugger; + return convertTimeRange(minTime, maxTime); }; -const convertTimeRange = (start: number, end: number): IAxisTimeConfig => { +/** + * Finds the relevant time unit based on the input time stamps (in ms) + */ +export const convertTimeRange = ( + start: number, + end: number, +): IAxisTimeConfig => { const MIN_INTERVALS = 6; const range = end - start; - let relevantTimeUnit = TIME_UNITS[1]; + let relevantTimeUnit = TIME_UNITS_CONFIG[1]; let stepSize = 1; - for (let idx = TIME_UNITS.length - 1; idx >= 0; idx--) { - const timeUnit = TIME_UNITS[idx]; - const units = range * timeUnit.multiplier; - const steps = units / MIN_INTERVALS; - if (steps >= 1) { - relevantTimeUnit = timeUnit; - stepSize = steps; - break; + try { + for (let idx = TIME_UNITS_CONFIG.length - 1; idx >= 0; idx--) { + const timeUnit = TIME_UNITS_CONFIG[idx]; + const units = range * timeUnit.multiplier; + const steps = units / MIN_INTERVALS; + if (steps >= 1) { + relevantTimeUnit = timeUnit; + stepSize = steps; + break; + } } + } catch (error) { + console.error(error); } return { unitName: relevantTimeUnit.unitName, From f2ace729fdeb96adbdae409054ef310bcb55efc9 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 13:42:05 +0530 Subject: [PATCH 13/52] fix: linting fixes --- .../src/container/MetricsApplication/Tabs/Application.tsx | 7 ++++--- frontend/src/container/Trace/Graph/index.tsx | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/container/MetricsApplication/Tabs/Application.tsx b/frontend/src/container/MetricsApplication/Tabs/Application.tsx index b96344d263..005033f999 100644 --- a/frontend/src/container/MetricsApplication/Tabs/Application.tsx +++ b/frontend/src/container/MetricsApplication/Tabs/Application.tsx @@ -1,6 +1,5 @@ import { ActiveElement, Chart, ChartData, ChartEvent } from 'chart.js'; import Graph from 'components/Graph'; -import { getTimeRange, ITimeRange } from 'components/Graph/xAxisConfig'; import { METRICS_PAGE_QUERY_PARAM } from 'constants/query'; import ROUTES from 'constants/routes'; import FullView from 'container/GridGraphLayout/Graph/FullView'; @@ -35,7 +34,8 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ROUTES.TRACE + `${ + ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["ok","error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error","ok"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; @@ -88,7 +88,8 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ROUTES.TRACE + `${ + ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; diff --git a/frontend/src/container/Trace/Graph/index.tsx b/frontend/src/container/Trace/Graph/index.tsx index 7ee311cc89..ce667aec67 100644 --- a/frontend/src/container/Trace/Graph/index.tsx +++ b/frontend/src/container/Trace/Graph/index.tsx @@ -9,7 +9,7 @@ import { TraceReducer } from 'types/reducer/trace'; import { getChartData, getChartDataforGroupBy } from './config'; import { Container } from './styles'; -const TraceGraph = () => { +const TraceGraph = (): JSX.Element => { const { spansGraph, selectedGroupBy } = useSelector( (state) => state.traces, ); From 23f9949fad1b01010604bba371695190c56da571 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 16:32:11 +0530 Subject: [PATCH 14/52] fix: trace detail events error handling --- frontend/src/container/Timeline/index.tsx | 9 +- frontend/src/container/Timeline/utils.ts | 3 +- .../src/container/TraceDetail/MockResponse.ts | 2144 +++++++++++++++++ .../SelectedSpanDetails/ErrorTag.tsx | 13 +- frontend/src/container/TraceDetail/index.tsx | 3 +- 5 files changed, 2159 insertions(+), 13 deletions(-) create mode 100644 frontend/src/container/TraceDetail/MockResponse.ts diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index c729ac15f0..d4b7ca756f 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -49,7 +49,8 @@ const Timeline = ({ } } - setIntervalUnit(intervalUnit); + debugger; + intervalUnit = intervalUnit || INTERVAL_UNITS[0] setIntervals( getIntervals({ baseInterval, @@ -58,6 +59,7 @@ const Timeline = ({ intervalUnit, }), ); + setIntervalUnit(intervalUnit); }, [traceMetaData, globalTraceMetadata]); return ( @@ -79,10 +81,9 @@ const Timeline = ({ {intervals && intervals.map((interval, index) => ( diff --git a/frontend/src/container/Timeline/utils.ts b/frontend/src/container/Timeline/utils.ts index e7e6a79a01..b710fc19a0 100644 --- a/frontend/src/container/Timeline/utils.ts +++ b/frontend/src/container/Timeline/utils.ts @@ -46,6 +46,7 @@ export const getIntervals = ({ intervalSpreadNormalized, intervalUnit, }) => { + debugger const intervals: Interval[] = [ { label: `${toFixed(resolveTimeFromInterval(baseInterval, intervalUnit), 2)}${ @@ -68,7 +69,7 @@ export const getIntervals = ({ tempBaseSpread -= intervalSpreadNormalized; } elapsedIntervals = interval_time; - + debugger; const interval: Interval = { label: `${toFixed( resolveTimeFromInterval(interval_time + baseInterval, intervalUnit), diff --git a/frontend/src/container/TraceDetail/MockResponse.ts b/frontend/src/container/TraceDetail/MockResponse.ts new file mode 100644 index 0000000000..ef45b62c51 --- /dev/null +++ b/frontend/src/container/TraceDetail/MockResponse.ts @@ -0,0 +1,2144 @@ +export const Mock_Response = [ + { + columns: [ + '__time', + 'SpanId', + 'TraceId', + 'ServiceName', + 'Name', + 'Kind', + 'DurationNano', + 'TagsKeys', + 'TagsValues', + 'References', + 'Events', + 'HasError', + ], + events: [ + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + [ + 1646811395726, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + '/invalid', + '2', + '2694000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.route', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/invalid', + 'http://::1:5002/invalid', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '57497', + '/invalid', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [ + '{"name":"exception","timeUnixNano":1646811395728655000,"attributeMap":{"exception.escaped":"False","exception.message":"Invalid ","exception.stacktrace":"Traceback (most recent call last):\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/trace/__init__.py\\", line 541, in use_span\\n yield span\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/sdk/trace/__init__.py\\", line 988, in start_as_current_span\\n yield span_context\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/instrumentation/asgi/__init__.py\\", line 346, in __call__\\n await self.app(scope, wrapped_receive, wrapped_send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 82, in __call__\\n raise exc from None\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 71, in __call__\\n await self.app(scope, receive, sender)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 580, in __call__\\n await route.handle(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 241, in handle\\n await self.app(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 52, in app\\n response = await func(request)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 226, in app\\n raw_response = await run_endpoint_function(\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 159, in run_endpoint_function\\n return await dependant.call(**values)\\n File \\"/Users/makeavish/signoz/sample-fastapi-app/app/./main.py\\", line 38, in invalid\\n raise ValueError(\\"Invalid \\")\\nValueError: Invalid \\n","exception.type":"ValueError"},"isError":true}', + ], + 1, + ], + [ + 1646831185591, + '9b5fd60bda368918', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '363000', + ['http.status_code', 'type'], + ['404', 'http.response.start'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 1, + ], + [ + 1646831185591, + '845989eb14987cc5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET http send', + '1', + '227000', + ['type'], + ['http.response.body'], + [ + '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', + ], + [], + 0, + ], + [ + 1646831185591, + '51cf972f6c27e4d5', + '61505b66655f1c7b2ef16279086619f1', + 'finalFastapiApp3', + 'GET', + '2', + '860000', + [ + 'http.scheme', + 'http.host', + 'net.host.port', + 'http.flavor', + 'http.target', + 'http.url', + 'http.method', + 'http.server_name', + 'http.user_agent', + 'net.peer.ip', + 'net.peer.port', + 'http.status_code', + ], + [ + 'http', + '::1:5002', + '5002', + '1.1', + '/in', + 'http://::1:5002/in', + 'GET', + 'localhost:5002', + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', + '::1', + '59306', + '404', + ], + ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], + [], + 1, + ], + ], + }, +]; +// [ +// { +// columns: [ +// '__time', +// 'SpanId', +// 'TraceId', +// 'ServiceName', +// 'Name', +// 'Kind', +// 'DurationNano', +// 'TagsKeys', +// 'TagsValues', +// 'References', +// 'Events', +// 'HasError', +// ], +// events: [ +// [ +// 1646889838095, +// 'f7e01a1f2eefdd18', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2015400', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.isrequired AND (o.accountid = @__8__locals1_accountid_0)) AND (o.fieldstatus = 1)', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838097793500}'], +// 0, +// ], +// [ +// 1646889838099, +// 'd65333b5fd6c96c0', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2752000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.id, o.accountid, o.fieldid, o.isrequired\nFROM public.op_prospectdefaultfieldtbl AS o\nWHERE o.accountid = @__accountid_0', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838101810600}'], +// 0, +// ], +// [ +// 1646889838102, +// 'e81ae73f4b2f43f6', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3298500', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838105156100}'], +// 0, +// ], +// [ +// 1646889838106, +// 'b51335df380ef7c2', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '4363100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_checkprospectemailexists(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_emailid => :in_emailid,out_count => :out_count);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838111245300}'], +// 0, +// ], +// [ +// 1646889838115, +// '78c4dbd0592d15a0', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2289500', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT COUNT(*)::INT\nFROM public.op_blacklistdomaintbl AS o\nWHERE ((o.accountid = @__8__locals1_accountid_0) AND (o.blackliststatus = 1)) AND (lower(o.domain) = @__domain_1)', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838118002500}'], +// 0, +// ], +// [ +// 1646889838118, +// '46b5119b295f541f', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '14266300', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_insertprospect(in_accountid => :in_accountid,in_company => :in_company,in_designation => :in_designation,in_emailid => :in_emailid,in_firstname => :in_firstname,in_lastname => :in_lastname,in_flatphone => :in_flatphone,in_phone => :in_phone,in_prospectaccountid => :in_prospectaccountid,in_prospectstageid => :in_prospectstageid,in_prospectstate => :in_prospectstate,in_prospectstatus => :in_prospectstatus,in_timezone => :in_timezone,in_ianatimezone => :in_ianatimezone,in_userid => :in_userid,in_prospectpersonalize => :in_prospectpersonalize,out_prospectid => :out_prospectid);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838133211500}'], +// 0, +// ], +// [ +// 1646889838137, +// 'dc8ffb8b2436884f', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '5917400', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_updateprospectemailandphonefields(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_email => :in_email,in_phone => :in_phone,in_flatphone => :in_flatphone,in_phone_ext => :in_phone_ext,out_status => :out_status);', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838143545400}'], +// 0, +// ], +// [ +// 1646889838144, +// '177a565deb37eace', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2714800', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_insertevent(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventdata => :in_eventdata,in_source => :in_source,in_prospectid => :in_prospectid,in_status => :in_status,out_queueid => :out_queueid);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838146855000}'], +// 0, +// ], +// [ +// 1646889838147, +// 'b5af1ce22982a648', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1990900', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getevent(in_eventqueueid => :in_eventqueueid, p_refcur => \'OP_EventQueueTBL\');\nfetch all in "OP_EventQueueTBL";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838149478600}'], +// 0, +// ], +// [ +// 1646889838148, +// 'b629feffd284bf52', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2497900', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getdeletedpipedrivemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_PipedriveProspectMappingTBL\');\nfetch all in "OP_PipedriveProspectMappingTBL";', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838150768200}'], +// 0, +// ], +// [ +// 1646889838149, +// 'ae70780222b1a85f', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3043300', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getprospectbyid(in_accountid => :in_accountid,in_prospectid => :in_prospectid, p_refcur => \'P_GetProspectByEmail_Result\');\nfetch all in "P_GetProspectByEmail_Result";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838152450400}'], +// 0, +// ], +// [ +// 1646889838152, +// '2ced38c1a74aa5e7', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '9824100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getdeletedsalesforcemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_SalesforceProspectMappingTBL\');\nfetch all in "OP_SalesforceProspectMappingTBL";', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838154373500}'], +// 0, +// ], +// [ +// 1646889838178, +// '45f2c3d6425d19c7', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3579000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getprospect(in_prospectid => :in_prospectid, p_refcur => \'OP_ProspectTBL\');\nfetch all in "OP_ProspectTBL";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838181761500}'], +// 0, +// ], +// [ +// 1646889838183, +// 'c97e7ca9752cd471', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '6114100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_set_prospect_timezone(in_prospectid => :in_prospectid, p_refcur => \'P_GetTimeZoneByAddress\');\nfetch all in "P_GetTimeZoneByAddress";', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838189280300}'], +// 0, +// ], +// [ +// 1646889838195, +// '95fd26ce60f569bf', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1907700', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.id, o.accountid, o.createddate, o.extension, o.flatphonenumber, o.modifieddate, o.name, o.phonenumber, o.prospectid, o.status\nFROM public.op_prospectphonetbl AS o\nWHERE (o.prospectid = @__prospectObj_ProspectID_0) AND ((o.status <> 2) OR (o.status IS NULL))', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838197678000}'], +// 0, +// ], +// [ +// 1646889838199, +// '147383bc59b9c2cf', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1499600', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.configid, o.configdescription, o.configkey, o.configvalue, o.createddate, o.modifieddate, o.userid\nFROM public.op_userconfigurationtbl AS o\nWHERE (o.userid = @__userid_0) AND (o.configkey = @__configType_1)\nLIMIT @__p_2', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838200636900}'], +// 0, +// ], +// [ +// 1646889838201, +// '40fd379521f01756', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1467100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_checkactivitybyeventqueueid(in_eventqueueid => :in_eventqueueid,out_count => :out_count);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838202515900}'], +// 0, +// ], +// [ +// 1646889838187, +// '68a4237b9241b5a0', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '17832000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getprospectdetails(in_prospectid => :in_prospectid,in_accountid => :in_accountid, p_refcur => \'P_GetProspectDetails_Result\', p_refcur_2 => \'P_GetProspectInfo_Result1\', p_refcur_3 => \'P_GetProspectInfo_Result2\', p_refcur_4 => \'P_GetProspect_CRMInfo\');\nfetch all in "P_GetProspectDetails_Result";\nfetch all in "P_GetProspectInfo_Result1";\nfetch all in "P_GetProspectInfo_Result2";\nfetch all in "P_GetProspect_CRMInfo";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838200328100}'], +// 0, +// ], +// [ +// 1646889838202, +// '9185cd8ff7de9908', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2990500', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_insertprospectactivity(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventqueueid => :in_eventqueueid,in_eventdata => :in_eventdata,in_activitystatus => :in_activitystatus,in_prospectid => :in_prospectid,in_sequenceid => :in_sequenceid,in_eventdate => :in_eventdate,in_prospectaccountid => :in_prospectaccountid,in_opportunityid => :in_opportunityid,out_activityid => :out_activityid);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838205641800}'], +// 0, +// ], +// [ +// 1646889838207, +// 'cdd579621ca07186', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '4025000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838211245300}'], +// 0, +// ], +// [ +// 1646889838211, +// '373a845e42901531', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3521200', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838215456700}'], +// 0, +// ], +// [ +// 1646889838216, +// '24119f33bee8138c', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1399100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE o.userid = @__p_0\nLIMIT 1', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838217596800}'], +// 0, +// ], +// [ +// 1646889838216, +// '476a3de318952509', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2955700', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838219254500}'], +// 0, +// ], +// [ +// 1646889838215, +// '21690bfa41551adf', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '4407100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT COUNT(*)::INT\nFROM public.op_triggeractivitytbl AS o\nWHERE o.eventqueueid = @__eventObj_EventQueueID_0', +// '1013446', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838220011700}'], +// 0, +// ], +// [ +// 1646889838218, +// '0cfe691d44c833cf', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2352300', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.webhookid, o.accountid, o.createddate, o.modifieddate, o.webhookchannel, o.webhookheaders, o.webhookpayload, o.webhookstatus, o.webhooktypeid, o.webhookurl\nFROM public.op_accountwebhooktbl AS o\nINNER JOIN public.op_webhooktypetbl AS o0 ON o.webhooktypeid = o0.webhooktypeid\nWHERE ((o.accountid = @__eventObj_AccountID_0) AND (o0.eventtype = @__eventObj_EventTypeID_1)) AND (o.webhookstatus = 1)', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838221057600}'], +// 0, +// ], +// [ +// 1646889838219, +// '8615135e316098df', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2276600', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838222035800}'], +// 0, +// ], +// [ +// 1646889838220, +// '1627c39faf31a19b', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2676800', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.triggerid, o.accountid, o.condition, o.createddate, o.lastexecutiondate, o.modifieddate, o.name, o.triggerorder, o.triggerperprospect, o.triggerstatus, o.triggertypeid, o.userid\nFROM public.op_triggertbl AS o\nINNER JOIN public.op_triggertypetbl AS o0 ON o.triggertypeid = o0.triggertypeid\nWHERE ((o0.eventtypeid = @__eventTypeID_0) AND (o.triggerstatus = 1)) AND (o.accountid = @__accountid_1)\nORDER BY o.triggerorder', +// '1013446', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838223193600}'], +// 0, +// ], +// [ +// 1646889838220, +// '52ee8f8600be260b', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '6587600', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', +// '1013447', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838227474000}'], +// 0, +// ], +// [ +// 1646889838228, +// '9b1d5b562e0d724f', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1452000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838229774600}'], +// 0, +// ], +// [ +// 1646889838230, +// '9b1137cea4a85786', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1602000', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.salesforceapilimitid, o.accountid, o.createddate, o.integrationid, o.modifieddate, o.outplayapilimit, o.outplayapiusage, o.salesforceapilimit, o.salesforceapiusage, o.totalapilimit\nFROM public.op_salesforceapilimittbl AS o\nINNER JOIN public.op_crmintegrationtbl AS o0 ON o.integrationid = o0.integrationid\nWHERE (o0.integrationstatus = 1) AND (o.accountid = @__accountid_0)\nLIMIT 1', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838232318800}'], +// 0, +// ], +// [ +// 1646889838231, +// '3020ccc6e94b2392', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '5172200', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', +// '1013448', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838236166500}'], +// 0, +// ], +// [ +// 1646889838231, +// 'c4a3d4fda61969a9', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '5009300', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', +// '1013449', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838236663600}'], +// 0, +// ], +// [ +// 1646889838236, +// '02a7e426aba2418e', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '32794600', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', +// '1013446', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838269441300}'], +// 0, +// ], +// [ +// 1646889838237, +// 'dfdc413da3f51476', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '32338700', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', +// '1013447', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838269439300}'], +// 0, +// ], +// [ +// 1646889838269, +// '4a98402484fbd643', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3175900', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'CALL public.p_update_eventqueue(in_eventid => :in_eventid,in_status => :in_status,out_updatestatus => :out_updatestatus);', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889838273156300}'], +// 0, +// ], +// [ +// 1646889836004, +// 'fab9f1fbac981caf', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1667100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o\nWHERE o.fieldstatus <> 2', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889836006336900}'], +// 0, +// ], +// [ +// 1646889836010, +// 'e4384acbc099c74c', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1827300', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.accountid = @__accountid_0) AND (o.fieldstatus = 1)', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889836011901600}'], +// 0, +// ], +// [ +// 1646889835948, +// 'a6813fc088f50383', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '6768500', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.accountid, o.userid, o1.accountname, o.clientname\nFROM public.op_accountcredentialtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_accounttbl AS o1 ON o.accountid = o1.accountid\nWHERE (((o.clientid = @__clientId_0) AND (o.clientsecret = @__clientSecret_1)) AND (o.clientstatus = 1)) AND (o0.userstatus = 1)\nLIMIT 1', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889835955196000}'], +// 0, +// ], +// [ +// 1646889835956, +// '3f67ae7582228e2c', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2733600', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.accountdomainid, o.accountid, o.approvalstatus, o.certificatename, o.createddate, o.customdomain, o.message, o.modifieddate\nFROM public.op_accountdomaintbl AS o\nWHERE (o.accountid = @__accountID_0) AND (o.approvalstatus = 1)', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889835959191400}'], +// 0, +// ], +// [ +// 1646889835959, +// '4a1f855fee4d69c6', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '1783100', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.accountid, o.accountkey, o.accountname, o.address, o.apidaylimit, o.automailenabled, o.chatbilling, o.chatenabled, o.chatintegrated, o.chatwebsitedomain, o.city, o.companyname, o.country, o.createddate, o.fallbacknumber, o.hostingregion, o.istrialperiod, o.linktrackingenabled, o.migratedlocationcode, o.modifieddate, o.observers, o.postalcode, o.productdescription, o.productname, o.state, o.stripecustomerid, o.subdomain, o.subscriptionenddate, o.subscriptionplan, o.teamsize, o.trailenddate\nFROM public.op_accounttbl AS o\nWHERE o.accountid = @__accountID_0', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889835961003900}'], +// 0, +// ], +// [ +// 1646889835961, +// '3921dba8d18e9e62', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '2318900', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE (o.accountid = @__account_accountid_0) AND (o.accountusertype = 1)', +// '1013371', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889835963540900}'], +// 0, +// ], +// [ +// 1646889835988, +// '9756e6aaca5836e3', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// 'db_outplay_prd_us1', +// '3', +// '3921700', +// [ +// 'db.system', +// 'db.connection_string', +// 'db.user', +// 'db.name', +// 'db.statement', +// 'db.connection_id', +// 'net.transport', +// 'net.peer.ip', +// 'net.peer.name', +// 'peer.service', +// ], +// [ +// 'postgresql', +// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', +// 'opuser', +// 'db_outplay_prd_us1', +// 'SELECT o.accountteamid, o.accountid, o.createddate, o.modifieddate, o.roleid, o.teamuserstatus, o.userid, o2.accountid, o2.accountkey, o2.accountname, o2.address, o2.apidaylimit, o2.automailenabled, o2.chatbilling, o2.chatenabled, o2.chatintegrated, o2.chatwebsitedomain, o2.city, o2.companyname, o2.country, o2.createddate, o2.fallbacknumber, o2.hostingregion, o2.istrialperiod, o2.linktrackingenabled, o2.migratedlocationcode, o2.modifieddate, o2.observers, o2.postalcode, o2.productdescription, o2.productname, o2.state, o2.stripecustomerid, o2.subdomain, o2.subscriptionenddate, o2.subscriptionplan, o2.teamsize, o2.trailenddate, o0.userid, o0.accountid, o0.accountusertype, o0.apikey, o0.company, o0.createddate, o0.designation, o0.displaypicture, o0.emailid, o0.firstname, o0.ianatimezone, o0.lastaccessdate, o0.lastname, o0.modifieddate, o0.phonenumber, o0.registereddate, o0.timezone, o0.title, o0.userstatus, o0.verificationnumber, o1.roleid, o1.accountid, o1.createddate, o1.description, o1.isdefault, o1.modifieddate, o1.rolename, o1.rolepermissions, o1.rolestatus\nFROM public.op_accountteamtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_roletbl AS o1 ON o.roleid = o1.roleid\nINNER JOIN public.op_accounttbl AS o2 ON o.accountid = o2.accountid\nWHERE (((o0.userid = @__userId_0) AND (o.teamuserstatus = 1)) AND (o0.userstatus = 1)) AND (o1.rolestatus = 1)\nLIMIT 1', +// '1013370', +// 'ip_tcp', +// '172.31.51.147', +// '172.31.51.147', +// '172.31.51.147', +// ], +// [ +// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', +// ], +// ['{"name":"received-first-response","timeUnixNano":1646889835992634300}'], +// 0, +// ], +// [ +// 1646889835933, +// '5db5fbb3892b1187', +// 'b1295a32d306e8ec7eb467be756e0029', +// 'production-api-core-us1', +// '/api/v1/prospect', +// '2', +// '2298353500', +// [ +// 'http.host', +// 'http.method', +// 'http.target', +// 'http.url', +// 'http.user_agent', +// 'apiPath', +// 'http.route', +// 'http.status_code', +// 'responseType', +// ], +// [ +// 'us1-api.outplayhq.com', +// 'POST', +// '/api/v1/prospect', +// 'http://us1-api.outplayhq.com/api/v1/prospect?client_id=SIYn5FZiKXVFij05nTQa%2Bw%3D%3D', +// 'Pabbly Connect', +// '/api/v1/prospect', +// 'api/v1/prospect', +// '200', +// 'application/json; charset=utf-8', +// ], +// ['{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=, RefType=CHILD_OF}'], +// [], +// 0, +// ], +// ], +// }, +// ]; diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx index ebe2ea2559..19f9562a3d 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx @@ -1,7 +1,9 @@ -import { Button, Modal, Collapse } from 'antd'; +import { Button, Collapse, Modal } from 'antd'; import useThemeMode from 'hooks/useThemeMode'; +import { keys, map } from 'lodash-es'; import React, { useRef, useState } from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; + import { CustomSubText, CustomSubTitle } from './styles'; // import Editor from 'components/Editor'; @@ -23,9 +25,8 @@ const ErrorTag = ({ event }: ErrorTagProps) => { return ( <> - {event?.map(({ attributeMap, name }) => { - const attributes = Object.keys(attributeMap); - + {map(event, ({ attributeMap, name }) => { + const attributes = keys(attributeMap); return ( { header={name || attributeMap?.event} key={name || attributeMap.event} > - {attributes.map((event) => { + {map(attributes, (event) => { const value = attributeMap[event]; const isEllipsed = value.length > 24; @@ -62,8 +63,6 @@ const ErrorTag = ({ event }: ErrorTagProps) => { )} - - ); })} diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index 99d693fc85..bc3567bd4a 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -17,8 +17,9 @@ import styles from './TraceGraph.module.css'; import history from 'lib/history'; import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; import { INTERVAL_UNITS } from './utils'; - +import { Mock_Response } from './MockResponse' const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { + response = Mock_Response const spanServiceColors = useMemo( () => spanServiceNameToColorMapping(response[0].events), [response], From d0723207c3fc5fe789662c99e6b77be071126aca Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 16:38:13 +0530 Subject: [PATCH 15/52] chore: remove mock response --- .../src/container/TraceDetail/MockResponse.ts | 2144 ----------------- frontend/src/container/TraceDetail/index.tsx | 16 +- frontend/src/pages/TraceDetail/index.tsx | 10 +- 3 files changed, 13 insertions(+), 2157 deletions(-) delete mode 100644 frontend/src/container/TraceDetail/MockResponse.ts diff --git a/frontend/src/container/TraceDetail/MockResponse.ts b/frontend/src/container/TraceDetail/MockResponse.ts deleted file mode 100644 index ef45b62c51..0000000000 --- a/frontend/src/container/TraceDetail/MockResponse.ts +++ /dev/null @@ -1,2144 +0,0 @@ -export const Mock_Response = [ - { - columns: [ - '__time', - 'SpanId', - 'TraceId', - 'ServiceName', - 'Name', - 'Kind', - 'DurationNano', - 'TagsKeys', - 'TagsValues', - 'References', - 'Events', - 'HasError', - ], - events: [ - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646811395726, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - '/invalid', - '2', - '2694000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.route', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/invalid', - 'http://::1:5002/invalid', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '57497', - '/invalid', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [ - '{"name":"exception","timeUnixNano":1646811395728655000,"attributeMap":{"exception.escaped":"False","exception.message":"Invalid ","exception.stacktrace":"Traceback (most recent call last):\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/trace/__init__.py\\", line 541, in use_span\\n yield span\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/sdk/trace/__init__.py\\", line 988, in start_as_current_span\\n yield span_context\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/instrumentation/asgi/__init__.py\\", line 346, in __call__\\n await self.app(scope, wrapped_receive, wrapped_send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 82, in __call__\\n raise exc from None\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 71, in __call__\\n await self.app(scope, receive, sender)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 580, in __call__\\n await route.handle(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 241, in handle\\n await self.app(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 52, in app\\n response = await func(request)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 226, in app\\n raw_response = await run_endpoint_function(\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 159, in run_endpoint_function\\n return await dependant.call(**values)\\n File \\"/Users/makeavish/signoz/sample-fastapi-app/app/./main.py\\", line 38, in invalid\\n raise ValueError(\\"Invalid \\")\\nValueError: Invalid \\n","exception.type":"ValueError"},"isError":true}', - ], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - ], - }, -]; -// [ -// { -// columns: [ -// '__time', -// 'SpanId', -// 'TraceId', -// 'ServiceName', -// 'Name', -// 'Kind', -// 'DurationNano', -// 'TagsKeys', -// 'TagsValues', -// 'References', -// 'Events', -// 'HasError', -// ], -// events: [ -// [ -// 1646889838095, -// 'f7e01a1f2eefdd18', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2015400', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.isrequired AND (o.accountid = @__8__locals1_accountid_0)) AND (o.fieldstatus = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838097793500}'], -// 0, -// ], -// [ -// 1646889838099, -// 'd65333b5fd6c96c0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2752000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.id, o.accountid, o.fieldid, o.isrequired\nFROM public.op_prospectdefaultfieldtbl AS o\nWHERE o.accountid = @__accountid_0', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838101810600}'], -// 0, -// ], -// [ -// 1646889838102, -// 'e81ae73f4b2f43f6', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3298500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838105156100}'], -// 0, -// ], -// [ -// 1646889838106, -// 'b51335df380ef7c2', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4363100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_checkprospectemailexists(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_emailid => :in_emailid,out_count => :out_count);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838111245300}'], -// 0, -// ], -// [ -// 1646889838115, -// '78c4dbd0592d15a0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2289500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT COUNT(*)::INT\nFROM public.op_blacklistdomaintbl AS o\nWHERE ((o.accountid = @__8__locals1_accountid_0) AND (o.blackliststatus = 1)) AND (lower(o.domain) = @__domain_1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838118002500}'], -// 0, -// ], -// [ -// 1646889838118, -// '46b5119b295f541f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '14266300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertprospect(in_accountid => :in_accountid,in_company => :in_company,in_designation => :in_designation,in_emailid => :in_emailid,in_firstname => :in_firstname,in_lastname => :in_lastname,in_flatphone => :in_flatphone,in_phone => :in_phone,in_prospectaccountid => :in_prospectaccountid,in_prospectstageid => :in_prospectstageid,in_prospectstate => :in_prospectstate,in_prospectstatus => :in_prospectstatus,in_timezone => :in_timezone,in_ianatimezone => :in_ianatimezone,in_userid => :in_userid,in_prospectpersonalize => :in_prospectpersonalize,out_prospectid => :out_prospectid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838133211500}'], -// 0, -// ], -// [ -// 1646889838137, -// 'dc8ffb8b2436884f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5917400', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_updateprospectemailandphonefields(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_email => :in_email,in_phone => :in_phone,in_flatphone => :in_flatphone,in_phone_ext => :in_phone_ext,out_status => :out_status);', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838143545400}'], -// 0, -// ], -// [ -// 1646889838144, -// '177a565deb37eace', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2714800', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertevent(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventdata => :in_eventdata,in_source => :in_source,in_prospectid => :in_prospectid,in_status => :in_status,out_queueid => :out_queueid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838146855000}'], -// 0, -// ], -// [ -// 1646889838147, -// 'b5af1ce22982a648', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1990900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getevent(in_eventqueueid => :in_eventqueueid, p_refcur => \'OP_EventQueueTBL\');\nfetch all in "OP_EventQueueTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838149478600}'], -// 0, -// ], -// [ -// 1646889838148, -// 'b629feffd284bf52', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2497900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getdeletedpipedrivemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_PipedriveProspectMappingTBL\');\nfetch all in "OP_PipedriveProspectMappingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838150768200}'], -// 0, -// ], -// [ -// 1646889838149, -// 'ae70780222b1a85f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3043300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospectbyid(in_accountid => :in_accountid,in_prospectid => :in_prospectid, p_refcur => \'P_GetProspectByEmail_Result\');\nfetch all in "P_GetProspectByEmail_Result";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838152450400}'], -// 0, -// ], -// [ -// 1646889838152, -// '2ced38c1a74aa5e7', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '9824100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getdeletedsalesforcemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_SalesforceProspectMappingTBL\');\nfetch all in "OP_SalesforceProspectMappingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838154373500}'], -// 0, -// ], -// [ -// 1646889838178, -// '45f2c3d6425d19c7', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3579000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospect(in_prospectid => :in_prospectid, p_refcur => \'OP_ProspectTBL\');\nfetch all in "OP_ProspectTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838181761500}'], -// 0, -// ], -// [ -// 1646889838183, -// 'c97e7ca9752cd471', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6114100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_set_prospect_timezone(in_prospectid => :in_prospectid, p_refcur => \'P_GetTimeZoneByAddress\');\nfetch all in "P_GetTimeZoneByAddress";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838189280300}'], -// 0, -// ], -// [ -// 1646889838195, -// '95fd26ce60f569bf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1907700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.id, o.accountid, o.createddate, o.extension, o.flatphonenumber, o.modifieddate, o.name, o.phonenumber, o.prospectid, o.status\nFROM public.op_prospectphonetbl AS o\nWHERE (o.prospectid = @__prospectObj_ProspectID_0) AND ((o.status <> 2) OR (o.status IS NULL))', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838197678000}'], -// 0, -// ], -// [ -// 1646889838199, -// '147383bc59b9c2cf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1499600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.configid, o.configdescription, o.configkey, o.configvalue, o.createddate, o.modifieddate, o.userid\nFROM public.op_userconfigurationtbl AS o\nWHERE (o.userid = @__userid_0) AND (o.configkey = @__configType_1)\nLIMIT @__p_2', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838200636900}'], -// 0, -// ], -// [ -// 1646889838201, -// '40fd379521f01756', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1467100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_checkactivitybyeventqueueid(in_eventqueueid => :in_eventqueueid,out_count => :out_count);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838202515900}'], -// 0, -// ], -// [ -// 1646889838187, -// '68a4237b9241b5a0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '17832000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospectdetails(in_prospectid => :in_prospectid,in_accountid => :in_accountid, p_refcur => \'P_GetProspectDetails_Result\', p_refcur_2 => \'P_GetProspectInfo_Result1\', p_refcur_3 => \'P_GetProspectInfo_Result2\', p_refcur_4 => \'P_GetProspect_CRMInfo\');\nfetch all in "P_GetProspectDetails_Result";\nfetch all in "P_GetProspectInfo_Result1";\nfetch all in "P_GetProspectInfo_Result2";\nfetch all in "P_GetProspect_CRMInfo";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838200328100}'], -// 0, -// ], -// [ -// 1646889838202, -// '9185cd8ff7de9908', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2990500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertprospectactivity(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventqueueid => :in_eventqueueid,in_eventdata => :in_eventdata,in_activitystatus => :in_activitystatus,in_prospectid => :in_prospectid,in_sequenceid => :in_sequenceid,in_eventdate => :in_eventdate,in_prospectaccountid => :in_prospectaccountid,in_opportunityid => :in_opportunityid,out_activityid => :out_activityid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838205641800}'], -// 0, -// ], -// [ -// 1646889838207, -// 'cdd579621ca07186', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4025000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838211245300}'], -// 0, -// ], -// [ -// 1646889838211, -// '373a845e42901531', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3521200', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838215456700}'], -// 0, -// ], -// [ -// 1646889838216, -// '24119f33bee8138c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1399100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE o.userid = @__p_0\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838217596800}'], -// 0, -// ], -// [ -// 1646889838216, -// '476a3de318952509', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2955700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838219254500}'], -// 0, -// ], -// [ -// 1646889838215, -// '21690bfa41551adf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4407100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT COUNT(*)::INT\nFROM public.op_triggeractivitytbl AS o\nWHERE o.eventqueueid = @__eventObj_EventQueueID_0', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838220011700}'], -// 0, -// ], -// [ -// 1646889838218, -// '0cfe691d44c833cf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2352300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.webhookid, o.accountid, o.createddate, o.modifieddate, o.webhookchannel, o.webhookheaders, o.webhookpayload, o.webhookstatus, o.webhooktypeid, o.webhookurl\nFROM public.op_accountwebhooktbl AS o\nINNER JOIN public.op_webhooktypetbl AS o0 ON o.webhooktypeid = o0.webhooktypeid\nWHERE ((o.accountid = @__eventObj_AccountID_0) AND (o0.eventtype = @__eventObj_EventTypeID_1)) AND (o.webhookstatus = 1)', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838221057600}'], -// 0, -// ], -// [ -// 1646889838219, -// '8615135e316098df', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2276600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838222035800}'], -// 0, -// ], -// [ -// 1646889838220, -// '1627c39faf31a19b', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2676800', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.triggerid, o.accountid, o.condition, o.createddate, o.lastexecutiondate, o.modifieddate, o.name, o.triggerorder, o.triggerperprospect, o.triggerstatus, o.triggertypeid, o.userid\nFROM public.op_triggertbl AS o\nINNER JOIN public.op_triggertypetbl AS o0 ON o.triggertypeid = o0.triggertypeid\nWHERE ((o0.eventtypeid = @__eventTypeID_0) AND (o.triggerstatus = 1)) AND (o.accountid = @__accountid_1)\nORDER BY o.triggerorder', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838223193600}'], -// 0, -// ], -// [ -// 1646889838220, -// '52ee8f8600be260b', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6587600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013447', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838227474000}'], -// 0, -// ], -// [ -// 1646889838228, -// '9b1d5b562e0d724f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1452000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838229774600}'], -// 0, -// ], -// [ -// 1646889838230, -// '9b1137cea4a85786', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1602000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.salesforceapilimitid, o.accountid, o.createddate, o.integrationid, o.modifieddate, o.outplayapilimit, o.outplayapiusage, o.salesforceapilimit, o.salesforceapiusage, o.totalapilimit\nFROM public.op_salesforceapilimittbl AS o\nINNER JOIN public.op_crmintegrationtbl AS o0 ON o.integrationid = o0.integrationid\nWHERE (o0.integrationstatus = 1) AND (o.accountid = @__accountid_0)\nLIMIT 1', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838232318800}'], -// 0, -// ], -// [ -// 1646889838231, -// '3020ccc6e94b2392', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5172200', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013448', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838236166500}'], -// 0, -// ], -// [ -// 1646889838231, -// 'c4a3d4fda61969a9', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5009300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013449', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838236663600}'], -// 0, -// ], -// [ -// 1646889838236, -// '02a7e426aba2418e', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '32794600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838269441300}'], -// 0, -// ], -// [ -// 1646889838237, -// 'dfdc413da3f51476', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '32338700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013447', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838269439300}'], -// 0, -// ], -// [ -// 1646889838269, -// '4a98402484fbd643', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3175900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_update_eventqueue(in_eventid => :in_eventid,in_status => :in_status,out_updatestatus => :out_updatestatus);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838273156300}'], -// 0, -// ], -// [ -// 1646889836004, -// 'fab9f1fbac981caf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1667100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o\nWHERE o.fieldstatus <> 2', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889836006336900}'], -// 0, -// ], -// [ -// 1646889836010, -// 'e4384acbc099c74c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1827300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.accountid = @__accountid_0) AND (o.fieldstatus = 1)', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889836011901600}'], -// 0, -// ], -// [ -// 1646889835948, -// 'a6813fc088f50383', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6768500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountid, o.userid, o1.accountname, o.clientname\nFROM public.op_accountcredentialtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_accounttbl AS o1 ON o.accountid = o1.accountid\nWHERE (((o.clientid = @__clientId_0) AND (o.clientsecret = @__clientSecret_1)) AND (o.clientstatus = 1)) AND (o0.userstatus = 1)\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835955196000}'], -// 0, -// ], -// [ -// 1646889835956, -// '3f67ae7582228e2c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2733600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountdomainid, o.accountid, o.approvalstatus, o.certificatename, o.createddate, o.customdomain, o.message, o.modifieddate\nFROM public.op_accountdomaintbl AS o\nWHERE (o.accountid = @__accountID_0) AND (o.approvalstatus = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835959191400}'], -// 0, -// ], -// [ -// 1646889835959, -// '4a1f855fee4d69c6', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1783100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountid, o.accountkey, o.accountname, o.address, o.apidaylimit, o.automailenabled, o.chatbilling, o.chatenabled, o.chatintegrated, o.chatwebsitedomain, o.city, o.companyname, o.country, o.createddate, o.fallbacknumber, o.hostingregion, o.istrialperiod, o.linktrackingenabled, o.migratedlocationcode, o.modifieddate, o.observers, o.postalcode, o.productdescription, o.productname, o.state, o.stripecustomerid, o.subdomain, o.subscriptionenddate, o.subscriptionplan, o.teamsize, o.trailenddate\nFROM public.op_accounttbl AS o\nWHERE o.accountid = @__accountID_0', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835961003900}'], -// 0, -// ], -// [ -// 1646889835961, -// '3921dba8d18e9e62', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2318900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE (o.accountid = @__account_accountid_0) AND (o.accountusertype = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835963540900}'], -// 0, -// ], -// [ -// 1646889835988, -// '9756e6aaca5836e3', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3921700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountteamid, o.accountid, o.createddate, o.modifieddate, o.roleid, o.teamuserstatus, o.userid, o2.accountid, o2.accountkey, o2.accountname, o2.address, o2.apidaylimit, o2.automailenabled, o2.chatbilling, o2.chatenabled, o2.chatintegrated, o2.chatwebsitedomain, o2.city, o2.companyname, o2.country, o2.createddate, o2.fallbacknumber, o2.hostingregion, o2.istrialperiod, o2.linktrackingenabled, o2.migratedlocationcode, o2.modifieddate, o2.observers, o2.postalcode, o2.productdescription, o2.productname, o2.state, o2.stripecustomerid, o2.subdomain, o2.subscriptionenddate, o2.subscriptionplan, o2.teamsize, o2.trailenddate, o0.userid, o0.accountid, o0.accountusertype, o0.apikey, o0.company, o0.createddate, o0.designation, o0.displaypicture, o0.emailid, o0.firstname, o0.ianatimezone, o0.lastaccessdate, o0.lastname, o0.modifieddate, o0.phonenumber, o0.registereddate, o0.timezone, o0.title, o0.userstatus, o0.verificationnumber, o1.roleid, o1.accountid, o1.createddate, o1.description, o1.isdefault, o1.modifieddate, o1.rolename, o1.rolepermissions, o1.rolestatus\nFROM public.op_accountteamtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_roletbl AS o1 ON o.roleid = o1.roleid\nINNER JOIN public.op_accounttbl AS o2 ON o.accountid = o2.accountid\nWHERE (((o0.userid = @__userId_0) AND (o.teamuserstatus = 1)) AND (o0.userstatus = 1)) AND (o1.rolestatus = 1)\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835992634300}'], -// 0, -// ], -// [ -// 1646889835933, -// '5db5fbb3892b1187', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// '/api/v1/prospect', -// '2', -// '2298353500', -// [ -// 'http.host', -// 'http.method', -// 'http.target', -// 'http.url', -// 'http.user_agent', -// 'apiPath', -// 'http.route', -// 'http.status_code', -// 'responseType', -// ], -// [ -// 'us1-api.outplayhq.com', -// 'POST', -// '/api/v1/prospect', -// 'http://us1-api.outplayhq.com/api/v1/prospect?client_id=SIYn5FZiKXVFij05nTQa%2Bw%3D%3D', -// 'Pabbly Connect', -// '/api/v1/prospect', -// 'api/v1/prospect', -// '200', -// 'application/json; charset=utf-8', -// ], -// ['{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=, RefType=CHILD_OF}'], -// [], -// 0, -// ], -// ], -// }, -// ]; diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index bc3567bd4a..6f96b6462a 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -1,25 +1,25 @@ -import React, { useEffect, useMemo, useState } from 'react'; -import { Col, Divider, Row, Typography, Space, Button } from 'antd'; import { FilterOutlined } from '@ant-design/icons'; +import { Button, Col, Divider, Row, Space, Typography } from 'antd'; import GanttChart from 'container/GantChart'; import { getNodeById } from 'container/GantChart/utils'; import Timeline from 'container/Timeline'; import TraceFlameGraph from 'container/TraceFlameGraph'; import dayjs from 'dayjs'; +import useUrlQuery from 'hooks/useUrlQuery'; import { spanServiceNameToColorMapping } from 'lib/getRandomColor'; -import { getSortedData } from './utils'; +import history from 'lib/history'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useMemo, useState } from 'react'; import { ITraceTree, PayloadProps } from 'types/api/trace/getTraceItem'; import { getSpanTreeMetadata } from 'utils/getSpanTreeMetadata'; import { spanToTreeUtil } from 'utils/spanToTree'; + import SelectedSpanDetails from './SelectedSpanDetails'; -import useUrlQuery from 'hooks/useUrlQuery'; import styles from './TraceGraph.module.css'; -import history from 'lib/history'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import { getSortedData } from './utils'; import { INTERVAL_UNITS } from './utils'; -import { Mock_Response } from './MockResponse' + const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { - response = Mock_Response const spanServiceColors = useMemo( () => spanServiceNameToColorMapping(response[0].events), [response], diff --git a/frontend/src/pages/TraceDetail/index.tsx b/frontend/src/pages/TraceDetail/index.tsx index bf29a5244b..8c3f515877 100644 --- a/frontend/src/pages/TraceDetail/index.tsx +++ b/frontend/src/pages/TraceDetail/index.tsx @@ -1,11 +1,11 @@ -import React from 'react'; -import useFetch from 'hooks/useFetch'; +import { Typography } from 'antd'; import getTraceItem from 'api/trace/getTraceItem'; +import Spinner from 'components/Spinner'; +import TraceDetailContainer from 'container/TraceDetail'; +import useFetch from 'hooks/useFetch'; +import React from 'react'; import { useParams } from 'react-router-dom'; import { Props as TraceDetailProps } from 'types/api/trace/getTraceItem'; -import Spinner from 'components/Spinner'; -import { Typography } from 'antd'; -import TraceDetailContainer from 'container/TraceDetail'; const TraceDetail = (): JSX.Element => { const { id } = useParams(); From 08ca3b784995af0af0435229a181f4afa22aedfb Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Fri, 11 Mar 2022 16:40:48 +0530 Subject: [PATCH 16/52] bug: timeline interval is updated fix: add if condition for timeline interval chore: remove mock response --- frontend/src/container/Timeline/index.tsx | 34 +- .../src/container/TraceDetail/MockResponse.ts | 2144 ----------------- frontend/src/container/TraceDetail/index.tsx | 16 +- frontend/src/pages/TraceDetail/index.tsx | 10 +- 4 files changed, 28 insertions(+), 2176 deletions(-) delete mode 100644 frontend/src/container/TraceDetail/MockResponse.ts diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index d4b7ca756f..ba2e6b418d 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -1,36 +1,25 @@ -import React, { useState, useMemo } from 'react'; -import { isEqual } from 'lodash-es'; +import React, { useState, useMemo, useEffect } from 'react'; import styles from './style.module.css'; import { useMeasure } from 'react-use'; -import { toFixed } from 'utils/toFixed'; -import { - INTERVAL_UNITS, - resolveTimeFromInterval, -} from 'container/TraceDetail/utils'; +import { INTERVAL_UNITS } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; import { Interval } from './types'; import { getIntervalSpread, getIntervals } from './utils'; -interface TimelineProps { - traceMetaData: object; - globalTraceMetadata: object; - intervalUnit: object; - setIntervalUnit: Function; -} + +const Timeline_Height = 22; +const Timeline_H_Spacing = 0; + const Timeline = ({ traceMetaData, globalTraceMetadata, - intervalUnit, setIntervalUnit, }: TimelineProps) => { const [ref, { width }] = useMeasure(); const { isDarkMode } = useThemeMode(); - const Timeline_Height = 22; - const Timeline_H_Spacing = 0; - const [intervals, setIntervals] = useState(null); - useMemo(() => { + useEffect(() => { const { baseInterval, baseSpread, @@ -44,7 +33,7 @@ const Timeline = ({ for (const idx in INTERVAL_UNITS) { const standard_interval = INTERVAL_UNITS[idx]; if (baseSpread * standard_interval.multiplier < 1) { - intervalUnit = INTERVAL_UNITS[idx - 1]; + if (idx > 1) intervalUnit = INTERVAL_UNITS[idx - 1]; break; } } @@ -103,4 +92,11 @@ const Timeline = ({ ); }; +interface TimelineProps { + traceMetaData: object; + globalTraceMetadata: object; + intervalUnit: object; + setIntervalUnit: Function; +} + export default Timeline; diff --git a/frontend/src/container/TraceDetail/MockResponse.ts b/frontend/src/container/TraceDetail/MockResponse.ts deleted file mode 100644 index ef45b62c51..0000000000 --- a/frontend/src/container/TraceDetail/MockResponse.ts +++ /dev/null @@ -1,2144 +0,0 @@ -export const Mock_Response = [ - { - columns: [ - '__time', - 'SpanId', - 'TraceId', - 'ServiceName', - 'Name', - 'Kind', - 'DurationNano', - 'TagsKeys', - 'TagsValues', - 'References', - 'Events', - 'HasError', - ], - events: [ - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - [ - 1646811395726, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - '/invalid', - '2', - '2694000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.route', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/invalid', - 'http://::1:5002/invalid', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '57497', - '/invalid', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [ - '{"name":"exception","timeUnixNano":1646811395728655000,"attributeMap":{"exception.escaped":"False","exception.message":"Invalid ","exception.stacktrace":"Traceback (most recent call last):\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/trace/__init__.py\\", line 541, in use_span\\n yield span\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/sdk/trace/__init__.py\\", line 988, in start_as_current_span\\n yield span_context\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/opentelemetry/instrumentation/asgi/__init__.py\\", line 346, in __call__\\n await self.app(scope, wrapped_receive, wrapped_send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 82, in __call__\\n raise exc from None\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/exceptions.py\\", line 71, in __call__\\n await self.app(scope, receive, sender)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 580, in __call__\\n await route.handle(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 241, in handle\\n await self.app(scope, receive, send)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/starlette/routing.py\\", line 52, in app\\n response = await func(request)\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 226, in app\\n raw_response = await run_endpoint_function(\\n File \\"/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fastapi/routing.py\\", line 159, in run_endpoint_function\\n return await dependant.call(**values)\\n File \\"/Users/makeavish/signoz/sample-fastapi-app/app/./main.py\\", line 38, in invalid\\n raise ValueError(\\"Invalid \\")\\nValueError: Invalid \\n","exception.type":"ValueError"},"isError":true}', - ], - 1, - ], - [ - 1646831185591, - '9b5fd60bda368918', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '363000', - ['http.status_code', 'type'], - ['404', 'http.response.start'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 1, - ], - [ - 1646831185591, - '845989eb14987cc5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET http send', - '1', - '227000', - ['type'], - ['http.response.body'], - [ - '{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=51cf972f6c27e4d5, RefType=CHILD_OF}', - ], - [], - 0, - ], - [ - 1646831185591, - '51cf972f6c27e4d5', - '61505b66655f1c7b2ef16279086619f1', - 'finalFastapiApp3', - 'GET', - '2', - '860000', - [ - 'http.scheme', - 'http.host', - 'net.host.port', - 'http.flavor', - 'http.target', - 'http.url', - 'http.method', - 'http.server_name', - 'http.user_agent', - 'net.peer.ip', - 'net.peer.port', - 'http.status_code', - ], - [ - 'http', - '::1:5002', - '5002', - '1.1', - '/in', - 'http://::1:5002/in', - 'GET', - 'localhost:5002', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15', - '::1', - '59306', - '404', - ], - ['{TraceId=61505b66655f1c7b2ef16279086619f1, SpanId=, RefType=CHILD_OF}'], - [], - 1, - ], - ], - }, -]; -// [ -// { -// columns: [ -// '__time', -// 'SpanId', -// 'TraceId', -// 'ServiceName', -// 'Name', -// 'Kind', -// 'DurationNano', -// 'TagsKeys', -// 'TagsValues', -// 'References', -// 'Events', -// 'HasError', -// ], -// events: [ -// [ -// 1646889838095, -// 'f7e01a1f2eefdd18', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2015400', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.isrequired AND (o.accountid = @__8__locals1_accountid_0)) AND (o.fieldstatus = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838097793500}'], -// 0, -// ], -// [ -// 1646889838099, -// 'd65333b5fd6c96c0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2752000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.id, o.accountid, o.fieldid, o.isrequired\nFROM public.op_prospectdefaultfieldtbl AS o\nWHERE o.accountid = @__accountid_0', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838101810600}'], -// 0, -// ], -// [ -// 1646889838102, -// 'e81ae73f4b2f43f6', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3298500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838105156100}'], -// 0, -// ], -// [ -// 1646889838106, -// 'b51335df380ef7c2', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4363100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_checkprospectemailexists(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_emailid => :in_emailid,out_count => :out_count);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838111245300}'], -// 0, -// ], -// [ -// 1646889838115, -// '78c4dbd0592d15a0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2289500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT COUNT(*)::INT\nFROM public.op_blacklistdomaintbl AS o\nWHERE ((o.accountid = @__8__locals1_accountid_0) AND (o.blackliststatus = 1)) AND (lower(o.domain) = @__domain_1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838118002500}'], -// 0, -// ], -// [ -// 1646889838118, -// '46b5119b295f541f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '14266300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertprospect(in_accountid => :in_accountid,in_company => :in_company,in_designation => :in_designation,in_emailid => :in_emailid,in_firstname => :in_firstname,in_lastname => :in_lastname,in_flatphone => :in_flatphone,in_phone => :in_phone,in_prospectaccountid => :in_prospectaccountid,in_prospectstageid => :in_prospectstageid,in_prospectstate => :in_prospectstate,in_prospectstatus => :in_prospectstatus,in_timezone => :in_timezone,in_ianatimezone => :in_ianatimezone,in_userid => :in_userid,in_prospectpersonalize => :in_prospectpersonalize,out_prospectid => :out_prospectid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838133211500}'], -// 0, -// ], -// [ -// 1646889838137, -// 'dc8ffb8b2436884f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5917400', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_updateprospectemailandphonefields(in_accountid => :in_accountid,in_prospectid => :in_prospectid,in_email => :in_email,in_phone => :in_phone,in_flatphone => :in_flatphone,in_phone_ext => :in_phone_ext,out_status => :out_status);', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838143545400}'], -// 0, -// ], -// [ -// 1646889838144, -// '177a565deb37eace', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2714800', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertevent(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventdata => :in_eventdata,in_source => :in_source,in_prospectid => :in_prospectid,in_status => :in_status,out_queueid => :out_queueid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838146855000}'], -// 0, -// ], -// [ -// 1646889838147, -// 'b5af1ce22982a648', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1990900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getevent(in_eventqueueid => :in_eventqueueid, p_refcur => \'OP_EventQueueTBL\');\nfetch all in "OP_EventQueueTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838149478600}'], -// 0, -// ], -// [ -// 1646889838148, -// 'b629feffd284bf52', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2497900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getdeletedpipedrivemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_PipedriveProspectMappingTBL\');\nfetch all in "OP_PipedriveProspectMappingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838150768200}'], -// 0, -// ], -// [ -// 1646889838149, -// 'ae70780222b1a85f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3043300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospectbyid(in_accountid => :in_accountid,in_prospectid => :in_prospectid, p_refcur => \'P_GetProspectByEmail_Result\');\nfetch all in "P_GetProspectByEmail_Result";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838152450400}'], -// 0, -// ], -// [ -// 1646889838152, -// '2ced38c1a74aa5e7', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '9824100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getdeletedsalesforcemappedprospects(in_accountid => :in_accountid,in_email => :in_email,in_userid => :in_userid, p_refcur => \'OP_SalesforceProspectMappingTBL\');\nfetch all in "OP_SalesforceProspectMappingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838154373500}'], -// 0, -// ], -// [ -// 1646889838178, -// '45f2c3d6425d19c7', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3579000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospect(in_prospectid => :in_prospectid, p_refcur => \'OP_ProspectTBL\');\nfetch all in "OP_ProspectTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838181761500}'], -// 0, -// ], -// [ -// 1646889838183, -// 'c97e7ca9752cd471', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6114100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_set_prospect_timezone(in_prospectid => :in_prospectid, p_refcur => \'P_GetTimeZoneByAddress\');\nfetch all in "P_GetTimeZoneByAddress";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838189280300}'], -// 0, -// ], -// [ -// 1646889838195, -// '95fd26ce60f569bf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1907700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.id, o.accountid, o.createddate, o.extension, o.flatphonenumber, o.modifieddate, o.name, o.phonenumber, o.prospectid, o.status\nFROM public.op_prospectphonetbl AS o\nWHERE (o.prospectid = @__prospectObj_ProspectID_0) AND ((o.status <> 2) OR (o.status IS NULL))', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838197678000}'], -// 0, -// ], -// [ -// 1646889838199, -// '147383bc59b9c2cf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1499600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.configid, o.configdescription, o.configkey, o.configvalue, o.createddate, o.modifieddate, o.userid\nFROM public.op_userconfigurationtbl AS o\nWHERE (o.userid = @__userid_0) AND (o.configkey = @__configType_1)\nLIMIT @__p_2', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838200636900}'], -// 0, -// ], -// [ -// 1646889838201, -// '40fd379521f01756', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1467100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_checkactivitybyeventqueueid(in_eventqueueid => :in_eventqueueid,out_count => :out_count);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838202515900}'], -// 0, -// ], -// [ -// 1646889838187, -// '68a4237b9241b5a0', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '17832000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getprospectdetails(in_prospectid => :in_prospectid,in_accountid => :in_accountid, p_refcur => \'P_GetProspectDetails_Result\', p_refcur_2 => \'P_GetProspectInfo_Result1\', p_refcur_3 => \'P_GetProspectInfo_Result2\', p_refcur_4 => \'P_GetProspect_CRMInfo\');\nfetch all in "P_GetProspectDetails_Result";\nfetch all in "P_GetProspectInfo_Result1";\nfetch all in "P_GetProspectInfo_Result2";\nfetch all in "P_GetProspect_CRMInfo";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838200328100}'], -// 0, -// ], -// [ -// 1646889838202, -// '9185cd8ff7de9908', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2990500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_insertprospectactivity(in_accountid => :in_accountid,in_userid => :in_userid,in_eventtypeid => :in_eventtypeid,in_eventqueueid => :in_eventqueueid,in_eventdata => :in_eventdata,in_activitystatus => :in_activitystatus,in_prospectid => :in_prospectid,in_sequenceid => :in_sequenceid,in_eventdate => :in_eventdate,in_prospectaccountid => :in_prospectaccountid,in_opportunityid => :in_opportunityid,out_activityid => :out_activityid);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838205641800}'], -// 0, -// ], -// [ -// 1646889838207, -// 'cdd579621ca07186', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4025000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838211245300}'], -// 0, -// ], -// [ -// 1646889838211, -// '373a845e42901531', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3521200', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838215456700}'], -// 0, -// ], -// [ -// 1646889838216, -// '24119f33bee8138c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1399100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE o.userid = @__p_0\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838217596800}'], -// 0, -// ], -// [ -// 1646889838216, -// '476a3de318952509', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2955700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838219254500}'], -// 0, -// ], -// [ -// 1646889838215, -// '21690bfa41551adf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '4407100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT COUNT(*)::INT\nFROM public.op_triggeractivitytbl AS o\nWHERE o.eventqueueid = @__eventObj_EventQueueID_0', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838220011700}'], -// 0, -// ], -// [ -// 1646889838218, -// '0cfe691d44c833cf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2352300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.webhookid, o.accountid, o.createddate, o.modifieddate, o.webhookchannel, o.webhookheaders, o.webhookpayload, o.webhookstatus, o.webhooktypeid, o.webhookurl\nFROM public.op_accountwebhooktbl AS o\nINNER JOIN public.op_webhooktypetbl AS o0 ON o.webhooktypeid = o0.webhooktypeid\nWHERE ((o.accountid = @__eventObj_AccountID_0) AND (o0.eventtype = @__eventObj_EventTypeID_1)) AND (o.webhookstatus = 1)', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838221057600}'], -// 0, -// ], -// [ -// 1646889838219, -// '8615135e316098df', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2276600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838222035800}'], -// 0, -// ], -// [ -// 1646889838220, -// '1627c39faf31a19b', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2676800', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.triggerid, o.accountid, o.condition, o.createddate, o.lastexecutiondate, o.modifieddate, o.name, o.triggerorder, o.triggerperprospect, o.triggerstatus, o.triggertypeid, o.userid\nFROM public.op_triggertbl AS o\nINNER JOIN public.op_triggertypetbl AS o0 ON o.triggertypeid = o0.triggertypeid\nWHERE ((o0.eventtypeid = @__eventTypeID_0) AND (o.triggerstatus = 1)) AND (o.accountid = @__accountid_1)\nORDER BY o.triggerorder', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838223193600}'], -// 0, -// ], -// [ -// 1646889838220, -// '52ee8f8600be260b', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6587600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013447', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838227474000}'], -// 0, -// ], -// [ -// 1646889838228, -// '9b1d5b562e0d724f', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1452000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838229774600}'], -// 0, -// ], -// [ -// 1646889838230, -// '9b1137cea4a85786', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1602000', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.salesforceapilimitid, o.accountid, o.createddate, o.integrationid, o.modifieddate, o.outplayapilimit, o.outplayapiusage, o.salesforceapilimit, o.salesforceapiusage, o.totalapilimit\nFROM public.op_salesforceapilimittbl AS o\nINNER JOIN public.op_crmintegrationtbl AS o0 ON o.integrationid = o0.integrationid\nWHERE (o0.integrationstatus = 1) AND (o.accountid = @__accountid_0)\nLIMIT 1', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838232318800}'], -// 0, -// ], -// [ -// 1646889838231, -// '3020ccc6e94b2392', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5172200', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013448', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838236166500}'], -// 0, -// ], -// [ -// 1646889838231, -// 'c4a3d4fda61969a9', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '5009300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getactivecrmtriggersforsync(in_accountid => :in_accountid,in_eventtypeid => :in_eventtypeid,in_integrationtype => :in_integrationtype, p_refcur => \'OP_CRMTriggerActionTBL\');\nfetch all in "OP_CRMTriggerActionTBL";', -// '1013449', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838236663600}'], -// 0, -// ], -// [ -// 1646889838236, -// '02a7e426aba2418e', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '32794600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013446', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838269441300}'], -// 0, -// ], -// [ -// 1646889838237, -// 'dfdc413da3f51476', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '32338700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_getcrmsyncsettings(in_accountid => :in_accountid,in_objecttype => :in_objecttype,in_type => :in_type, p_refcur => \'OP_CRMIntegrationObjectSyncSettingTBL\');\nfetch all in "OP_CRMIntegrationObjectSyncSettingTBL";', -// '1013447', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838269439300}'], -// 0, -// ], -// [ -// 1646889838269, -// '4a98402484fbd643', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3175900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'CALL public.p_update_eventqueue(in_eventid => :in_eventid,in_status => :in_status,out_updatestatus => :out_updatestatus);', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889838273156300}'], -// 0, -// ], -// [ -// 1646889836004, -// 'fab9f1fbac981caf', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1667100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectfieldid, o.createddate, o.fieldname, o.fieldstatus, o.fieldtype, o.modifieddate\nFROM public.op_prospectfieldtbl AS o\nWHERE o.fieldstatus <> 2', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889836006336900}'], -// 0, -// ], -// [ -// 1646889836010, -// 'e4384acbc099c74c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1827300', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.prospectcustomfieldid, o.accountid, o.createddate, o.data, o.fieldname, o.fieldstatus, o.fieldtype, o.lookupfieldmappedto, o.modifieddate, o.isrequired\nFROM public.op_prospectcustomfieldtbl AS o\nWHERE (o.accountid = @__accountid_0) AND (o.fieldstatus = 1)', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889836011901600}'], -// 0, -// ], -// [ -// 1646889835948, -// 'a6813fc088f50383', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '6768500', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountid, o.userid, o1.accountname, o.clientname\nFROM public.op_accountcredentialtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_accounttbl AS o1 ON o.accountid = o1.accountid\nWHERE (((o.clientid = @__clientId_0) AND (o.clientsecret = @__clientSecret_1)) AND (o.clientstatus = 1)) AND (o0.userstatus = 1)\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835955196000}'], -// 0, -// ], -// [ -// 1646889835956, -// '3f67ae7582228e2c', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2733600', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountdomainid, o.accountid, o.approvalstatus, o.certificatename, o.createddate, o.customdomain, o.message, o.modifieddate\nFROM public.op_accountdomaintbl AS o\nWHERE (o.accountid = @__accountID_0) AND (o.approvalstatus = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835959191400}'], -// 0, -// ], -// [ -// 1646889835959, -// '4a1f855fee4d69c6', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '1783100', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountid, o.accountkey, o.accountname, o.address, o.apidaylimit, o.automailenabled, o.chatbilling, o.chatenabled, o.chatintegrated, o.chatwebsitedomain, o.city, o.companyname, o.country, o.createddate, o.fallbacknumber, o.hostingregion, o.istrialperiod, o.linktrackingenabled, o.migratedlocationcode, o.modifieddate, o.observers, o.postalcode, o.productdescription, o.productname, o.state, o.stripecustomerid, o.subdomain, o.subscriptionenddate, o.subscriptionplan, o.teamsize, o.trailenddate\nFROM public.op_accounttbl AS o\nWHERE o.accountid = @__accountID_0', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835961003900}'], -// 0, -// ], -// [ -// 1646889835961, -// '3921dba8d18e9e62', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '2318900', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.userid, o.accountid, o.accountusertype, o.apikey, o.company, o.createddate, o.designation, o.displaypicture, o.emailid, o.firstname, o.ianatimezone, o.lastaccessdate, o.lastname, o.modifieddate, o.phonenumber, o.registereddate, o.timezone, o.title, o.userstatus, o.verificationnumber\nFROM public.op_usertbl AS o\nWHERE (o.accountid = @__account_accountid_0) AND (o.accountusertype = 1)', -// '1013371', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835963540900}'], -// 0, -// ], -// [ -// 1646889835988, -// '9756e6aaca5836e3', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// 'db_outplay_prd_us1', -// '3', -// '3921700', -// [ -// 'db.system', -// 'db.connection_string', -// 'db.user', -// 'db.name', -// 'db.statement', -// 'db.connection_id', -// 'net.transport', -// 'net.peer.ip', -// 'net.peer.name', -// 'peer.service', -// ], -// [ -// 'postgresql', -// 'Host=172.31.51.147;Port=5432;Database=db_outplay_prd_us1;Username=opuser', -// 'opuser', -// 'db_outplay_prd_us1', -// 'SELECT o.accountteamid, o.accountid, o.createddate, o.modifieddate, o.roleid, o.teamuserstatus, o.userid, o2.accountid, o2.accountkey, o2.accountname, o2.address, o2.apidaylimit, o2.automailenabled, o2.chatbilling, o2.chatenabled, o2.chatintegrated, o2.chatwebsitedomain, o2.city, o2.companyname, o2.country, o2.createddate, o2.fallbacknumber, o2.hostingregion, o2.istrialperiod, o2.linktrackingenabled, o2.migratedlocationcode, o2.modifieddate, o2.observers, o2.postalcode, o2.productdescription, o2.productname, o2.state, o2.stripecustomerid, o2.subdomain, o2.subscriptionenddate, o2.subscriptionplan, o2.teamsize, o2.trailenddate, o0.userid, o0.accountid, o0.accountusertype, o0.apikey, o0.company, o0.createddate, o0.designation, o0.displaypicture, o0.emailid, o0.firstname, o0.ianatimezone, o0.lastaccessdate, o0.lastname, o0.modifieddate, o0.phonenumber, o0.registereddate, o0.timezone, o0.title, o0.userstatus, o0.verificationnumber, o1.roleid, o1.accountid, o1.createddate, o1.description, o1.isdefault, o1.modifieddate, o1.rolename, o1.rolepermissions, o1.rolestatus\nFROM public.op_accountteamtbl AS o\nINNER JOIN public.op_usertbl AS o0 ON o.userid = o0.userid\nINNER JOIN public.op_roletbl AS o1 ON o.roleid = o1.roleid\nINNER JOIN public.op_accounttbl AS o2 ON o.accountid = o2.accountid\nWHERE (((o0.userid = @__userId_0) AND (o.teamuserstatus = 1)) AND (o0.userstatus = 1)) AND (o1.rolestatus = 1)\nLIMIT 1', -// '1013370', -// 'ip_tcp', -// '172.31.51.147', -// '172.31.51.147', -// '172.31.51.147', -// ], -// [ -// '{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=5db5fbb3892b1187, RefType=CHILD_OF}', -// ], -// ['{"name":"received-first-response","timeUnixNano":1646889835992634300}'], -// 0, -// ], -// [ -// 1646889835933, -// '5db5fbb3892b1187', -// 'b1295a32d306e8ec7eb467be756e0029', -// 'production-api-core-us1', -// '/api/v1/prospect', -// '2', -// '2298353500', -// [ -// 'http.host', -// 'http.method', -// 'http.target', -// 'http.url', -// 'http.user_agent', -// 'apiPath', -// 'http.route', -// 'http.status_code', -// 'responseType', -// ], -// [ -// 'us1-api.outplayhq.com', -// 'POST', -// '/api/v1/prospect', -// 'http://us1-api.outplayhq.com/api/v1/prospect?client_id=SIYn5FZiKXVFij05nTQa%2Bw%3D%3D', -// 'Pabbly Connect', -// '/api/v1/prospect', -// 'api/v1/prospect', -// '200', -// 'application/json; charset=utf-8', -// ], -// ['{TraceId=b1295a32d306e8ec7eb467be756e0029, SpanId=, RefType=CHILD_OF}'], -// [], -// 0, -// ], -// ], -// }, -// ]; diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index bc3567bd4a..6f96b6462a 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -1,25 +1,25 @@ -import React, { useEffect, useMemo, useState } from 'react'; -import { Col, Divider, Row, Typography, Space, Button } from 'antd'; import { FilterOutlined } from '@ant-design/icons'; +import { Button, Col, Divider, Row, Space, Typography } from 'antd'; import GanttChart from 'container/GantChart'; import { getNodeById } from 'container/GantChart/utils'; import Timeline from 'container/Timeline'; import TraceFlameGraph from 'container/TraceFlameGraph'; import dayjs from 'dayjs'; +import useUrlQuery from 'hooks/useUrlQuery'; import { spanServiceNameToColorMapping } from 'lib/getRandomColor'; -import { getSortedData } from './utils'; +import history from 'lib/history'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useMemo, useState } from 'react'; import { ITraceTree, PayloadProps } from 'types/api/trace/getTraceItem'; import { getSpanTreeMetadata } from 'utils/getSpanTreeMetadata'; import { spanToTreeUtil } from 'utils/spanToTree'; + import SelectedSpanDetails from './SelectedSpanDetails'; -import useUrlQuery from 'hooks/useUrlQuery'; import styles from './TraceGraph.module.css'; -import history from 'lib/history'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import { getSortedData } from './utils'; import { INTERVAL_UNITS } from './utils'; -import { Mock_Response } from './MockResponse' + const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { - response = Mock_Response const spanServiceColors = useMemo( () => spanServiceNameToColorMapping(response[0].events), [response], diff --git a/frontend/src/pages/TraceDetail/index.tsx b/frontend/src/pages/TraceDetail/index.tsx index bf29a5244b..8c3f515877 100644 --- a/frontend/src/pages/TraceDetail/index.tsx +++ b/frontend/src/pages/TraceDetail/index.tsx @@ -1,11 +1,11 @@ -import React from 'react'; -import useFetch from 'hooks/useFetch'; +import { Typography } from 'antd'; import getTraceItem from 'api/trace/getTraceItem'; +import Spinner from 'components/Spinner'; +import TraceDetailContainer from 'container/TraceDetail'; +import useFetch from 'hooks/useFetch'; +import React from 'react'; import { useParams } from 'react-router-dom'; import { Props as TraceDetailProps } from 'types/api/trace/getTraceItem'; -import Spinner from 'components/Spinner'; -import { Typography } from 'antd'; -import TraceDetailContainer from 'container/TraceDetail'; const TraceDetail = (): JSX.Element => { const { id } = useParams(); From 24a4177a73947ce607ff60282a8c5f0c898ef996 Mon Sep 17 00:00:00 2001 From: Pranay Prateek Date: Fri, 11 Mar 2022 18:53:37 +0530 Subject: [PATCH 17/52] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index edbbb81c44..3d031f0ec6 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,12 @@ SigNoz helps developers monitor applications and troubleshoot problems in their ![screenzy-1644432902955](https://user-images.githubusercontent.com/504541/153270713-1b2156e6-ec03-42de-975b-3c02b8ec1836.png) - +
![screenzy-1644432986784](https://user-images.githubusercontent.com/504541/153270725-0efb73b3-06ed-4207-bf13-9b7e2e17c4b8.png) +
+ + +![trace-detail](https://user-images.githubusercontent.com/504541/157875257-b60a275f-8987-4aef-b694-c64f3d6c4473.png)

From 988ce36047ee24b3de2a4b88803eab74500fc353 Mon Sep 17 00:00:00 2001 From: Pranay Prateek Date: Fri, 11 Mar 2022 18:54:28 +0530 Subject: [PATCH 18/52] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 3d031f0ec6..f9c7d1e816 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,7 @@ SigNoz helps developers monitor applications and troubleshoot problems in their
![screenzy-1644432986784](https://user-images.githubusercontent.com/504541/153270725-0efb73b3-06ed-4207-bf13-9b7e2e17c4b8.png)
- - -![trace-detail](https://user-images.githubusercontent.com/504541/157875257-b60a275f-8987-4aef-b694-c64f3d6c4473.png) +![screenzy-1647005040573](https://user-images.githubusercontent.com/504541/157875938-a3d57904-ea6d-4278-b929-bd1408d7f94c.png)

From 84b70c970f5991dd4806c4e8cfa317f6b82ed2ba Mon Sep 17 00:00:00 2001 From: Palash gupta Date: Mon, 14 Mar 2022 20:12:42 +0530 Subject: [PATCH 19/52] chore: eslint fixes are updated --- .../CustomFunctions/uncaughtExpection.ts | 11 +-- .../cypress/integration/rules/index.spec.ts | 8 +- .../cypress/integration/trace/index.spec.ts | 32 ++++--- frontend/src/AppRoutes/index.tsx | 6 +- frontend/src/AppRoutes/routes.ts | 2 +- frontend/src/api/alerts/getGroup.ts | 2 +- frontend/src/api/browser/localstorage/get.ts | 3 +- frontend/src/api/trace/getFilters.ts | 2 +- frontend/src/api/trace/getTraceItem.ts | 2 +- frontend/src/assets/Dashboard/TimeSeries.tsx | 7 +- frontend/src/assets/Dashboard/Value.tsx | 35 ++++---- frontend/src/components/DatePicker/index.tsx | 2 +- .../src/components/Graph/Plugin/Legend.ts | 12 ++- frontend/src/components/Loadable/index.tsx | 4 +- frontend/src/components/RouteTab/index.tsx | 2 +- .../src/container/AllAlertChannels/index.tsx | 2 +- .../src/container/AllAlertChannels/styles.ts | 2 +- frontend/src/container/AppLayout/index.tsx | 5 +- frontend/src/container/AppLayout/styles.ts | 7 -- .../container/GantChart/SpanLength/index.tsx | 19 ++-- .../container/GantChart/SpanName/index.tsx | 5 +- .../container/GantChart/SpanName/styles.ts | 2 +- .../src/container/GantChart/Trace/index.tsx | 79 ++++++++-------- frontend/src/container/GantChart/index.tsx | 25 +++--- frontend/src/container/GantChart/utils.ts | 24 ++--- .../container/GridGraphLayout/Graph/index.tsx | 2 +- .../Header/DateTimeSelection/index.tsx | 2 +- frontend/src/container/Header/index.tsx | 2 +- .../container/ListAlertRules/ListAlert.tsx | 2 +- .../src/container/ListAlertRules/styles.ts | 2 +- .../ListOfDashboard/TableComponents/Name.tsx | 3 +- .../src/container/ListOfDashboard/index.tsx | 2 +- frontend/src/container/MetricsTable/index.tsx | 11 ++- .../NewDashboard/ComponentsSlider/index.tsx | 4 +- .../ComponentsSlider/menuItems.ts | 2 +- .../LeftContainer/QuerySection/Query.tsx | 2 +- frontend/src/container/NewWidget/index.tsx | 19 ++-- frontend/src/container/SideNav/index.tsx | 6 +- frontend/src/container/Timeline/index.tsx | 13 +-- frontend/src/container/Timeline/utils.ts | 24 ++--- .../Panel/PanelBody/Common/Checkbox.tsx | 24 ++--- .../Panel/PanelBody/CommonCheckBox/index.tsx | 1 + .../Panel/PanelBody/Duration/index.tsx | 20 ++--- .../Panel/PanelBody/Duration/styles.ts | 2 +- .../Trace/Filters/Panel/PanelBody/index.tsx | 12 +-- .../Filters/Panel/PanelHeading/index.tsx | 18 ++-- frontend/src/container/Trace/Graph/config.ts | 4 +- frontend/src/container/Trace/Graph/index.tsx | 10 +-- .../Trace/Search/AllTags/Tag/TagKey.tsx | 17 ++-- .../Trace/Search/AllTags/Tag/index.tsx | 30 +++---- .../Trace/Search/AllTags/Tag/styles.ts | 2 +- .../container/Trace/Search/AllTags/index.tsx | 33 +++---- .../container/Trace/Search/AllTags/styles.ts | 2 +- frontend/src/container/Trace/Search/index.tsx | 43 ++++----- frontend/src/container/Trace/Search/styles.ts | 2 +- .../Trace/TraceGraphFilter/index.tsx | 25 +++--- .../Trace/TraceGraphFilter/styles.ts | 1 - .../SelectedSpanDetails/ErrorTag.tsx | 17 ++-- .../TraceDetail/SelectedSpanDetails/index.tsx | 7 +- frontend/src/container/TraceDetail/index.tsx | 31 +++---- frontend/src/container/TraceDetail/utils.ts | 8 +- .../__tests__/TraceFlameGraph.test.tsx | 2 +- .../src/container/TraceFlameGraph/index.tsx | 90 +++++++++---------- .../src/container/TraceFlameGraph/styles.ts | 12 +-- frontend/src/hooks/useClickOutside.ts | 21 ++--- frontend/src/hooks/useDebouncedFunction.ts | 11 ++- frontend/src/hooks/useThemeMode.ts | 2 +- frontend/src/hooks/useUrlQuery.ts | 2 +- frontend/src/lib/getRandomColor.ts | 6 +- .../src/lib/getStartAndEndTime/getMinAgo.ts | 4 +- frontend/src/lib/getStep.ts | 5 +- .../src/lib/query/convertObjectIntoParams.ts | 4 +- .../src/pages/AlertChannelCreate/index.tsx | 2 +- frontend/src/pages/AllAlertChannels/index.tsx | 6 +- frontend/src/pages/CreateAlert/index.tsx | 14 ++- frontend/src/pages/Metrics/index.tsx | 2 +- frontend/src/pages/Settings/index.tsx | 6 +- frontend/src/pages/SignUp/SignUp.tsx | 21 +++-- frontend/src/pages/SignUp/index.tsx | 18 ++-- frontend/src/pages/SignUp/styles.ts | 2 +- frontend/src/pages/Trace/index.tsx | 2 +- frontend/src/pages/Trace/styles.ts | 2 +- frontend/src/pages/TraceDetail/index.tsx | 10 +-- .../actions/dashboard/getQueryResults.ts | 2 +- .../store/actions/metrics/getInitialData.ts | 2 - .../store/actions/trace/getInitialFilter.ts | 31 +++---- frontend/src/store/actions/trace/getSpans.ts | 4 +- .../actions/trace/parseFilter/current.ts | 1 + .../store/actions/trace/parseFilter/filter.ts | 1 + .../trace/parseFilter/filterToFetchData.ts | 3 +- .../store/actions/trace/parseFilter/index.ts | 8 +- .../trace/parseFilter/isFilterExclude.ts | 1 + .../trace/parseFilter/selectedFilter.ts | 1 + .../actions/trace/parseFilter/selectedTags.ts | 1 + .../store/actions/trace/selectTraceFilter.ts | 1 + .../store/actions/trace/updateIsTagsError.ts | 2 +- .../actions/trace/updateTagPanelVisiblity.ts | 2 +- .../store/actions/trace/updateTagsSelected.ts | 2 +- frontend/src/store/actions/trace/util.ts | 11 +-- frontend/src/store/reducers/app.ts | 8 +- frontend/src/store/reducers/trace.ts | 18 ++-- frontend/src/utils/app.ts | 2 +- frontend/src/utils/getSpanTreeMetadata.ts | 13 ++- frontend/src/utils/spanToTree.ts | 2 +- frontend/src/utils/toFixed.ts | 2 +- 105 files changed, 554 insertions(+), 513 deletions(-) diff --git a/frontend/cypress/CustomFunctions/uncaughtExpection.ts b/frontend/cypress/CustomFunctions/uncaughtExpection.ts index 341ddd8cee..dd423208f3 100644 --- a/frontend/cypress/CustomFunctions/uncaughtExpection.ts +++ b/frontend/cypress/CustomFunctions/uncaughtExpection.ts @@ -1,13 +1,10 @@ const resizeObserverLoopErrRe = /ResizeObserver loop limit exceeded/; -const unCaughtExpection = () => { +const unCaughtExpection = (): void => { cy.on('uncaught:exception', (err) => { - if (resizeObserverLoopErrRe.test(err.message)) { - // returning false here prevents Cypress from - // failing the test - return false; - } - return true; + // returning false here prevents Cypress from + // failing the test + return !resizeObserverLoopErrRe.test(err.message); }); }; diff --git a/frontend/cypress/integration/rules/index.spec.ts b/frontend/cypress/integration/rules/index.spec.ts index 0ac59b3052..e5349a33e6 100644 --- a/frontend/cypress/integration/rules/index.spec.ts +++ b/frontend/cypress/integration/rules/index.spec.ts @@ -4,6 +4,8 @@ import ROUTES from 'constants/routes'; import defaultRules from '../../fixtures/defaultRules.json'; +const defaultRuleRoutes = `**/rules/**`; + describe('Alerts', () => { beforeEach(() => { window.localStorage.setItem('isLoggedIn', 'yes'); @@ -21,7 +23,7 @@ describe('Alerts', () => { it('Edit Rules Page Failure', async () => { cy - .intercept('**/rules/**', { + .intercept(defaultRuleRoutes, { statusCode: 500, }) .as('Get Rules Error'); @@ -49,7 +51,7 @@ describe('Alerts', () => { const text = 'this is the sample value'; cy - .intercept('**/rules/**', { + .intercept(defaultRuleRoutes, { statusCode: 200, body: { data: { @@ -103,7 +105,7 @@ describe('Alerts', () => { it('Rules are Deleted', async () => { cy - .intercept('**/rules/**', { + .intercept(defaultRuleRoutes, { body: { data: 'Deleted', message: 'Success', diff --git a/frontend/cypress/integration/trace/index.spec.ts b/frontend/cypress/integration/trace/index.spec.ts index 3ca79ecdce..1cfecef08e 100644 --- a/frontend/cypress/integration/trace/index.spec.ts +++ b/frontend/cypress/integration/trace/index.spec.ts @@ -1,9 +1,15 @@ +/* eslint-disable sonarjs/no-duplicate-string */ import ROUTES from 'constants/routes'; -import { TraceFilterEnum } from 'types/reducer/trace'; -import TableInitialResponse from '../../fixtures/trace/initialSpans.json'; -import FilterInitialResponse from '../../fixtures/trace/initialSpanFilter.json'; -import GraphInitialResponse from '../../fixtures/trace/initialAggregates.json'; import { AppState } from 'store/reducers'; +import { TraceFilterEnum } from 'types/reducer/trace'; + +import GraphInitialResponse from '../../fixtures/trace/initialAggregates.json'; +import FilterInitialResponse from '../../fixtures/trace/initialSpanFilter.json'; +import TableInitialResponse from '../../fixtures/trace/initialSpans.json'; + +const allFilters = '@Filters.all'; +const allGraphs = '@Graph.all'; +const allTable = '@Table.all'; describe('Trace', () => { beforeEach(() => { @@ -74,9 +80,9 @@ describe('Trace', () => { JSON.stringify(TableInitialResponse), ); }); - cy.get('@Filters.all').should('have.length', 1); - cy.get('@Graph.all').should('have.length', 1); - cy.get('@Table.all').should('have.length', 1); + cy.get(allFilters).should('have.length', 1); + cy.get(allGraphs).should('have.length', 1); + cy.get(allTable).should('have.length', 1); }); it('Clear All', () => { @@ -102,9 +108,9 @@ describe('Trace', () => { cy.wait(['@Filters', '@Graph', '@Table']); // insuring the api get call - cy.get('@Filters.all').should('have.length', 2); - cy.get('@Graph.all').should('have.length', 2); - cy.get('@Table.all').should('have.length', 2); + cy.get(allFilters).should('have.length', 2); + cy.get(allGraphs).should('have.length', 2); + cy.get(allTable).should('have.length', 2); cy .window() @@ -146,9 +152,9 @@ describe('Trace', () => { expect(tableBody.exclude[0] === 'status').to.be.true; }); - cy.get('@Filters.all').should('have.length', 2); - cy.get('@Graph.all').should('have.length', 2); - cy.get('@Table.all').should('have.length', 2); + cy.get(allFilters).should('have.length', 2); + cy.get(allGraphs).should('have.length', 2); + cy.get(allTable).should('have.length', 2); }); }); }); diff --git a/frontend/src/AppRoutes/index.tsx b/frontend/src/AppRoutes/index.tsx index 17c56f1d03..7c7b60d90d 100644 --- a/frontend/src/AppRoutes/index.tsx +++ b/frontend/src/AppRoutes/index.tsx @@ -11,7 +11,6 @@ import AppReducer from 'types/reducer/app'; import routes from './routes'; - const App = (): JSX.Element => { const { isLoggedIn } = useSelector((state) => state.app); @@ -20,8 +19,8 @@ const App = (): JSX.Element => { }> - {routes.map(({ path, component, exact }, index) => ( - + {routes.map(({ path, component, exact }) => ( + ))} { ); }; - export default App; diff --git a/frontend/src/AppRoutes/routes.ts b/frontend/src/AppRoutes/routes.ts index fd598b1b2c..474f71f510 100644 --- a/frontend/src/AppRoutes/routes.ts +++ b/frontend/src/AppRoutes/routes.ts @@ -17,8 +17,8 @@ import { ServicesTablePage, SettingsPage, SignupPage, - TraceFilter, TraceDetail, + TraceFilter, UsageExplorerPage, } from './pageComponents'; diff --git a/frontend/src/api/alerts/getGroup.ts b/frontend/src/api/alerts/getGroup.ts index adfd0c18e6..f5e72472d0 100644 --- a/frontend/src/api/alerts/getGroup.ts +++ b/frontend/src/api/alerts/getGroup.ts @@ -1,9 +1,9 @@ import { AxiosAlertManagerInstance } from 'api'; import { ErrorResponseHandler } from 'api/ErrorResponseHandler'; import { AxiosError } from 'axios'; +import convertObjectIntoParams from 'lib/query/convertObjectIntoParams'; import { ErrorResponse, SuccessResponse } from 'types/api'; import { PayloadProps, Props } from 'types/api/alerts/getGroups'; -import convertObjectIntoParams from 'lib/query/convertObjectIntoParams'; const getGroups = async ( props: Props, diff --git a/frontend/src/api/browser/localstorage/get.ts b/frontend/src/api/browser/localstorage/get.ts index e7d5e3da91..026c7a7171 100644 --- a/frontend/src/api/browser/localstorage/get.ts +++ b/frontend/src/api/browser/localstorage/get.ts @@ -1,7 +1,6 @@ const get = (key: string): string | null => { try { - const value = localStorage.getItem(key); - return value; + return localStorage.getItem(key); } catch (e) { return ''; } diff --git a/frontend/src/api/trace/getFilters.ts b/frontend/src/api/trace/getFilters.ts index 6fb484673f..1d18752961 100644 --- a/frontend/src/api/trace/getFilters.ts +++ b/frontend/src/api/trace/getFilters.ts @@ -1,9 +1,9 @@ import axios from 'api'; import { ErrorResponseHandler } from 'api/ErrorResponseHandler'; import { AxiosError } from 'axios'; +import omitBy from 'lodash-es/omitBy'; import { ErrorResponse, SuccessResponse } from 'types/api'; import { PayloadProps, Props } from 'types/api/trace/getFilters'; -import omitBy from 'lodash-es/omitBy'; const getFilters = async ( props: Props, diff --git a/frontend/src/api/trace/getTraceItem.ts b/frontend/src/api/trace/getTraceItem.ts index 1d00340852..bf93269669 100644 --- a/frontend/src/api/trace/getTraceItem.ts +++ b/frontend/src/api/trace/getTraceItem.ts @@ -2,7 +2,7 @@ import axios from 'api'; import { ErrorResponseHandler } from 'api/ErrorResponseHandler'; import { AxiosError } from 'axios'; import { ErrorResponse, SuccessResponse } from 'types/api'; -import { Props, PayloadProps } from 'types/api/trace/getTraceItem'; +import { PayloadProps, Props } from 'types/api/trace/getTraceItem'; const getTraceItem = async ( props: Props, diff --git a/frontend/src/assets/Dashboard/TimeSeries.tsx b/frontend/src/assets/Dashboard/TimeSeries.tsx index 439d99235b..81d9e5de76 100644 --- a/frontend/src/assets/Dashboard/TimeSeries.tsx +++ b/frontend/src/assets/Dashboard/TimeSeries.tsx @@ -1,6 +1,6 @@ import React from 'react'; -const TimeSeries = (props: TimeSeriesProps): JSX.Element => ( +const TimeSeries = (): JSX.Element => ( ( ); -export interface TimeSeriesProps{ - fillColor: React.CSSProperties['color']; -} - - export default TimeSeries; diff --git a/frontend/src/assets/Dashboard/Value.tsx b/frontend/src/assets/Dashboard/Value.tsx index 02a0dda6ca..b8bf1d9572 100644 --- a/frontend/src/assets/Dashboard/Value.tsx +++ b/frontend/src/assets/Dashboard/Value.tsx @@ -1,24 +1,25 @@ import React from 'react'; const Value = (props: ValueProps): JSX.Element => { - return( - - - - - -)}; + return ( + + + + + + ); +}; -interface ValueProps{ +interface ValueProps { fillColor: React.CSSProperties['color']; } diff --git a/frontend/src/components/DatePicker/index.tsx b/frontend/src/components/DatePicker/index.tsx index f76439d9d2..daad8c5e6f 100644 --- a/frontend/src/components/DatePicker/index.tsx +++ b/frontend/src/components/DatePicker/index.tsx @@ -1,6 +1,6 @@ +import generatePicker from 'antd/es/date-picker/generatePicker'; import { Dayjs } from 'dayjs'; import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs'; -import generatePicker from 'antd/es/date-picker/generatePicker'; const DatePicker = generatePicker(dayjsGenerateConfig); diff --git a/frontend/src/components/Graph/Plugin/Legend.ts b/frontend/src/components/Graph/Plugin/Legend.ts index 6c4826e5f7..a2fc684f30 100644 --- a/frontend/src/components/Graph/Plugin/Legend.ts +++ b/frontend/src/components/Graph/Plugin/Legend.ts @@ -1,7 +1,11 @@ -import { Plugin, ChartType, Chart, ChartOptions } from 'chart.js'; +import { Chart, ChartType, Plugin } from 'chart.js'; import { colors } from 'lib/getRandomColor'; -const getOrCreateLegendList = (chart: Chart, id: string, isLonger: boolean) => { +const getOrCreateLegendList = ( + chart: Chart, + id: string, + isLonger: boolean, +): HTMLUListElement => { const legendContainer = document.getElementById(id); let listContainer = legendContainer?.querySelector('ul'); @@ -27,7 +31,7 @@ const getOrCreateLegendList = (chart: Chart, id: string, isLonger: boolean) => { export const legend = (id: string, isLonger: boolean): Plugin => { return { id: 'htmlLegend', - afterUpdate(chart, args, options: ChartOptions) { + afterUpdate(chart): void { const ul = getOrCreateLegendList(chart, id || 'legend', isLonger); // Remove old legend items @@ -46,7 +50,7 @@ export const legend = (id: string, isLonger: boolean): Plugin => { li.style.marginLeft = '10px'; li.style.marginTop = '5px'; - li.onclick = () => { + li.onclick = (): void => { const { type } = chart.config; if (type === 'pie' || type === 'doughnut') { // Pie and doughnut charts only have a single dataset and visibility is per item diff --git a/frontend/src/components/Loadable/index.tsx b/frontend/src/components/Loadable/index.tsx index f1b6774b16..60c794f542 100644 --- a/frontend/src/components/Loadable/index.tsx +++ b/frontend/src/components/Loadable/index.tsx @@ -3,9 +3,7 @@ import { ComponentType, lazy } from 'react'; function Loadable(importPath: { (): LoadableProps; }): React.LazyExoticComponent { - const LazyComponent = lazy(() => importPath()); - - return LazyComponent; + return lazy(() => importPath()); } type LazyComponent = ComponentType>; diff --git a/frontend/src/components/RouteTab/index.tsx b/frontend/src/components/RouteTab/index.tsx index 12ce2d2a70..2ed51b65b8 100644 --- a/frontend/src/components/RouteTab/index.tsx +++ b/frontend/src/components/RouteTab/index.tsx @@ -1,5 +1,5 @@ -import React from 'react'; import { Tabs, TabsProps } from 'antd'; +import React from 'react'; const { TabPane } = Tabs; import history from 'lib/history'; diff --git a/frontend/src/container/AllAlertChannels/index.tsx b/frontend/src/container/AllAlertChannels/index.tsx index c69a41e855..ca40c78254 100644 --- a/frontend/src/container/AllAlertChannels/index.tsx +++ b/frontend/src/container/AllAlertChannels/index.tsx @@ -10,7 +10,7 @@ import React, { useCallback } from 'react'; const { Paragraph } = Typography; import AlertChannlesComponent from './AlertChannels'; -import { ButtonContainer, Button } from './styles'; +import { Button, ButtonContainer } from './styles'; const AlertChannels = (): JSX.Element => { const onToggleHandler = useCallback(() => { diff --git a/frontend/src/container/AllAlertChannels/styles.ts b/frontend/src/container/AllAlertChannels/styles.ts index bfcab1154a..b2d03a4cea 100644 --- a/frontend/src/container/AllAlertChannels/styles.ts +++ b/frontend/src/container/AllAlertChannels/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Button as ButtonComponent } from 'antd'; +import styled from 'styled-components'; export const ButtonContainer = styled.div` &&& { diff --git a/frontend/src/container/AppLayout/index.tsx b/frontend/src/container/AppLayout/index.tsx index b5a47f6c5c..5e0163b355 100644 --- a/frontend/src/container/AppLayout/index.tsx +++ b/frontend/src/container/AppLayout/index.tsx @@ -7,7 +7,7 @@ import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import AppReducer from 'types/reducer/app'; -import { Content, Footer, Layout } from './styles'; +import { Content, Layout } from './styles'; const AppLayout: React.FC = ({ children }) => { const { isLoggedIn } = useSelector((state) => state.app); @@ -27,8 +27,6 @@ const AppLayout: React.FC = ({ children }) => { } }, [isLoggedIn, isSignUpPage]); - const currentYear = new Date().getFullYear(); - return ( {!isSignUpPage && } @@ -37,7 +35,6 @@ const AppLayout: React.FC = ({ children }) => { {!isSignUpPage && } {children} - {/*
{`SigNoz Inc. © ${currentYear}`}
*/}
); diff --git a/frontend/src/container/AppLayout/styles.ts b/frontend/src/container/AppLayout/styles.ts index 3bbd06db34..f3e9d573b0 100644 --- a/frontend/src/container/AppLayout/styles.ts +++ b/frontend/src/container/AppLayout/styles.ts @@ -16,10 +16,3 @@ export const Content = styled(LayoutComponent.Content)` flex-direction: column; } `; - -export const Footer = styled(LayoutComponent.Footer)` - &&& { - text-align: center; - font-size: 0.7rem; - } -`; diff --git a/frontend/src/container/GantChart/SpanLength/index.tsx b/frontend/src/container/GantChart/SpanLength/index.tsx index 38d6d46b4e..890577f379 100644 --- a/frontend/src/container/GantChart/SpanLength/index.tsx +++ b/frontend/src/container/GantChart/SpanLength/index.tsx @@ -1,9 +1,13 @@ import { Tooltip, Typography } from 'antd'; -import React from 'react'; -import { SpanBorder, SpanText, SpanWrapper, SpanLine } from './styles'; -import { toFixed } from 'utils/toFixed' -import { IIntervalUnit, resolveTimeFromInterval } from 'container/TraceDetail/utils'; +import { + IIntervalUnit, + resolveTimeFromInterval, +} from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; +import React from 'react'; +import { toFixed } from 'utils/toFixed'; + +import { SpanBorder, SpanLine, SpanText, SpanWrapper } from './styles'; interface SpanLengthProps { width: string; leftOffset: string; @@ -16,12 +20,15 @@ interface SpanLengthProps { const SpanLength = (props: SpanLengthProps): JSX.Element => { const { width, leftOffset, bgColor, intervalUnit } = props; - const { isDarkMode } = useThemeMode() + const { isDarkMode } = useThemeMode(); return ( - {`${toFixed(resolveTimeFromInterval(props.inMsCount, intervalUnit), 2)} ${intervalUnit.name}`} + {`${toFixed( + resolveTimeFromInterval(props.inMsCount, intervalUnit), + 2, + )} ${intervalUnit.name}`} ); }; diff --git a/frontend/src/container/GantChart/SpanName/index.tsx b/frontend/src/container/GantChart/SpanName/index.tsx index e0614b4600..13e220554a 100644 --- a/frontend/src/container/GantChart/SpanName/index.tsx +++ b/frontend/src/container/GantChart/SpanName/index.tsx @@ -1,11 +1,12 @@ import React from 'react'; + import { + Container, Service, Span, - SpanWrapper, SpanConnector, - Container, SpanName, + SpanWrapper, } from './styles'; const SpanNameComponent = ({ diff --git a/frontend/src/container/GantChart/SpanName/styles.ts b/frontend/src/container/GantChart/SpanName/styles.ts index b037349d7e..642e28f639 100644 --- a/frontend/src/container/GantChart/SpanName/styles.ts +++ b/frontend/src/container/GantChart/SpanName/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Typography } from 'antd'; +import styled from 'styled-components'; export const Span = styled(Typography.Paragraph)` &&& { diff --git a/frontend/src/container/GantChart/Trace/index.tsx b/frontend/src/container/GantChart/Trace/index.tsx index a4d10052b8..4b409a60f7 100644 --- a/frontend/src/container/GantChart/Trace/index.tsx +++ b/frontend/src/container/GantChart/Trace/index.tsx @@ -1,22 +1,25 @@ -import React, { useRef, useState, useEffect } from 'react'; +import { CaretDownFilled, CaretRightFilled } from '@ant-design/icons'; +import { Col, Row } from 'antd'; +import { + IIntervalUnit, + resolveTimeFromInterval, +} from 'container/TraceDetail/utils'; +import useThemeMode from 'hooks/useThemeMode'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useRef, useState } from 'react'; +import { pushDStree } from 'store/actions'; +import { ITraceMetaData } from '..'; +import SpanLength from '../SpanLength'; +import SpanName from '../SpanName'; +import { getMetaDataFromSpanTree, getTopLeftFromBody } from '../utils'; import { CardComponent, CardContainer, CaretContainer, - Wrapper, HoverCard, + Wrapper, } from './styles'; -import { CaretDownFilled, CaretRightFilled } from '@ant-design/icons'; -import SpanLength from '../SpanLength'; -import SpanName from '../SpanName'; -import { pushDStree } from 'store/actions'; -import { getMetaDataFromSpanTree, getTopLeftFromBody } from '../utils'; -import { ITraceMetaData } from '..'; -import { Col, Row } from 'antd'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants' -import { IIntervalUnit, resolveTimeFromInterval } from 'container/TraceDetail/utils'; -import useThemeMode from 'hooks/useThemeMode'; const Trace = (props: TraceProps): JSX.Element => { const { @@ -38,7 +41,7 @@ const Trace = (props: TraceProps): JSX.Element => { intervalUnit, } = props; - const { isDarkMode } = useThemeMode() + const { isDarkMode } = useThemeMode(); const [isOpen, setOpen] = useState(activeSpanPath[level] === id); const localTreeExpandInteraction = useRef(0); // Boolean is for the state of the expansion whereas the number i.e. 0 is for skipping the user interaction. @@ -47,20 +50,18 @@ const Trace = (props: TraceProps): JSX.Element => { if (localTreeExpandInteraction.current !== 0) { setOpen(localTreeExpandInteraction.current); localTreeExpandInteraction.current = 0; + } else if (!isOpen) { + setOpen(activeSpanPath[level] === id); } - else if (!isOpen) { - setOpen(activeSpanPath[level] === id) - } - }, [activeSpanPath, isOpen]) + }, [activeSpanPath, isOpen]); useEffect(() => { if (isExpandAll) { - setOpen(isExpandAll) + setOpen(isExpandAll); + } else { + setOpen(activeSpanPath[level] === id); } - else { - setOpen(activeSpanPath[level] === id) - } - }, [isExpandAll]) + }, [isExpandAll]); const isOnlyChild = props.children.length === 1; const [top, setTop] = useState(0); @@ -69,9 +70,13 @@ const Trace = (props: TraceProps): JSX.Element => { React.useEffect(() => { if (activeSelectedId === id) { - ref.current?.scrollIntoView({ block: 'nearest', behavior: 'auto', inline: 'nearest' }); + ref.current?.scrollIntoView({ + block: 'nearest', + behavior: 'auto', + inline: 'nearest', + }); } - }, [activeSelectedId]) + }, [activeSelectedId]); const onMouseEnterHandler = () => { setActiveHoverId(props.id); @@ -87,18 +92,21 @@ const Trace = (props: TraceProps): JSX.Element => { const onClick = () => { setActiveSelectedId(id); - } + }; const onClickTreeExpansion = (event) => { - event.stopPropagation() - setOpen((state) => { localTreeExpandInteraction.current = !isOpen; return !state }); - } + event.stopPropagation(); + setOpen((state) => { + localTreeExpandInteraction.current = !isOpen; + return !state; + }); + }; const { totalSpans } = getMetaDataFromSpanTree(props); const inMsCount = value; const nodeLeftOffset = ((startTime - globalStart) * 1e2) / globalSpread; const width = (value * 1e2) / (globalSpread * 1e6); - const panelWidth = SPAN_DETAILS_LEFT_COL_WIDTH - (level * (16 + 1)) - 16; + const panelWidth = SPAN_DETAILS_LEFT_COL_WIDTH - level * (16 + 1) - 16; return ( <> @@ -115,17 +123,12 @@ const Trace = (props: TraceProps): JSX.Element => { isDarkMode={isDarkMode} /> - + {totalSpans !== 1 && ( - + {totalSpans} {isOpen ? : } @@ -138,13 +141,13 @@ const Trace = (props: TraceProps): JSX.Element => { - + diff --git a/frontend/src/container/GantChart/index.tsx b/frontend/src/container/GantChart/index.tsx index fa8b37d15a..7c22d29a3b 100644 --- a/frontend/src/container/GantChart/index.tsx +++ b/frontend/src/container/GantChart/index.tsx @@ -1,11 +1,12 @@ +import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons'; +import { IIntervalUnit } from 'container/TraceDetail/utils'; import React, { useEffect, useState } from 'react'; -import Trace from './Trace'; -import { MinusSquareOutlined, PlusSquareOutlined } from '@ant-design/icons' -import { Wrapper, CardWrapper, CardContainer, CollapseButton } from './styles'; -import { getSpanPath } from './utils'; -import { IIntervalUnit } from 'container/TraceDetail/utils' import { ITraceTree } from 'types/api/trace/getTraceItem'; +import { CardContainer, CardWrapper, CollapseButton, Wrapper } from './styles'; +import Trace from './Trace'; +import { getSpanPath } from './utils'; + const GanttChart = (props: GanttChartProps): JSX.Element => { const { data, @@ -15,7 +16,7 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { activeSelectedId, setActiveSelectedId, spanId, - intervalUnit + intervalUnit, } = props; const { globalStart, spread: globalSpread } = traceMetaData; @@ -24,11 +25,11 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { const [activeSpanPath, setActiveSpanPath] = useState([]); useEffect(() => { - setActiveSpanPath(getSpanPath(data, spanId)) + setActiveSpanPath(getSpanPath(data, spanId)); }, [spanId]); useEffect(() => { - setActiveSpanPath(getSpanPath(data, activeSelectedId)) + setActiveSpanPath(getSpanPath(data, activeSelectedId)); }, [activeSelectedId]); const handleCollapse = () => { @@ -38,7 +39,11 @@ const GanttChart = (props: GanttChartProps): JSX.Element => { <> - + {isExpandAll ? : } @@ -81,7 +86,7 @@ export interface GanttChartProps { setActiveHoverId: React.Dispatch>; setActiveSelectedId: React.Dispatch>; spanId: string; - intervalUnit: IIntervalUnit + intervalUnit: IIntervalUnit; } export default GanttChart; diff --git a/frontend/src/container/GantChart/utils.ts b/frontend/src/container/GantChart/utils.ts index 8ee9411e05..7fe4b2b1e9 100644 --- a/frontend/src/container/GantChart/utils.ts +++ b/frontend/src/container/GantChart/utils.ts @@ -5,7 +5,7 @@ export const getMetaDataFromSpanTree = (treeData: ITraceTree) => { let globalEnd = Number.NEGATIVE_INFINITY; let totalSpans = 0; let levels = 1; - const traverse = (treeNode: ITraceTree, level: number = 0) => { + const traverse = (treeNode: ITraceTree, level = 0) => { if (!treeNode) { return; } @@ -35,19 +35,19 @@ export const getMetaDataFromSpanTree = (treeData: ITraceTree) => { }; export function getTopLeftFromBody(elem: HTMLElement) { - let box = elem.getBoundingClientRect(); + const box = elem.getBoundingClientRect(); - let body = document.body; - let docEl = document.documentElement; + const body = document.body; + const docEl = document.documentElement; - let scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop; - let scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft; + const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop; + const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft; - let clientTop = docEl.clientTop || body.clientTop || 0; - let clientLeft = docEl.clientLeft || body.clientLeft || 0; + const clientTop = docEl.clientTop || body.clientTop || 0; + const clientLeft = docEl.clientLeft || body.clientLeft || 0; - let top = box.top + scrollTop - clientTop; - let left = box.left + scrollLeft - clientLeft; + const top = box.top + scrollTop - clientTop; + const left = box.left + scrollLeft - clientLeft; return { top: Math.round(top), left: Math.round(left) }; } @@ -57,7 +57,7 @@ export const getNodeById = ( treeData: ITraceTree, ): ITraceTree | undefined => { let foundNode: ITraceTree | undefined = undefined; - const traverse = (treeNode: ITraceTree, level: number = 0) => { + const traverse = (treeNode: ITraceTree, level = 0) => { if (!treeNode) { return; } @@ -115,7 +115,7 @@ export const isSpanPresent = ( const traverse = ( treeNode: ITraceTree, - level: number = 0, + level = 0, foundNode: ITraceTree[], ) => { if (!treeNode) { diff --git a/frontend/src/container/GridGraphLayout/Graph/index.tsx b/frontend/src/container/GridGraphLayout/Graph/index.tsx index 0cf795b06d..dec25182b6 100644 --- a/frontend/src/container/GridGraphLayout/Graph/index.tsx +++ b/frontend/src/container/GridGraphLayout/Graph/index.tsx @@ -23,7 +23,7 @@ import { Widgets } from 'types/api/dashboard/getAll'; import Bar from './Bar'; import FullView from './FullView'; -import { Modal, FullViewContainer, ErrorContainer } from './styles'; +import { ErrorContainer, FullViewContainer, Modal } from './styles'; const GridCardGraph = ({ widget, diff --git a/frontend/src/container/Header/DateTimeSelection/index.tsx b/frontend/src/container/Header/DateTimeSelection/index.tsx index ce7dcce6d6..fce010e9e7 100644 --- a/frontend/src/container/Header/DateTimeSelection/index.tsx +++ b/frontend/src/container/Header/DateTimeSelection/index.tsx @@ -7,8 +7,8 @@ const { Option } = DefaultSelect; import getLocalStorageKey from 'api/browser/localstorage/get'; import setLocalStorageKey from 'api/browser/localstorage/set'; import { LOCAL_STORAGE } from 'constants/localStorage'; -import getTimeString from 'lib/getTimeString'; import dayjs, { Dayjs } from 'dayjs'; +import getTimeString from 'lib/getTimeString'; import { connect, useSelector } from 'react-redux'; import { RouteComponentProps, withRouter } from 'react-router'; import { bindActionCreators, Dispatch } from 'redux'; diff --git a/frontend/src/container/Header/index.tsx b/frontend/src/container/Header/index.tsx index a9636c0b9f..b800f2d542 100644 --- a/frontend/src/container/Header/index.tsx +++ b/frontend/src/container/Header/index.tsx @@ -2,7 +2,7 @@ import { Col } from 'antd'; import ROUTES from 'constants/routes'; import history from 'lib/history'; import React from 'react'; -import { useLocation, matchPath } from 'react-router-dom'; +import { matchPath, useLocation } from 'react-router-dom'; import ShowBreadcrumbs from './Breadcrumbs'; import DateTimeSelector from './DateTimeSelection'; diff --git a/frontend/src/container/ListAlertRules/ListAlert.tsx b/frontend/src/container/ListAlertRules/ListAlert.tsx index 7fd5d8d049..1a0f09b609 100644 --- a/frontend/src/container/ListAlertRules/ListAlert.tsx +++ b/frontend/src/container/ListAlertRules/ListAlert.tsx @@ -12,7 +12,7 @@ import { generatePath } from 'react-router'; import { Alerts } from 'types/api/alerts/getAll'; import DeleteAlert from './DeleteAlert'; -import { ButtonContainer, Button } from './styles'; +import { Button, ButtonContainer } from './styles'; import Status from './TableComponents/Status'; const ListAlert = ({ allAlertRules }: ListAlertProps): JSX.Element => { diff --git a/frontend/src/container/ListAlertRules/styles.ts b/frontend/src/container/ListAlertRules/styles.ts index 2c54d3ec91..fa993568fb 100644 --- a/frontend/src/container/ListAlertRules/styles.ts +++ b/frontend/src/container/ListAlertRules/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Button as ButtonComponent } from 'antd'; +import styled from 'styled-components'; export const ButtonContainer = styled.div` &&& { diff --git a/frontend/src/container/ListOfDashboard/TableComponents/Name.tsx b/frontend/src/container/ListOfDashboard/TableComponents/Name.tsx index 31fea67bc3..aea20a766b 100644 --- a/frontend/src/container/ListOfDashboard/TableComponents/Name.tsx +++ b/frontend/src/container/ListOfDashboard/TableComponents/Name.tsx @@ -1,8 +1,9 @@ import { Button } from 'antd'; import ROUTES from 'constants/routes'; +import history from 'lib/history'; import React from 'react'; import { generatePath } from 'react-router-dom'; -import history from 'lib/history'; + import { Data } from '..'; const Name = (name: Data['name'], data: Data): JSX.Element => { diff --git a/frontend/src/container/ListOfDashboard/index.tsx b/frontend/src/container/ListOfDashboard/index.tsx index ffbc84d044..a7009a4bad 100644 --- a/frontend/src/container/ListOfDashboard/index.tsx +++ b/frontend/src/container/ListOfDashboard/index.tsx @@ -11,7 +11,7 @@ import { AppState } from 'store/reducers'; import DashboardReducer from 'types/reducer/dashboards'; import { v4 } from 'uuid'; -import { NewDashboardButton, TableContainer, ButtonContainer } from './styles'; +import { ButtonContainer, NewDashboardButton, TableContainer } from './styles'; import Createdby from './TableComponents/CreatedBy'; import DateComponent from './TableComponents/Date'; import DeleteButton from './TableComponents/DeleteButton'; diff --git a/frontend/src/container/MetricsTable/index.tsx b/frontend/src/container/MetricsTable/index.tsx index ed50b7fdd7..63a2d94439 100644 --- a/frontend/src/container/MetricsTable/index.tsx +++ b/frontend/src/container/MetricsTable/index.tsx @@ -1,4 +1,6 @@ import Table, { ColumnsType } from 'antd/lib/table'; +import localStorageGet from 'api/browser/localstorage/get'; +import localStorageSet from 'api/browser/localstorage/set'; import { SKIP_ONBOARDING } from 'constants/onboarding'; import ROUTES from 'constants/routes'; import history from 'lib/history'; @@ -10,8 +12,6 @@ import MetricReducer from 'types/reducer/metrics'; import SkipBoardModal from './SkipOnBoardModal'; import { Container, Name } from './styles'; -import localStorageGet from 'api/browser/localstorage/get'; -import localStorageSet from 'api/browser/localstorage/set'; const Metrics = (): JSX.Element => { const [skipOnboarding, setSkipOnboarding] = useState( @@ -31,7 +31,12 @@ const Metrics = (): JSX.Element => { history.push(to); }; - if (services.length === 0 && loading === false && !skipOnboarding && error === true) { + if ( + services.length === 0 && + loading === false && + !skipOnboarding && + error === true + ) { return ; } diff --git a/frontend/src/container/NewDashboard/ComponentsSlider/index.tsx b/frontend/src/container/NewDashboard/ComponentsSlider/index.tsx index 2e1107abff..6826e55f69 100644 --- a/frontend/src/container/NewDashboard/ComponentsSlider/index.tsx +++ b/frontend/src/container/NewDashboard/ComponentsSlider/index.tsx @@ -26,7 +26,7 @@ const DashboardGraphSlider = (): JSX.Element => { [push, pathname], ); const { isDarkMode } = useSelector((state) => state.app); - const fillColor:React.CSSProperties['color'] = isDarkMode?"white" : "black"; + const fillColor: React.CSSProperties['color'] = isDarkMode ? 'white' : 'black'; return ( {menuItems.map(({ name, Icon, display }) => ( @@ -37,7 +37,7 @@ const DashboardGraphSlider = (): JSX.Element => { key={name} draggable > - + {display} ))} diff --git a/frontend/src/container/NewDashboard/ComponentsSlider/menuItems.ts b/frontend/src/container/NewDashboard/ComponentsSlider/menuItems.ts index 458f8db062..36adfe1385 100644 --- a/frontend/src/container/NewDashboard/ComponentsSlider/menuItems.ts +++ b/frontend/src/container/NewDashboard/ComponentsSlider/menuItems.ts @@ -1,6 +1,6 @@ import TimeSeries from 'assets/Dashboard/TimeSeries'; -import ValueIcon from 'assets/Dashboard/Value'; import { TimeSeriesProps as IconProps } from 'assets/Dashboard/TimeSeries'; +import ValueIcon from 'assets/Dashboard/Value'; const Items: ItemsProps[] = [ { diff --git a/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx b/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx index 343e576516..1a7a70aaba 100644 --- a/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx @@ -16,10 +16,10 @@ import AppActions from 'types/actions'; import { DeleteQueryProps } from 'types/actions/dashboard'; import { + ButtonContainer, Container, InputContainer, QueryWrapper, - ButtonContainer, } from './styles'; const Query = ({ diff --git a/frontend/src/container/NewWidget/index.tsx b/frontend/src/container/NewWidget/index.tsx index 832aec9f4b..dc3ea1a93e 100644 --- a/frontend/src/container/NewWidget/index.tsx +++ b/frontend/src/container/NewWidget/index.tsx @@ -17,7 +17,10 @@ import { SaveDashboard, SaveDashboardProps, } from 'store/actions/dashboard/saveDashboard'; -import { UpdateQuery, UpdateQueryProps } from 'store/actions/dashboard/updateQuery'; +import { + UpdateQuery, + UpdateQueryProps, +} from 'store/actions/dashboard/updateQuery'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { GlobalTime } from 'types/actions/globalTime'; @@ -40,7 +43,7 @@ const NewWidget = ({ applySettingsToPanel, saveSettingOfPanel, getQueryResults, - updateQuery + updateQuery, }: Props): JSX.Element => { const { dashboards } = useSelector( (state) => state.dashboards, @@ -127,11 +130,11 @@ const NewWidget = ({ updateQuery({ widgetId: selectedWidget?.id || '', query: element.query || '', - legend: element.legend || '', - currentIndex: index + legend: element.legend || '', + currentIndex: index, }); - }) - + }); + applySettingsToPanel({ description, isStacked: stacked, @@ -141,7 +144,7 @@ const NewWidget = ({ title, widgetId: selectedWidget?.id || '', }); - } + }; const onClickDiscardHandler = useCallback(() => { push(generatePath(ROUTES.DASHBOARD, { dashboardId })); @@ -233,7 +236,7 @@ const mapDispatchToProps = ( applySettingsToPanel: bindActionCreators(ApplySettingsToPanel, dispatch), saveSettingOfPanel: bindActionCreators(SaveDashboard, dispatch), getQueryResults: bindActionCreators(GetQueryResults, dispatch), - updateQuery: bindActionCreators(UpdateQuery, dispatch) + updateQuery: bindActionCreators(UpdateQuery, dispatch), }); type Props = DispatchProps & NewWidgetProps; diff --git a/frontend/src/container/SideNav/index.tsx b/frontend/src/container/SideNav/index.tsx index 93c618205b..687bf2639b 100644 --- a/frontend/src/container/SideNav/index.tsx +++ b/frontend/src/container/SideNav/index.tsx @@ -1,7 +1,7 @@ import { Menu, Typography } from 'antd'; -import { SlackButton, SlackMenuItemContainer, ToggleButton } from './styles'; import ROUTES from 'constants/routes'; import history from 'lib/history'; +import setTheme from 'lib/theme/setTheme'; import React, { useCallback, useState } from 'react'; import { connect, useSelector } from 'react-redux'; import { NavLink } from 'react-router-dom'; @@ -12,11 +12,11 @@ import { ToggleDarkMode } from 'store/actions'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import AppReducer from 'types/reducer/app'; -import setTheme from 'lib/theme/setTheme'; import menus from './menuItems'; -import { Logo, Sider, ThemeSwitcherWrapper } from './styles'; import Slack from './Slack'; +import { SlackButton, SlackMenuItemContainer, ToggleButton } from './styles'; +import { Logo, Sider, ThemeSwitcherWrapper } from './styles'; const SideNav = ({ toggleDarkMode }: Props): JSX.Element => { const [collapsed, setCollapsed] = useState(false); diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index c729ac15f0..435f5c8c3c 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -1,15 +1,16 @@ -import React, { useState, useMemo } from 'react'; -import { isEqual } from 'lodash-es'; -import styles from './style.module.css'; -import { useMeasure } from 'react-use'; -import { toFixed } from 'utils/toFixed'; import { INTERVAL_UNITS, resolveTimeFromInterval, } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; +import { isEqual } from 'lodash-es'; +import React, { useMemo, useState } from 'react'; +import { useMeasure } from 'react-use'; +import { toFixed } from 'utils/toFixed'; + +import styles from './style.module.css'; import { Interval } from './types'; -import { getIntervalSpread, getIntervals } from './utils'; +import { getIntervals, getIntervalSpread } from './utils'; interface TimelineProps { traceMetaData: object; globalTraceMetadata: object; diff --git a/frontend/src/container/Timeline/utils.ts b/frontend/src/container/Timeline/utils.ts index e7e6a79a01..f6edc34271 100644 --- a/frontend/src/container/Timeline/utils.ts +++ b/frontend/src/container/Timeline/utils.ts @@ -1,20 +1,22 @@ -import { isEqual } from 'lodash-es'; -import { toFixed } from 'utils/toFixed'; import { INTERVAL_UNITS, resolveTimeFromInterval, } from 'container/TraceDetail/utils'; +import { isEqual } from 'lodash-es'; +import { toFixed } from 'utils/toFixed'; + +import { Interval } from './types'; export const getIntervalSpread = ({ localTraceMetaData, globalTraceMetadata, -}) => { - const { - globalStart: localStart, - globalEnd: localEnd, - spread: localSpread, - } = localTraceMetaData; - const { globalStart, globalEnd, globalSpread } = globalTraceMetadata; +}): { + baseInterval: number; + baseSpread: number; + intervalSpreadNormalized: number; +} => { + const { globalStart: localStart, spread: localSpread } = localTraceMetaData; + const { globalStart } = globalTraceMetadata; let baseInterval = 0; @@ -24,7 +26,7 @@ export const getIntervalSpread = ({ const MIN_INTERVALS = 5; const baseSpread = localSpread; - let intervalSpread = (baseSpread / MIN_INTERVALS) * 1.0; + const intervalSpread = (baseSpread / MIN_INTERVALS) * 1.0; const integerPartString = intervalSpread.toString().split('.')[0]; const integerPartLength = integerPartString.length; const intervalSpreadNormalized = @@ -45,7 +47,7 @@ export const getIntervals = ({ baseSpread, intervalSpreadNormalized, intervalUnit, -}) => { +}): Interval[] => { const intervals: Interval[] = [ { label: `${toFixed(resolveTimeFromInterval(baseInterval, intervalUnit), 2)}${ diff --git a/frontend/src/container/Trace/Filters/Panel/PanelBody/Common/Checkbox.tsx b/frontend/src/container/Trace/Filters/Panel/PanelBody/Common/Checkbox.tsx index 7ee07f2c20..a5d01a2822 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelBody/Common/Checkbox.tsx +++ b/frontend/src/container/Trace/Filters/Panel/PanelBody/Common/Checkbox.tsx @@ -1,19 +1,19 @@ -import React, { useState } from 'react'; -import { CheckBoxContainer } from './styles'; import { Checkbox, notification, Typography } from 'antd'; -import { connect, useDispatch, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; - -import { SelectedTraceFilter } from 'store/actions/trace/selectTraceFilter'; -import AppActions from 'types/actions'; -import { ThunkDispatch } from 'redux-thunk'; -import { bindActionCreators, Dispatch } from 'redux'; -import { getFilter, updateURL } from 'store/actions/trace/util'; import getFilters from 'api/trace/getFilters'; import { AxiosError } from 'axios'; -import { GlobalReducer } from 'types/reducer/globalTime'; +import React, { useState } from 'react'; +import { connect, useDispatch, useSelector } from 'react-redux'; +import { bindActionCreators, Dispatch } from 'redux'; +import { ThunkDispatch } from 'redux-thunk'; +import { SelectedTraceFilter } from 'store/actions/trace/selectTraceFilter'; +import { getFilter, updateURL } from 'store/actions/trace/util'; +import { AppState } from 'store/reducers'; +import AppActions from 'types/actions'; import { UPDATE_ALL_FILTERS } from 'types/actions/trace'; +import { GlobalReducer } from 'types/reducer/globalTime'; +import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + +import { CheckBoxContainer } from './styles'; const CheckBoxComponent = (props: CheckBoxProps): JSX.Element => { const { diff --git a/frontend/src/container/Trace/Filters/Panel/PanelBody/CommonCheckBox/index.tsx b/frontend/src/container/Trace/Filters/Panel/PanelBody/CommonCheckBox/index.tsx index a19e7c4ecd..2502e21e07 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelBody/CommonCheckBox/index.tsx +++ b/frontend/src/container/Trace/Filters/Panel/PanelBody/CommonCheckBox/index.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + import CheckBoxComponent from '../Common/Checkbox'; const CommonCheckBox = (props: CommonCheckBoxProps): JSX.Element => { diff --git a/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/index.tsx b/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/index.tsx index f6025b8fbd..c6f42c4656 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/index.tsx +++ b/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/index.tsx @@ -1,20 +1,20 @@ -import React, { useState } from 'react'; - import { Input, Slider } from 'antd'; -import { Container, InputContainer, Text } from './styles'; -import { useDispatch, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceReducer } from 'types/reducer/trace'; -import useDebouncedFn from 'hooks/useDebouncedFunction'; -import { getFilter, updateURL } from 'store/actions/trace/util'; +import { SliderRangeProps } from 'antd/lib/slider'; +import getFilters from 'api/trace/getFilters'; import dayjs from 'dayjs'; import durationPlugin from 'dayjs/plugin/duration'; +import useDebouncedFn from 'hooks/useDebouncedFunction'; +import React, { useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import { Dispatch } from 'redux'; +import { getFilter, updateURL } from 'store/actions/trace/util'; +import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { UPDATE_ALL_FILTERS } from 'types/actions/trace'; -import getFilters from 'api/trace/getFilters'; import { GlobalReducer } from 'types/reducer/globalTime'; -import { SliderRangeProps } from 'antd/lib/slider'; +import { TraceReducer } from 'types/reducer/trace'; + +import { Container, InputContainer, Text } from './styles'; dayjs.extend(durationPlugin); diff --git a/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/styles.ts b/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/styles.ts index 150391fce2..d80c0e503d 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/styles.ts +++ b/frontend/src/container/Trace/Filters/Panel/PanelBody/Duration/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Typography } from 'antd'; +import styled from 'styled-components'; export const DurationText = styled.div` display: flex; diff --git a/frontend/src/container/Trace/Filters/Panel/PanelBody/index.tsx b/frontend/src/container/Trace/Filters/Panel/PanelBody/index.tsx index 98364e14d4..3afcd0fbcd 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelBody/index.tsx +++ b/frontend/src/container/Trace/Filters/Panel/PanelBody/index.tsx @@ -1,12 +1,12 @@ -import React from 'react'; -import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; import { Card } from 'antd'; - -import Duration from './Duration'; -import CommonCheckBox from './CommonCheckBox'; +import Spinner from 'components/Spinner'; +import React from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; -import Spinner from 'components/Spinner'; +import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + +import CommonCheckBox from './CommonCheckBox'; +import Duration from './Duration'; const PanelBody = (props: PanelBodyProps): JSX.Element => { const { type } = props; diff --git a/frontend/src/container/Trace/Filters/Panel/PanelHeading/index.tsx b/frontend/src/container/Trace/Filters/Panel/PanelHeading/index.tsx index 785362c25c..6ee390b60c 100644 --- a/frontend/src/container/Trace/Filters/Panel/PanelHeading/index.tsx +++ b/frontend/src/container/Trace/Filters/Panel/PanelHeading/index.tsx @@ -1,6 +1,9 @@ -import React, { useState } from 'react'; import { DownOutlined, RightOutlined } from '@ant-design/icons'; -import { Card, Typography, Divider, notification } from 'antd'; +import { Card, Divider, notification, Typography } from 'antd'; +import React, { useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { AppState } from 'store/reducers'; +import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; import { ButtonComponent, @@ -9,19 +12,16 @@ import { IconContainer, TextCotainer, } from './styles'; -import { useDispatch, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; const { Text } = Typography; -import { AllPanelHeading } from 'types/reducer/trace'; import getFilters from 'api/trace/getFilters'; -import { GlobalReducer } from 'types/reducer/globalTime'; +import { AxiosError } from 'axios'; +import { Dispatch } from 'redux'; import { getFilter, updateURL } from 'store/actions/trace/util'; import AppActions from 'types/actions'; -import { Dispatch } from 'redux'; import { UPDATE_ALL_FILTERS } from 'types/actions/trace'; -import { AxiosError } from 'axios'; +import { GlobalReducer } from 'types/reducer/globalTime'; +import { AllPanelHeading } from 'types/reducer/trace'; const PanelHeading = (props: PanelHeadingProps): JSX.Element => { const { diff --git a/frontend/src/container/Trace/Graph/config.ts b/frontend/src/container/Trace/Graph/config.ts index 17344b52ef..978ada0062 100644 --- a/frontend/src/container/Trace/Graph/config.ts +++ b/frontend/src/container/Trace/Graph/config.ts @@ -1,10 +1,10 @@ import { ChartData, ChartDataset, ChartDatasetProperties } from 'chart.js'; -import { TraceReducer } from 'types/reducer/trace'; import dayjs from 'dayjs'; import { colors } from 'lib/getRandomColor'; +import { TraceReducer } from 'types/reducer/trace'; function transposeArray(array: number[][], arrayLength: number) { - let newArray: number[][] = []; + const newArray: number[][] = []; for (let i = 0; i < array.length; i++) { newArray.push([]); } diff --git a/frontend/src/container/Trace/Graph/index.tsx b/frontend/src/container/Trace/Graph/index.tsx index efc8a9d137..7ee311cc89 100644 --- a/frontend/src/container/Trace/Graph/index.tsx +++ b/frontend/src/container/Trace/Graph/index.tsx @@ -1,13 +1,13 @@ -import React, { useMemo } from 'react'; - +import { Typography } from 'antd'; import Graph from 'components/Graph'; +import Spinner from 'components/Spinner'; +import React, { useMemo } from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import { TraceReducer } from 'types/reducer/trace'; -import Spinner from 'components/Spinner'; -import { Container } from './styles'; -import { Typography } from 'antd'; + import { getChartData, getChartDataforGroupBy } from './config'; +import { Container } from './styles'; const TraceGraph = () => { const { spansGraph, selectedGroupBy } = useSelector( diff --git a/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx b/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx index f82a39a291..d27a374e66 100644 --- a/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx +++ b/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx @@ -1,6 +1,6 @@ import { AutoComplete, AutoCompleteProps, Input, notification } from 'antd'; import getTagFilters from 'api/trace/getTagFilter'; -import React, { useEffect, useState } from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; import { GlobalReducer } from 'types/reducer/globalTime'; @@ -18,7 +18,7 @@ const TagsKey = (props: TagsKeysProps): JSX.Element => { const [options, setOptions] = useState([]); - const onSearchHandler = async () => { + const onSearchHandler = useCallback(() => { try { setSelectLoading(true); const response = await getTagFilters({ @@ -55,11 +55,16 @@ const TagsKey = (props: TagsKeysProps): JSX.Element => { }); setSelectLoading(false); } - }; + }, [globalTime, traces]); + + const counter = useRef(0); useEffect(() => { - onSearchHandler(); - }, []); + if (counter.current === 0) { + counter.current = 1; + onSearchHandler(); + } + }, [onSearchHandler]); return ( { style={{ width: 300 }} options={options} value={selectedKey} - onChange={(value) => { + onChange={(value): void => { if (options && options.find((option) => option.value === value)) { setSelectedKey(value); diff --git a/frontend/src/container/Trace/Search/AllTags/Tag/index.tsx b/frontend/src/container/Trace/Search/AllTags/Tag/index.tsx index f8072ab895..004e1f96a0 100644 --- a/frontend/src/container/Trace/Search/AllTags/Tag/index.tsx +++ b/frontend/src/container/Trace/Search/AllTags/Tag/index.tsx @@ -1,21 +1,21 @@ -import React from 'react'; - +import { CloseOutlined } from '@ant-design/icons'; import { Select } from 'antd'; +import { SelectValue } from 'antd/lib/select'; +import React from 'react'; +import { connect, useSelector } from 'react-redux'; +import { bindActionCreators } from 'redux'; +import { ThunkDispatch } from 'redux-thunk'; +import { UpdateSelectedTags } from 'store/actions/trace/updateTagsSelected'; +import { AppState } from 'store/reducers'; +import AppActions from 'types/actions'; +import { TraceReducer } from 'types/reducer/trace'; + import { Container, IconContainer, SelectComponent, ValueSelect, } from './styles'; -import { connect, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceReducer } from 'types/reducer/trace'; -import { CloseOutlined } from '@ant-design/icons'; -import { SelectValue } from 'antd/lib/select'; -import { ThunkDispatch } from 'redux-thunk'; -import AppActions from 'types/actions'; -import { bindActionCreators } from 'redux'; -import { UpdateSelectedTags } from 'store/actions/trace/updateTagsSelected'; import TagsKey from './TagKey'; const { Option } = Select; @@ -45,11 +45,11 @@ const SingleTags = (props: AllTagsProps): JSX.Element => { Values: selectedValues, } = props.tag; - const onDeleteTagHandler = (index: number) => { + const onDeleteTagHandler = (index: number): void => { props.onCloseHandler(index); }; - const onChangeOperatorHandler = (key: SelectValue) => { + const onChangeOperatorHandler = (key: SelectValue): void => { props.setLocalSelectedTags([ ...traces.selectedTags.slice(0, props.index), { @@ -83,7 +83,7 @@ const SingleTags = (props: AllTagsProps): JSX.Element => { { + onChange={(value): void => { props.setLocalSelectedTags((tags) => [ ...tags.slice(0, props.index), { @@ -99,7 +99,7 @@ const SingleTags = (props: AllTagsProps): JSX.Element => { onDeleteTagHandler(props.index)} + onClick={(): void => onDeleteTagHandler(props.index)} > diff --git a/frontend/src/container/Trace/Search/AllTags/Tag/styles.ts b/frontend/src/container/Trace/Search/AllTags/Tag/styles.ts index 91da16b124..8da702197d 100644 --- a/frontend/src/container/Trace/Search/AllTags/Tag/styles.ts +++ b/frontend/src/container/Trace/Search/AllTags/Tag/styles.ts @@ -1,5 +1,5 @@ +import { Select, Space } from 'antd'; import styled from 'styled-components'; -import { Button, Select, Space } from 'antd'; export const SpaceComponent = styled(Space)` &&& { diff --git a/frontend/src/container/Trace/Search/AllTags/index.tsx b/frontend/src/container/Trace/Search/AllTags/index.tsx index e2a449ff6d..95083efb47 100644 --- a/frontend/src/container/Trace/Search/AllTags/index.tsx +++ b/frontend/src/container/Trace/Search/AllTags/index.tsx @@ -1,27 +1,28 @@ +import { CaretRightFilled } from '@ant-design/icons'; +import { Button, Space, Typography } from 'antd'; import React, { useEffect, useState } from 'react'; -import { Button, Space, Typography } from 'antd'; -import { CaretRightFilled } from '@ant-design/icons'; import { - Container, ButtonContainer, + Container, CurrentTagsContainer, - Wrapper, ErrorContainer, + Wrapper, } from './styles'; import Tags from './Tag'; const { Text } = Typography; import { PlusOutlined } from '@ant-design/icons'; +import { isEqual } from 'lodash-es'; import { connect, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceReducer } from 'types/reducer/trace'; import { bindActionCreators } from 'redux'; import { ThunkDispatch } from 'redux-thunk'; -import AppActions from 'types/actions'; import { UpdateTagIsError } from 'store/actions/trace/updateIsTagsError'; -import { parseTagsToQuery } from '../util'; -import { isEqual } from 'lodash-es'; import { UpdateTagVisiblity } from 'store/actions/trace/updateTagPanelVisiblity'; +import { AppState } from 'store/reducers'; +import AppActions from 'types/actions'; +import { TraceReducer } from 'types/reducer/trace'; + +import { parseTagsToQuery } from '../util'; const { Paragraph } = Typography; @@ -37,7 +38,7 @@ const AllTags = ({ TraceReducer['selectedTags'] >(traces.selectedTags); - const onTagAddHandler = () => { + const onTagAddHandler = (): void => { setLocalSelectedTags((tags) => [ ...tags, { @@ -52,16 +53,16 @@ const AllTags = ({ if (!isEqual(traces.selectedTags, localSelectedTags)) { setLocalSelectedTags(traces.selectedTags); } - }, [traces.selectedTags]); + }, [traces.selectedTags, localSelectedTags]); - const onCloseHandler = (index: number) => { + const onCloseHandler = (index: number): void => { setLocalSelectedTags([ ...localSelectedTags.slice(0, index), ...localSelectedTags.slice(index + 1, localSelectedTags.length), ]); }; - const onRunQueryHandler = () => { + const onRunQueryHandler = (): void => { const parsedQuery = parseTagsToQuery(localSelectedTags); if (parsedQuery.isError) { @@ -74,7 +75,7 @@ const AllTags = ({ } }; - const onResetHandler = () => { + const onResetHandler = (): void => { setLocalSelectedTags([]); }; @@ -102,10 +103,10 @@ const AllTags = ({ {localSelectedTags.map((tags, index) => ( onCloseHandler(index)} + onCloseHandler={(): void => onCloseHandler(index)} setLocalSelectedTags={setLocalSelectedTags} /> ))} diff --git a/frontend/src/container/Trace/Search/AllTags/styles.ts b/frontend/src/container/Trace/Search/AllTags/styles.ts index ef875287a1..c43b32c5ea 100644 --- a/frontend/src/container/Trace/Search/AllTags/styles.ts +++ b/frontend/src/container/Trace/Search/AllTags/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Card } from 'antd'; +import styled from 'styled-components'; export const Container = styled(Card)` top: 120%; diff --git a/frontend/src/container/Trace/Search/index.tsx b/frontend/src/container/Trace/Search/index.tsx index 1b6e59eba6..df919e3134 100644 --- a/frontend/src/container/Trace/Search/index.tsx +++ b/frontend/src/container/Trace/Search/index.tsx @@ -1,20 +1,21 @@ -import React, { useEffect, useRef, useState } from 'react'; -import { Space } from 'antd'; -import { Container, SearchComponent } from './styles'; -import useClickOutside from 'hooks/useClickOutside'; -import Tags from './AllTags'; -import { connect, useDispatch, useSelector } from 'react-redux'; -import { AppState } from 'store/reducers'; -import { TraceReducer } from 'types/reducer/trace'; -import { ThunkDispatch } from 'redux-thunk'; -import AppActions from 'types/actions'; -import { bindActionCreators, Dispatch } from 'redux'; -import { UpdateTagVisiblity } from 'store/actions/trace/updateTagPanelVisiblity'; -import { parseQueryToTags, parseTagsToQuery } from './util'; -import { UpdateTagIsError } from 'store/actions/trace/updateIsTagsError'; import { CaretRightFilled } from '@ant-design/icons'; +import { Space } from 'antd'; +import useClickOutside from 'hooks/useClickOutside'; +import React, { useEffect, useRef, useState } from 'react'; +import { connect, useDispatch, useSelector } from 'react-redux'; +import { bindActionCreators, Dispatch } from 'redux'; +import { ThunkDispatch } from 'redux-thunk'; +import { UpdateTagIsError } from 'store/actions/trace/updateIsTagsError'; +import { UpdateTagVisiblity } from 'store/actions/trace/updateTagPanelVisiblity'; import { updateURL } from 'store/actions/trace/util'; +import { AppState } from 'store/reducers'; +import AppActions from 'types/actions'; import { UPDATE_ALL_FILTERS } from 'types/actions/trace'; +import { TraceReducer } from 'types/reducer/trace'; + +import Tags from './AllTags'; +import { Container, SearchComponent } from './styles'; +import { parseQueryToTags, parseTagsToQuery } from './util'; const Search = ({ updateTagVisiblity, @@ -38,7 +39,7 @@ const Search = ({ if (value.length === 0 && traces.isTagModalError) { updateTagIsError(false); } - }, [traces.isTagModalError, value]); + }, [traces.isTagModalError, value, updateTagIsError]); const tagRef = useRef(null); @@ -69,11 +70,11 @@ const Search = ({ } }); - const onChangeHandler = (search: string) => { + const onChangeHandler = (search: string): void => { setValue(search); }; - const setIsTagsModalHandler = (value: boolean) => { + const setIsTagsModalHandler = (value: boolean): void => { updateTagVisiblity(value); }; @@ -82,7 +83,9 @@ const Search = ({ setIsTagsModalHandler(true); }; - const updateFilters = async (selectedTags: TraceReducer['selectedTags']) => { + const updateFilters = async ( + selectedTags: TraceReducer['selectedTags'], + ): Promise => { dispatch({ type: UPDATE_ALL_FILTERS, payload: { @@ -111,7 +114,7 @@ const Search = ({ onChangeHandler(event.target.value)} + onChange={(event): void => onChangeHandler(event.target.value)} value={value} allowClear disabled={traces.filterLoading} @@ -119,7 +122,7 @@ const Search = ({ placeholder="Click to filter by tags" type={'search'} enterButton={} - onSearch={(string) => { + onSearch={(string): void => { if (string.length === 0) { updateTagVisiblity(false); updateFilters([]); diff --git a/frontend/src/container/Trace/Search/styles.ts b/frontend/src/container/Trace/Search/styles.ts index f6f342aca9..9cbec7a213 100644 --- a/frontend/src/container/Trace/Search/styles.ts +++ b/frontend/src/container/Trace/Search/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Input } from 'antd'; +import styled from 'styled-components'; const { Search } = Input; diff --git a/frontend/src/container/Trace/TraceGraphFilter/index.tsx b/frontend/src/container/Trace/TraceGraphFilter/index.tsx index e6aad7374a..1b9ca5f801 100644 --- a/frontend/src/container/Trace/TraceGraphFilter/index.tsx +++ b/frontend/src/container/Trace/TraceGraphFilter/index.tsx @@ -1,21 +1,22 @@ +import { SelectProps, Space } from 'antd'; +import { SelectValue } from 'antd/lib/select'; import React from 'react'; -import { Space, SelectProps } from 'antd'; -import { functions, groupBy } from './config'; import { useDispatch, useSelector } from 'react-redux'; +import { Dispatch } from 'redux'; import { AppState } from 'store/reducers'; -import { TraceReducer } from 'types/reducer/trace'; import AppActions from 'types/actions'; import { UPDATE_SELECTED_FUNCTION, UPDATE_SELECTED_GROUP_BY, } from 'types/actions/trace'; -import { Dispatch } from 'redux'; +import { TraceReducer } from 'types/reducer/trace'; + +import { functions, groupBy } from './config'; import { SelectComponent } from './styles'; -import { SelectValue } from 'antd/lib/select'; const { Option } = SelectComponent; -const TraceGraphFilter = () => { +const TraceGraphFilter = (): JSX.Element => { const { selectedFunction, selectedGroupBy } = useSelector< AppState, TraceReducer @@ -74,11 +75,13 @@ const TraceGraphFilter = () => { value={groupBy.find((e) => selectedGroupBy === e.key)?.displayValue} onChange={onClickSelectedGroupByHandler} > - {groupBy.map((value) => ( - - ))} + {groupBy.map( + (value): JSX.Element => ( + + ), + )} ); diff --git a/frontend/src/container/Trace/TraceGraphFilter/styles.ts b/frontend/src/container/Trace/TraceGraphFilter/styles.ts index be712d4cba..2acd767d8c 100644 --- a/frontend/src/container/Trace/TraceGraphFilter/styles.ts +++ b/frontend/src/container/Trace/TraceGraphFilter/styles.ts @@ -1,5 +1,4 @@ import { Select } from 'antd'; - import styled from 'styled-components'; export const SelectComponent = styled(Select)` diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx index ebe2ea2559..8de84e5bdc 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/ErrorTag.tsx @@ -1,13 +1,13 @@ -import { Button, Modal, Collapse } from 'antd'; +import { Button, Collapse, Modal } from 'antd'; import useThemeMode from 'hooks/useThemeMode'; -import React, { useRef, useState } from 'react'; +import React, { useState } from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; + import { CustomSubText, CustomSubTitle } from './styles'; -// import Editor from 'components/Editor'; const { Panel } = Collapse; -const ErrorTag = ({ event }: ErrorTagProps) => { +const ErrorTag = ({ event }: ErrorTagProps): JSX.Element => { const [isOpen, setIsOpen] = useState(false); const { isDarkMode } = useThemeMode(); // const useTextRef = useRef(''); @@ -17,7 +17,7 @@ const ErrorTag = ({ event }: ErrorTagProps) => { subText: '', }); - const onToggleHandler = (state: boolean) => { + const onToggleHandler = (state: boolean): void => { setIsOpen(state); }; @@ -30,6 +30,7 @@ const ErrorTag = ({ event }: ErrorTagProps) => { { {isEllipsed && ( )} - - ); })} @@ -72,7 +71,7 @@ const ErrorTag = ({ event }: ErrorTagProps) => { ); })} onToggleHandler(false)} + onCancel={(): void => onToggleHandler(false)} title="Log Message" visible={isOpen} destroyOnClose diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx index 35ed013d9c..21ccde3de9 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx @@ -1,6 +1,9 @@ import { Space, Tabs, Typography } from 'antd'; +import useThemeMode from 'hooks/useThemeMode'; import React from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; + +import ErrorTag from './ErrorTag'; import { CardContainer, CustomSubText, @@ -8,8 +11,6 @@ import { CustomText, CustomTitle, } from './styles'; -import ErrorTag from './ErrorTag'; -import useThemeMode from 'hooks/useThemeMode'; const { TabPane } = Tabs; @@ -40,7 +41,7 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { {tags.length !== 0 ? ( tags.map((tags) => { return ( - + {tags.value && ( <> {tags.key} diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index 99d693fc85..7c9d5ab8de 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -1,21 +1,22 @@ -import React, { useEffect, useMemo, useState } from 'react'; -import { Col, Divider, Row, Typography, Space, Button } from 'antd'; import { FilterOutlined } from '@ant-design/icons'; +import { Button, Col, Divider, Row, Space, Typography } from 'antd'; import GanttChart from 'container/GantChart'; import { getNodeById } from 'container/GantChart/utils'; import Timeline from 'container/Timeline'; import TraceFlameGraph from 'container/TraceFlameGraph'; import dayjs from 'dayjs'; +import useUrlQuery from 'hooks/useUrlQuery'; import { spanServiceNameToColorMapping } from 'lib/getRandomColor'; -import { getSortedData } from './utils'; +import history from 'lib/history'; +import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import React, { useEffect, useMemo, useState } from 'react'; import { ITraceTree, PayloadProps } from 'types/api/trace/getTraceItem'; import { getSpanTreeMetadata } from 'utils/getSpanTreeMetadata'; import { spanToTreeUtil } from 'utils/spanToTree'; + import SelectedSpanDetails from './SelectedSpanDetails'; -import useUrlQuery from 'hooks/useUrlQuery'; import styles from './TraceGraph.module.css'; -import history from 'lib/history'; -import { SPAN_DETAILS_LEFT_COL_WIDTH } from 'pages/TraceDetail/constants'; +import { getSortedData } from './utils'; import { INTERVAL_UNITS } from './utils'; const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { @@ -25,10 +26,10 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { ); const urlQuery = useUrlQuery(); - const [spanId, _setSpanId] = useState(urlQuery.get('spanId')); + const [spanId] = useState(urlQuery.get('spanId')); const [intervalUnit, setIntervalUnit] = useState(INTERVAL_UNITS[0]); - const [searchSpanString, setSearchSpanString] = useState(''); + // const [searchSpanString, setSearchSpanString] = useState(''); const [activeHoverId, setActiveHoverId] = useState(''); const [activeSelectedId, setActiveSelectedId] = useState(spanId || ''); @@ -38,9 +39,9 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { const { treeData: tree, ...traceMetaData } = useMemo(() => { return getSpanTreeMetadata(getSortedData(treeData), spanServiceColors); - }, [treeData]); + }, [treeData, spanServiceColors]); - const [globalTraceMetadata, _setGlobalTraceMetadata] = useState({ + const [globalTraceMetadata] = useState>({ ...traceMetaData, }); @@ -57,10 +58,10 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { return getNodeById(activeSelectedId, treeData); }, [activeSelectedId, treeData]); - const onSearchHandler = (value: string) => { - setSearchSpanString(value); - setTreeData(spanToTreeUtil(response[0].events)); - }; + // const onSearchHandler = (value: string) => { + // setSearchSpanString(value); + // setTreeData(spanToTreeUtil(response[0].events)); + // }; const onFocusSelectedSpanHandler = () => { const treeNode = getNodeById(activeSelectedId, tree); if (treeNode) { @@ -68,7 +69,7 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { } }; - const onResetHandler = () => { + const onResetHandler = (): void => { setTreeData(spanToTreeUtil(response[0].events)); }; diff --git a/frontend/src/container/TraceDetail/utils.ts b/frontend/src/container/TraceDetail/utils.ts index c92e6b37bb..dcad26dd6e 100644 --- a/frontend/src/container/TraceDetail/utils.ts +++ b/frontend/src/container/TraceDetail/utils.ts @@ -1,8 +1,8 @@ /** * string is present on the span or not */ -import { ITraceTree, Span } from 'types/api/trace/getTraceItem'; import { sortBy } from 'lodash-es'; +import { ITraceTree, Span } from 'types/api/trace/getTraceItem'; export const filterSpansByString = ( searchString: string, @@ -35,12 +35,12 @@ export const INTERVAL_UNITS: IIntervalUnit[] = [ export const resolveTimeFromInterval = ( intervalTime: number, intervalUnit: IIntervalUnit, -) => { +): number => { return intervalTime * intervalUnit.multiplier; }; -export const getSortedData = (treeData: ITraceTree) => { - const traverse = (treeNode: ITraceTree, level: number = 0) => { +export const getSortedData = (treeData: ITraceTree): undefined | ITraceTree => { + const traverse = (treeNode: ITraceTree, level = 0): void => { if (!treeNode) { return; } diff --git a/frontend/src/container/TraceFlameGraph/__tests__/TraceFlameGraph.test.tsx b/frontend/src/container/TraceFlameGraph/__tests__/TraceFlameGraph.test.tsx index 74c17c3139..7a8e1381d0 100644 --- a/frontend/src/container/TraceFlameGraph/__tests__/TraceFlameGraph.test.tsx +++ b/frontend/src/container/TraceFlameGraph/__tests__/TraceFlameGraph.test.tsx @@ -1,7 +1,7 @@ import { expect } from '@jest/globals'; -import React from 'react'; import { render } from '@testing-library/react'; import TraceFlameGraph from 'container/TraceFlameGraph'; +import React from 'react'; test('loads and displays greeting', async () => { const { asFragment } = render(); diff --git a/frontend/src/container/TraceFlameGraph/index.tsx b/frontend/src/container/TraceFlameGraph/index.tsx index 511becaf39..eec06e000e 100644 --- a/frontend/src/container/TraceFlameGraph/index.tsx +++ b/frontend/src/container/TraceFlameGraph/index.tsx @@ -1,17 +1,31 @@ -import React, { useState, useLayoutEffect, useMemo } from 'react'; import Color from 'color'; -import { pushDStree } from 'store/actions'; -import { - SpanItemContainer, - TraceFlameGraphContainer, - TOTAL_SPAN_HEIGHT, -} from './styles'; +import { ITraceMetaData } from 'container/GantChart'; import { IIntervalUnit, resolveTimeFromInterval, } from 'container/TraceDetail/utils'; -import { toFixed } from 'utils/toFixed'; import useThemeMode from 'hooks/useThemeMode'; +import React, { useLayoutEffect, useMemo, useState } from 'react'; +import { ITraceTree } from 'types/api/trace/getTraceItem'; +import { toFixed } from 'utils/toFixed'; + +import { + SpanItemContainer, + TOTAL_SPAN_HEIGHT, + TraceFlameGraphContainer, +} from './styles'; + +interface SpanItem { + topOffset: number; + leftOffset: number; + width: number; + spanData: ITraceTree; + tooltipText: string; + onSpanSelect: (id: string) => void; + onSpanHover: React.Dispatch>; + hoveredSpanId: string; + selectedSpanId: string; +} const SpanItem = ({ topOffset = 0, // top offset in px @@ -23,20 +37,10 @@ const SpanItem = ({ onSpanHover, hoveredSpanId, selectedSpanId, -}: { - topOffset: number; - leftOffset: number; - width: number; - spanData: pushDStree; - tooltipText: string; - onSpanSelect: Function; - onSpanHover: Function; - hoveredSpanId: string; - selectedSpanId: string; -}) => { +}: SpanItem): JSX.Element => { const { serviceColour } = spanData; const [isSelected, setIsSelected] = useState(false); - const [isLocalHover, setIsLocalHover] = useState(false); + // const [isLocalHover, setIsLocalHover] = useState(false); const { isDarkMode } = useThemeMode(); useLayoutEffect(() => { @@ -46,16 +50,16 @@ const SpanItem = ({ ) { setIsSelected(true); } - }, [hoveredSpanId, selectedSpanId]); + }, [hoveredSpanId, selectedSpanId, isSelected, spanData]); - const handleHover = (hoverState: boolean) => { - setIsLocalHover(hoverState); + const handleHover = (hoverState: boolean): void => { + // setIsLocalHover(hoverState); if (hoverState) onSpanHover(spanData.id); - else onSpanHover(null); + else onSpanHover(''); }; - const handleClick = () => { + const handleClick = (): void => { onSpanSelect(spanData.id); }; @@ -64,17 +68,17 @@ const SpanItem = ({ ? Color(serviceColour).lighten(0.3) : Color(serviceColour).darken(0.3); return `${isSelected ? selectedSpanColor : serviceColour}`; - }, [isSelected, serviceColour]); + }, [isSelected, serviceColour, isDarkMode]); return ( <> { + onMouseEnter={(): void => { handleHover(true); }} - onMouseLeave={() => { + onMouseLeave={(): void => { handleHover(false); }} topOffset={topOffset} @@ -89,26 +93,20 @@ const SpanItem = ({ }; const TraceFlameGraph = (props: { - treeData: pushDStree; - traceMetaData: any; - onSpanHover: Function; - onSpanSelect: Function; + treeData: ITraceTree; + traceMetaData: ITraceMetaData; + onSpanHover: SpanItem['onSpanHover']; + onSpanSelect: SpanItem['onSpanSelect']; hoveredSpanId: string; selectedSpanId: string; intervalUnit: IIntervalUnit; -}) => { +}): JSX.Element => { if (!props.treeData || props.treeData.id === 'empty' || !props.traceMetaData) { - return null; + return <>; } const { intervalUnit } = props; - const { - globalStart, - globalEnd, - spread, - totalSpans, - levels, - } = props.traceMetaData; + const { globalStart, spread, levels } = props.traceMetaData; const RenderSpanRecursive = ({ level = 0, spanData, @@ -118,16 +116,16 @@ const TraceFlameGraph = (props: { hoveredSpanId, selectedSpanId, }: { - spanData: pushDStree; + spanData: ITraceTree; level?: number; parentLeftOffset?: number; - onSpanHover: Function; - onSpanSelect: Function; + onSpanHover: SpanItem['onSpanHover']; + onSpanSelect: SpanItem['onSpanSelect']; hoveredSpanId: string; selectedSpanId: string; - }) => { + }): JSX.Element => { if (!spanData) { - return null; + return <>; } const leftOffset = ((spanData.startTime - globalStart) * 100) / spread; diff --git a/frontend/src/container/TraceFlameGraph/styles.ts b/frontend/src/container/TraceFlameGraph/styles.ts index ad262421cd..3c3ee3b807 100644 --- a/frontend/src/container/TraceFlameGraph/styles.ts +++ b/frontend/src/container/TraceFlameGraph/styles.ts @@ -16,14 +16,14 @@ export const SpanItemContainer = styled.div<{ zIdx: number; }>` position: absolute; - top: ${(props) => props.topOffset}px; - left: ${(props) => props.leftOffset}%; - width: ${(props) => props.width}%; + top: ${(props): string | number => props.topOffset}px; + left: ${(props): string | number => props.leftOffset}%; + width: ${(props): string | number => props.width}%; height: ${SPAN_HEIGHT}px; margin: ${SPAN_V_PADDING}px 0; - background-color: ${({ spanColor }) => spanColor}; + background-color: ${({ spanColor }): string | number => spanColor}; border-radius: ${SPAN_HEIGHT / 2}px; - z-index: ${(props) => props.zIdx}; + z-index: ${(props): string | number => props.zIdx}; `; /** @@ -34,5 +34,5 @@ export const TraceFlameGraphContainer = styled.div<{ }>` position: relative; width: 100%; - height: ${({ height }) => (height ? height : 120)}px; + height: ${({ height }): string | number => (height ? height : 120)}px; `; diff --git a/frontend/src/hooks/useClickOutside.ts b/frontend/src/hooks/useClickOutside.ts index d3d7ce83c7..48294c45eb 100644 --- a/frontend/src/hooks/useClickOutside.ts +++ b/frontend/src/hooks/useClickOutside.ts @@ -1,26 +1,27 @@ -import React, { useEffect } from 'react'; +import React, { useCallback, useEffect } from 'react'; const useClickOutside = ( ref: React.RefObject, callback: (e: HTMLElement) => void | null, -) => { - const listener = (e: Event) => { - const node = e?.target as HTMLElement; +): void => { + const listener = useCallback( + (e: Event) => { + const node = e?.target as HTMLElement; - if (ref.current && !ref.current.contains(node)) { - if (callback) { + if (ref.current && !ref.current.contains(node) && callback) { callback(node); } - } - }; + }, + [callback, ref], + ); useEffect(() => { document.addEventListener('click', listener); - return () => { + return (): void => { document.removeEventListener('click', listener); }; - }, [ref, callback]); + }, [ref, callback, listener]); }; export default useClickOutside; diff --git a/frontend/src/hooks/useDebouncedFunction.ts b/frontend/src/hooks/useDebouncedFunction.ts index e63b8c6021..64ff442791 100644 --- a/frontend/src/hooks/useDebouncedFunction.ts +++ b/frontend/src/hooks/useDebouncedFunction.ts @@ -1,7 +1,7 @@ -import { useMemo, useRef } from 'react'; import debounce from 'lodash-es/debounce'; +import { useMemo, useRef } from 'react'; -export interface DebouncedFunc any> { +export interface DebouncedFunc unknown> { (...args: Parameters): ReturnType | undefined; cancel(): void; @@ -20,18 +20,17 @@ const defaultOptions: DebounceOptions = { trailing: true, }; -const useDebouncedFn = any>( +const useDebouncedFn = ) => unknown>( fn: T, - wait: number = 100, + wait = 100, options: DebounceOptions = defaultOptions, - dependencies?: ReadonlyArray, ): DebouncedFunc => { const fnRef = useRef(fn); fnRef.current = fn; return useMemo( () => debounce(((...args) => fnRef.current(...args)) as T, wait, options), - [...(dependencies || [])], + [options, wait], ); }; diff --git a/frontend/src/hooks/useThemeMode.ts b/frontend/src/hooks/useThemeMode.ts index 496ea82904..ec98139f68 100644 --- a/frontend/src/hooks/useThemeMode.ts +++ b/frontend/src/hooks/useThemeMode.ts @@ -6,7 +6,7 @@ export interface IUseThemeModeReturn { isDarkMode: boolean; } -const useThemeMode = () => { +const useThemeMode = (): IUseThemeModeReturn => { const { isDarkMode } = useSelector((state) => state.app); return { isDarkMode }; diff --git a/frontend/src/hooks/useUrlQuery.ts b/frontend/src/hooks/useUrlQuery.ts index 6f20744a2d..11cb555485 100644 --- a/frontend/src/hooks/useUrlQuery.ts +++ b/frontend/src/hooks/useUrlQuery.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { useLocation } from 'react-router-dom'; -function useUrlQuery() { +function useUrlQuery(): URLSearchParams { const { search } = useLocation(); return useMemo(() => new URLSearchParams(search), [search]); diff --git a/frontend/src/lib/getRandomColor.ts b/frontend/src/lib/getRandomColor.ts index 5eaaa2a724..64618cb314 100644 --- a/frontend/src/lib/getRandomColor.ts +++ b/frontend/src/lib/getRandomColor.ts @@ -1,4 +1,4 @@ -import { span } from 'store/actions'; +import { Span } from 'types/api/trace/getTraceItem'; export const colors = [ '#2F80ED', @@ -21,7 +21,9 @@ const getRandomColor = (): string => { return colors[index]; }; -export const spanServiceNameToColorMapping = (spans: span[]) => { +export const spanServiceNameToColorMapping = ( + spans: Span[], +): { [key: string]: string } => { const serviceNameSet = new Set(); spans.forEach((spanItem) => { serviceNameSet.add(spanItem[3]); diff --git a/frontend/src/lib/getStartAndEndTime/getMinAgo.ts b/frontend/src/lib/getStartAndEndTime/getMinAgo.ts index a302d7649e..dcae1c0cf7 100644 --- a/frontend/src/lib/getStartAndEndTime/getMinAgo.ts +++ b/frontend/src/lib/getStartAndEndTime/getMinAgo.ts @@ -1,9 +1,7 @@ const getMinAgo = ({ minutes }: getMinAgoProps): Date => { const currentDate = new Date(); - const agoDate = new Date(currentDate.getTime() - minutes * 60000); - - return agoDate; + return new Date(currentDate.getTime() - minutes * 60000); }; interface getMinAgoProps { diff --git a/frontend/src/lib/getStep.ts b/frontend/src/lib/getStep.ts index 2458782d27..c0ba74950b 100644 --- a/frontend/src/lib/getStep.ts +++ b/frontend/src/lib/getStep.ts @@ -12,7 +12,10 @@ interface GetStepInput { /** * Converts given timestamp to ms. */ -const convertToMs = (timestamp: number, inputFormat: DateInputFormatType) => { +const convertToMs = ( + timestamp: number, + inputFormat: DateInputFormatType, +): number => { switch (inputFormat) { case 's': return timestamp * 1e3; diff --git a/frontend/src/lib/query/convertObjectIntoParams.ts b/frontend/src/lib/query/convertObjectIntoParams.ts index fa6dc3f6f5..15bbed2c9c 100644 --- a/frontend/src/lib/query/convertObjectIntoParams.ts +++ b/frontend/src/lib/query/convertObjectIntoParams.ts @@ -1,7 +1,7 @@ const convertObjectIntoParams = ( - props: Record, + props: Record, stringify = false, -) => { +): string => { return Object.keys(props) .map( (e) => diff --git a/frontend/src/pages/AlertChannelCreate/index.tsx b/frontend/src/pages/AlertChannelCreate/index.tsx index 226f2ca2c2..77a97adcf8 100644 --- a/frontend/src/pages/AlertChannelCreate/index.tsx +++ b/frontend/src/pages/AlertChannelCreate/index.tsx @@ -18,7 +18,7 @@ const SettingsPage = (): JSX.Element => { route: ROUTES.SETTINGS, }, { - Component: () => { + Component: (): JSX.Element => { return ; }, name: 'Alert Channels', diff --git a/frontend/src/pages/AllAlertChannels/index.tsx b/frontend/src/pages/AllAlertChannels/index.tsx index e557f4e861..a15d070d51 100644 --- a/frontend/src/pages/AllAlertChannels/index.tsx +++ b/frontend/src/pages/AllAlertChannels/index.tsx @@ -1,9 +1,9 @@ -import AlertChannels from 'container/AllAlertChannels'; -import GeneralSettings from 'container/GeneralSettings'; -import React from 'react'; import RouteTab from 'components/RouteTab'; import ROUTES from 'constants/routes'; +import AlertChannels from 'container/AllAlertChannels'; +import GeneralSettings from 'container/GeneralSettings'; import history from 'lib/history'; +import React from 'react'; const AllAlertChannels = (): JSX.Element => { const pathName = history.location.pathname; diff --git a/frontend/src/pages/CreateAlert/index.tsx b/frontend/src/pages/CreateAlert/index.tsx index 4d773df9bf..667a2cdfdf 100644 --- a/frontend/src/pages/CreateAlert/index.tsx +++ b/frontend/src/pages/CreateAlert/index.tsx @@ -26,6 +26,9 @@ const CreateAlert = (): JSX.Element => { }); const [notifications, Element] = notification.useNotification(); + const defaultError = + 'Oops! Some issue occured in saving the alert please try again or contact support@signoz.io'; + const onSaveHandler = useCallback(async () => { try { setNewAlertState((state) => ({ @@ -65,24 +68,19 @@ const CreateAlert = (): JSX.Element => { }, 3000); } else { notifications.error({ - description: - response.error || - 'Oops! Some issue occured in saving the alert please try again or contact support@signoz.io', + description: response.error || defaultError, message: 'Error', }); setNewAlertState((state) => ({ ...state, loading: false, error: true, - errorMessage: - response.error || - 'Oops! Some issue occured in saving the alert please try again or contact support@signoz.io', + errorMessage: response.error || defaultError, })); } } catch (error) { notifications.error({ - message: - 'Oops! Some issue occured in saving the alert please try again or contact support@signoz.io', + message: defaultError, }); } }, [notifications]); diff --git a/frontend/src/pages/Metrics/index.tsx b/frontend/src/pages/Metrics/index.tsx index dce97b84cf..6e393d999d 100644 --- a/frontend/src/pages/Metrics/index.tsx +++ b/frontend/src/pages/Metrics/index.tsx @@ -1,3 +1,4 @@ +import getLocalStorageKey from 'api/browser/localstorage/get'; import Spinner from 'components/Spinner'; import { SKIP_ONBOARDING } from 'constants/onboarding'; import MetricTable from 'container/MetricsTable'; @@ -10,7 +11,6 @@ import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { GlobalReducer } from 'types/reducer/globalTime'; import MetricReducer from 'types/reducer/metrics'; -import getLocalStorageKey from 'api/browser/localstorage/get'; const Metrics = ({ getService }: MetricsProps): JSX.Element => { const { minTime, maxTime, loading, selectedTime } = useSelector< diff --git a/frontend/src/pages/Settings/index.tsx b/frontend/src/pages/Settings/index.tsx index c5310107f3..d229f5061b 100644 --- a/frontend/src/pages/Settings/index.tsx +++ b/frontend/src/pages/Settings/index.tsx @@ -1,9 +1,9 @@ -import AlertChannels from 'container/AllAlertChannels'; -import GeneralSettings from 'container/GeneralSettings'; -import React from 'react'; import RouteTab from 'components/RouteTab'; import ROUTES from 'constants/routes'; +import AlertChannels from 'container/AllAlertChannels'; +import GeneralSettings from 'container/GeneralSettings'; import history from 'lib/history'; +import React from 'react'; const SettingsPage = (): JSX.Element => { const pathName = history.location.pathname; diff --git a/frontend/src/pages/SignUp/SignUp.tsx b/frontend/src/pages/SignUp/SignUp.tsx index c7f540836a..f5e874ca0f 100644 --- a/frontend/src/pages/SignUp/SignUp.tsx +++ b/frontend/src/pages/SignUp/SignUp.tsx @@ -1,20 +1,23 @@ import { Button, + Card, Input, notification, - Typography, - Switch, Space, - Card, + Switch, + Typography, } from 'antd'; +import setLocalStorageKey from 'api/browser/localstorage/set'; import signup from 'api/user/signup'; import ROUTES from 'constants/routes'; import history from 'lib/history'; import React, { useEffect, useState } from 'react'; -import setLocalStorageKey from 'api/browser/localstorage/set'; - import AppActions from 'types/actions'; const { Title } = Typography; +import setPreference from 'api/user/setPreference'; +import { IS_LOGGED_IN } from 'constants/auth'; +import { useDispatch } from 'react-redux'; +import { Dispatch } from 'redux'; import { PayloadProps } from 'types/api/user/getUserPreference'; import { @@ -26,10 +29,6 @@ import { Logo, MarginTop, } from './styles'; -import { IS_LOGGED_IN } from 'constants/auth'; -import { useDispatch } from 'react-redux'; -import { Dispatch } from 'redux'; -import setPreference from 'api/user/setPreference'; const Signup = ({ version, userpref }: SignupProps): JSX.Element => { const [loading, setLoading] = useState(false); @@ -52,7 +51,7 @@ const Signup = ({ version, userpref }: SignupProps): JSX.Element => { const setState = ( value: string, setFunction: React.Dispatch>, - ) => { + ): void => { setFunction(value); }; @@ -109,7 +108,7 @@ const Signup = ({ version, userpref }: SignupProps): JSX.Element => { const onSwitchHandler = ( value: boolean, setFunction: React.Dispatch>, - ) => { + ): void => { setFunction(value); }; diff --git a/frontend/src/pages/SignUp/index.tsx b/frontend/src/pages/SignUp/index.tsx index 88131c7143..f2445b92ae 100644 --- a/frontend/src/pages/SignUp/index.tsx +++ b/frontend/src/pages/SignUp/index.tsx @@ -1,15 +1,15 @@ -import useFetch from 'hooks/useFetch'; -import React from 'react'; -import SignUpComponent from './SignUp'; -import getVersion from 'api/user/getVersion'; -import { PayloadProps as VersionPayload } from 'types/api/user/getVersion'; -import { PayloadProps as UserPrefPayload } from 'types/api/user/getUserPreference'; - -import Spinner from 'components/Spinner'; import { Typography } from 'antd'; import getPreference from 'api/user/getPreference'; +import getVersion from 'api/user/getVersion'; +import Spinner from 'components/Spinner'; +import useFetch from 'hooks/useFetch'; +import React from 'react'; +import { PayloadProps as UserPrefPayload } from 'types/api/user/getUserPreference'; +import { PayloadProps as VersionPayload } from 'types/api/user/getVersion'; -const SignUp = () => { +import SignUpComponent from './SignUp'; + +const SignUp = (): JSX.Element => { const versionResponse = useFetch(getVersion); const userPrefResponse = useFetch(getPreference); diff --git a/frontend/src/pages/SignUp/styles.ts b/frontend/src/pages/SignUp/styles.ts index ca9e899165..3bdfc77389 100644 --- a/frontend/src/pages/SignUp/styles.ts +++ b/frontend/src/pages/SignUp/styles.ts @@ -45,7 +45,7 @@ interface Props { } export const MarginTop = styled.div` - margin-top: ${({ marginTop }) => marginTop}; + margin-top: ${({ marginTop = 0 }): number | string => marginTop}; `; export const Logo = styled.img` diff --git a/frontend/src/pages/Trace/index.tsx b/frontend/src/pages/Trace/index.tsx index 5fd2894365..08e3d038c3 100644 --- a/frontend/src/pages/Trace/index.tsx +++ b/frontend/src/pages/Trace/index.tsx @@ -23,10 +23,10 @@ import { GlobalReducer } from 'types/reducer/globalTime'; import { TraceReducer } from 'types/reducer/trace'; import { + ClearAllFilter, Container, LeftContainer, RightContainer, - ClearAllFilter, } from './styles'; const Trace = ({ diff --git a/frontend/src/pages/Trace/styles.ts b/frontend/src/pages/Trace/styles.ts index d7cf4c0869..d6b3cfcbcd 100644 --- a/frontend/src/pages/Trace/styles.ts +++ b/frontend/src/pages/Trace/styles.ts @@ -1,5 +1,5 @@ -import styled from 'styled-components'; import { Button, Card } from 'antd'; +import styled from 'styled-components'; export const Container = styled.div` display: flex; diff --git a/frontend/src/pages/TraceDetail/index.tsx b/frontend/src/pages/TraceDetail/index.tsx index bf29a5244b..8c3f515877 100644 --- a/frontend/src/pages/TraceDetail/index.tsx +++ b/frontend/src/pages/TraceDetail/index.tsx @@ -1,11 +1,11 @@ -import React from 'react'; -import useFetch from 'hooks/useFetch'; +import { Typography } from 'antd'; import getTraceItem from 'api/trace/getTraceItem'; +import Spinner from 'components/Spinner'; +import TraceDetailContainer from 'container/TraceDetail'; +import useFetch from 'hooks/useFetch'; +import React from 'react'; import { useParams } from 'react-router-dom'; import { Props as TraceDetailProps } from 'types/api/trace/getTraceItem'; -import Spinner from 'components/Spinner'; -import { Typography } from 'antd'; -import TraceDetailContainer from 'container/TraceDetail'; const TraceDetail = (): JSX.Element => { const { id } = useParams(); diff --git a/frontend/src/store/actions/dashboard/getQueryResults.ts b/frontend/src/store/actions/dashboard/getQueryResults.ts index b779a665d2..d189223e1c 100644 --- a/frontend/src/store/actions/dashboard/getQueryResults.ts +++ b/frontend/src/store/actions/dashboard/getQueryResults.ts @@ -6,10 +6,10 @@ import GetMaxMinTime from 'lib/getMaxMinTime'; import GetMinMax from 'lib/getMinMax'; import GetStartAndEndTime from 'lib/getStartAndEndTime'; import { Dispatch } from 'redux'; +import store from 'store'; import AppActions from 'types/actions'; import { Query } from 'types/api/dashboard/getAll'; import { GlobalReducer } from 'types/reducer/globalTime'; -import store from 'store'; export const GetQueryResults = ( props: GetQueryResultsProps, diff --git a/frontend/src/store/actions/metrics/getInitialData.ts b/frontend/src/store/actions/metrics/getInitialData.ts index 942cb0dbed..27672f63a4 100644 --- a/frontend/src/store/actions/metrics/getInitialData.ts +++ b/frontend/src/store/actions/metrics/getInitialData.ts @@ -39,8 +39,6 @@ export const GetInitialData = ( globalTime.maxTime / 1000000, ]); - const step = 60; - const [ // getDBOverViewResponse, // getExternalAverageDurationResponse, diff --git a/frontend/src/store/actions/trace/getInitialFilter.ts b/frontend/src/store/actions/trace/getInitialFilter.ts index 99e3fee6c5..7954b0f1ba 100644 --- a/frontend/src/store/actions/trace/getInitialFilter.ts +++ b/frontend/src/store/actions/trace/getInitialFilter.ts @@ -1,25 +1,26 @@ +import { notification } from 'antd'; +import getFiltersApi from 'api/trace/getFilters'; +import xor from 'lodash-es/xor'; import { Dispatch, Store } from 'redux'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; -import { GlobalReducer } from 'types/reducer/globalTime'; -import getFiltersApi from 'api/trace/getFilters'; -import { - parseSelectedFilter, - parseFilterToFetchData, - parseQueryIntoCurrent, - parseQueryIntoSelectedTags, - isTraceFilterEnum, - parseQueryIntoFilter, - parseIsSkippedSelection, - parseFilterExclude, -} from './util'; import { UPDATE_ALL_FILTERS, UPDATE_TRACE_FILTER_LOADING, } from 'types/actions/trace'; +import { GlobalReducer } from 'types/reducer/globalTime'; import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; -import { notification } from 'antd'; -import xor from 'lodash-es/xor'; + +import { + isTraceFilterEnum, + parseFilterExclude, + parseFilterToFetchData, + parseIsSkippedSelection, + parseQueryIntoCurrent, + parseQueryIntoFilter, + parseQueryIntoSelectedTags, + parseSelectedFilter, +} from './util'; export const GetInitialTraceFilter = ( minTime: GlobalReducer['minTime'], @@ -89,7 +90,7 @@ export const GetInitialTraceFilter = ( isFilterExclude: getIsFilterExcluded.currentValue, }); - let preSelectedFilter: Map = new Map( + const preSelectedFilter: Map = new Map( getSelectedFilter.currentValue, ); diff --git a/frontend/src/store/actions/trace/getSpans.ts b/frontend/src/store/actions/trace/getSpans.ts index 6cee9a95c8..22e4e11755 100644 --- a/frontend/src/store/actions/trace/getSpans.ts +++ b/frontend/src/store/actions/trace/getSpans.ts @@ -1,3 +1,5 @@ +import { notification } from 'antd'; +import getSpans from 'api/trace/getSpans'; import { Dispatch, Store } from 'redux'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; @@ -6,9 +8,7 @@ import { UPDATE_TRACE_GRAPH_LOADING, UPDATE_TRACE_GRAPH_SUCCESS, } from 'types/actions/trace'; -import getSpans from 'api/trace/getSpans'; import { Props } from 'types/api/trace/getSpans'; -import { notification } from 'antd'; export const GetSpans = ( props: GetSpansProps, diff --git a/frontend/src/store/actions/trace/parseFilter/current.ts b/frontend/src/store/actions/trace/parseFilter/current.ts index e8faae05c1..4bdd0aa7f7 100644 --- a/frontend/src/store/actions/trace/parseFilter/current.ts +++ b/frontend/src/store/actions/trace/parseFilter/current.ts @@ -1,4 +1,5 @@ import { TraceReducer } from 'types/reducer/trace'; + import { ParsedUrl } from '../util'; export const parseQueryIntoCurrent = ( diff --git a/frontend/src/store/actions/trace/parseFilter/filter.ts b/frontend/src/store/actions/trace/parseFilter/filter.ts index 0d91dfc9e6..934d370864 100644 --- a/frontend/src/store/actions/trace/parseFilter/filter.ts +++ b/frontend/src/store/actions/trace/parseFilter/filter.ts @@ -1,4 +1,5 @@ import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + import { isTraceFilterEnum, ParsedUrl } from '../util'; export const parseQueryIntoFilter = ( diff --git a/frontend/src/store/actions/trace/parseFilter/filterToFetchData.ts b/frontend/src/store/actions/trace/parseFilter/filterToFetchData.ts index 5016bc7702..baf0f2f99d 100644 --- a/frontend/src/store/actions/trace/parseFilter/filterToFetchData.ts +++ b/frontend/src/store/actions/trace/parseFilter/filterToFetchData.ts @@ -1,4 +1,5 @@ import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + import { ParsedUrl } from '../util'; export const parseFilterToFetchData = ( @@ -7,7 +8,7 @@ export const parseFilterToFetchData = ( ): ParsedUrl => { const url = new URLSearchParams(query); - let filterToFetchData: TraceFilterEnum[] = []; + const filterToFetchData: TraceFilterEnum[] = []; const selected = url.get('filterToFetchData'); diff --git a/frontend/src/store/actions/trace/parseFilter/index.ts b/frontend/src/store/actions/trace/parseFilter/index.ts index e9fb1f3b19..fc7a14bc9f 100644 --- a/frontend/src/store/actions/trace/parseFilter/index.ts +++ b/frontend/src/store/actions/trace/parseFilter/index.ts @@ -1,8 +1,8 @@ +export * from './current'; +export * from './filter'; +export * from './filterToFetchData'; +export * from './isFilterExclude'; export * from './minMaxTime'; export * from './selectedFilter'; -export * from './filterToFetchData'; export * from './selectedTags'; -export * from './filter'; export * from './skippedSelected'; -export * from './current'; -export * from './isFilterExclude'; diff --git a/frontend/src/store/actions/trace/parseFilter/isFilterExclude.ts b/frontend/src/store/actions/trace/parseFilter/isFilterExclude.ts index a07bc4b3b0..84a0aa37aa 100644 --- a/frontend/src/store/actions/trace/parseFilter/isFilterExclude.ts +++ b/frontend/src/store/actions/trace/parseFilter/isFilterExclude.ts @@ -1,4 +1,5 @@ import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + import { isTraceFilterEnum, ParsedUrl } from '../util'; export const parseFilterExclude = ( diff --git a/frontend/src/store/actions/trace/parseFilter/selectedFilter.ts b/frontend/src/store/actions/trace/parseFilter/selectedFilter.ts index 973e4ba331..f6e15c4952 100644 --- a/frontend/src/store/actions/trace/parseFilter/selectedFilter.ts +++ b/frontend/src/store/actions/trace/parseFilter/selectedFilter.ts @@ -1,4 +1,5 @@ import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; + import { isTraceFilterEnum, ParsedUrl } from '../util'; export const parseSelectedFilter = ( diff --git a/frontend/src/store/actions/trace/parseFilter/selectedTags.ts b/frontend/src/store/actions/trace/parseFilter/selectedTags.ts index a98cbda921..14aef54f73 100644 --- a/frontend/src/store/actions/trace/parseFilter/selectedTags.ts +++ b/frontend/src/store/actions/trace/parseFilter/selectedTags.ts @@ -1,4 +1,5 @@ import { TraceReducer } from 'types/reducer/trace'; + import { ParsedUrl } from '../util'; export const parseQueryIntoSelectedTags = ( diff --git a/frontend/src/store/actions/trace/selectTraceFilter.ts b/frontend/src/store/actions/trace/selectTraceFilter.ts index b18443ad3e..7b1cd16729 100644 --- a/frontend/src/store/actions/trace/selectTraceFilter.ts +++ b/frontend/src/store/actions/trace/selectTraceFilter.ts @@ -2,6 +2,7 @@ import { Dispatch, Store } from 'redux'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { TraceFilterEnum } from 'types/reducer/trace'; + import { updateURL } from './util'; export const SelectedTraceFilter = (props: { diff --git a/frontend/src/store/actions/trace/updateIsTagsError.ts b/frontend/src/store/actions/trace/updateIsTagsError.ts index be7b0b5f89..f59f031c2f 100644 --- a/frontend/src/store/actions/trace/updateIsTagsError.ts +++ b/frontend/src/store/actions/trace/updateIsTagsError.ts @@ -1,7 +1,7 @@ import { Dispatch } from 'redux'; import AppActions from 'types/actions'; -import { TraceReducer } from 'types/reducer/trace'; import { UPDATE_IS_TAG_ERROR } from 'types/actions/trace'; +import { TraceReducer } from 'types/reducer/trace'; export const UpdateTagIsError = ( isTagModalError: TraceReducer['isTagModalError'], diff --git a/frontend/src/store/actions/trace/updateTagPanelVisiblity.ts b/frontend/src/store/actions/trace/updateTagPanelVisiblity.ts index 0ff8321670..a3815b308b 100644 --- a/frontend/src/store/actions/trace/updateTagPanelVisiblity.ts +++ b/frontend/src/store/actions/trace/updateTagPanelVisiblity.ts @@ -1,7 +1,7 @@ import { Dispatch } from 'redux'; import AppActions from 'types/actions'; -import { TraceReducer } from 'types/reducer/trace'; import { UPDATE_TAG_MODAL_VISIBLITY } from 'types/actions/trace'; +import { TraceReducer } from 'types/reducer/trace'; export const UpdateTagVisiblity = ( isTagModalOpen: TraceReducer['isTagModalOpen'], diff --git a/frontend/src/store/actions/trace/updateTagsSelected.ts b/frontend/src/store/actions/trace/updateTagsSelected.ts index 459aaca1a6..ff254ba9cb 100644 --- a/frontend/src/store/actions/trace/updateTagsSelected.ts +++ b/frontend/src/store/actions/trace/updateTagsSelected.ts @@ -1,7 +1,7 @@ import { Dispatch } from 'redux'; import AppActions from 'types/actions'; -import { TraceReducer } from 'types/reducer/trace'; import { UPDATE_SELECTED_TAGS } from 'types/actions/trace'; +import { TraceReducer } from 'types/reducer/trace'; export const UpdateSelectedTags = ( selectedTags: TraceReducer['selectedTags'], diff --git a/frontend/src/store/actions/trace/util.ts b/frontend/src/store/actions/trace/util.ts index 8b3cab27b0..fea9576348 100644 --- a/frontend/src/store/actions/trace/util.ts +++ b/frontend/src/store/actions/trace/util.ts @@ -1,7 +1,7 @@ -import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; -import history from 'lib/history'; import { AllTraceFilterEnum } from 'container/Trace/Filters'; +import history from 'lib/history'; import { PayloadProps as GetFilterPayload } from 'types/api/trace/getFilters'; +import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; export * from './parseFilter'; export interface ParsedUrl { currentValue: T; @@ -11,10 +11,7 @@ export interface ParsedUrl { export function isTraceFilterEnum( value: TraceFilterEnum | string, ): value is TraceFilterEnum { - if (AllTraceFilterEnum.find((enums) => enums === value)) { - return true; - } - return false; + return AllTraceFilterEnum.find((enums) => enums === value) ? true : false; } export const updateURL = ( @@ -25,7 +22,7 @@ export const updateURL = ( filter: TraceReducer['filter'], isFilterExclude: TraceReducer['isFilterExclude'], userSelectedFilter: TraceReducer['userSelectedFilter'], -) => { +): void => { const search = new URLSearchParams(location.search); const preResult: { key: string; value: string }[] = []; diff --git a/frontend/src/store/reducers/app.ts b/frontend/src/store/reducers/app.ts index 8a786919b9..ff72e5bf59 100644 --- a/frontend/src/store/reducers/app.ts +++ b/frontend/src/store/reducers/app.ts @@ -1,8 +1,8 @@ -import { IS_LOGGED_IN } from 'constants/auth'; -import { AppAction, LOGGED_IN, SWITCH_DARK_MODE } from 'types/actions/app'; -import getTheme from 'lib/theme/getTheme'; -import InitialValueTypes from 'types/reducer/app'; import getLocalStorageKey from 'api/browser/localstorage/get'; +import { IS_LOGGED_IN } from 'constants/auth'; +import getTheme from 'lib/theme/getTheme'; +import { AppAction, LOGGED_IN, SWITCH_DARK_MODE } from 'types/actions/app'; +import InitialValueTypes from 'types/reducer/app'; const InitialValue: InitialValueTypes = { isDarkMode: getTheme() === 'darkMode' ? true : false, diff --git a/frontend/src/store/reducers/trace.ts b/frontend/src/store/reducers/trace.ts index cbccb6e7af..edebd3736b 100644 --- a/frontend/src/store/reducers/trace.ts +++ b/frontend/src/store/reducers/trace.ts @@ -1,21 +1,21 @@ import { + RESET_TRACE_FILTER, SELECT_TRACE_FILTER, TraceActions, - UPDATE_TRACE_FILTER, - UPDATE_TRACE_FILTER_LOADING, UPDATE_ALL_FILTERS, - UPDATE_SELECTED_TAGS, - UPDATE_SPANS_AGGREEGATE, - UPDATE_TAG_MODAL_VISIBLITY, + UPDATE_FILTER_EXCLUDE, + UPDATE_FILTER_RESPONSE_SELECTED, UPDATE_IS_TAG_ERROR, UPDATE_SELECTED_FUNCTION, UPDATE_SELECTED_GROUP_BY, - UPDATE_TRACE_GRAPH_LOADING, + UPDATE_SELECTED_TAGS, + UPDATE_SPANS_AGGREEGATE, + UPDATE_TAG_MODAL_VISIBLITY, + UPDATE_TRACE_FILTER, + UPDATE_TRACE_FILTER_LOADING, UPDATE_TRACE_GRAPH_ERROR, + UPDATE_TRACE_GRAPH_LOADING, UPDATE_TRACE_GRAPH_SUCCESS, - RESET_TRACE_FILTER, - UPDATE_FILTER_RESPONSE_SELECTED, - UPDATE_FILTER_EXCLUDE, } from 'types/actions/trace'; import { TraceFilterEnum, TraceReducer } from 'types/reducer/trace'; diff --git a/frontend/src/utils/app.ts b/frontend/src/utils/app.ts index f538e4597c..bd2f5ee16f 100644 --- a/frontend/src/utils/app.ts +++ b/frontend/src/utils/app.ts @@ -1,5 +1,5 @@ -import { SKIP_ONBOARDING } from 'constants/onboarding'; import getLocalStorage from 'api/browser/localstorage/get'; +import { SKIP_ONBOARDING } from 'constants/onboarding'; export const isOnboardingSkipped = (): boolean => { return getLocalStorage(SKIP_ONBOARDING) === 'true'; diff --git a/frontend/src/utils/getSpanTreeMetadata.ts b/frontend/src/utils/getSpanTreeMetadata.ts index 2938507603..12c01cc894 100644 --- a/frontend/src/utils/getSpanTreeMetadata.ts +++ b/frontend/src/utils/getSpanTreeMetadata.ts @@ -7,12 +7,12 @@ import { ITraceTree } from 'types/api/trace/getTraceItem'; export const getSpanTreeMetadata = ( treeData: ITraceTree, spanServiceColours: { [key: string]: string }, -) => { +): GetSpanTreeMetaData => { let globalStart = Number.POSITIVE_INFINITY; let globalEnd = Number.NEGATIVE_INFINITY; let totalSpans = 0; let levels = 1; - const traverse = (treeNode: ITraceTree, level: number = 0) => { + const traverse = (treeNode: ITraceTree, level = 0): void => { if (!treeNode) { return; } @@ -40,3 +40,12 @@ export const getSpanTreeMetadata = ( treeData, }; }; + +interface GetSpanTreeMetaData { + globalStart: number; + globalEnd: number; + spread: number; + totalSpans: number; + levels: number; + treeData: ITraceTree; +} diff --git a/frontend/src/utils/spanToTree.ts b/frontend/src/utils/spanToTree.ts index 0f50cf6d40..3127085d04 100644 --- a/frontend/src/utils/spanToTree.ts +++ b/frontend/src/utils/spanToTree.ts @@ -16,7 +16,7 @@ export const spanToTreeUtil = (originalList: Span[]): ITraceTree => { serviceName: '', }; - let spanlist = cloneDeep(originalList); + const spanlist = cloneDeep(originalList); // let spans :spanItem[]= trace.spans; diff --git a/frontend/src/utils/toFixed.ts b/frontend/src/utils/toFixed.ts index 6aabbb267e..fef653ffad 100644 --- a/frontend/src/utils/toFixed.ts +++ b/frontend/src/utils/toFixed.ts @@ -1,4 +1,4 @@ -export const toFixed = (input: number, fixedCount: number) => { +export const toFixed = (input: number, fixedCount: number): number | string => { if (input.toString().split('.').length > 1) { return input.toFixed(fixedCount); } From 08f24fbdff69018a4664193abdd276c1d4484b8a Mon Sep 17 00:00:00 2001 From: Palash gupta Date: Mon, 14 Mar 2022 21:34:22 +0530 Subject: [PATCH 20/52] chore: function is made async --- frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx b/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx index d27a374e66..a9dacda144 100644 --- a/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx +++ b/frontend/src/container/Trace/Search/AllTags/Tag/TagKey.tsx @@ -18,7 +18,7 @@ const TagsKey = (props: TagsKeysProps): JSX.Element => { const [options, setOptions] = useState([]); - const onSearchHandler = useCallback(() => { + const onSearchHandler = useCallback(async () => { try { setSelectLoading(true); const response = await getTagFilters({ From b4ce805c6fa7b0265c46ca3d71a8d8933332bf3c Mon Sep 17 00:00:00 2001 From: Palash gupta Date: Tue, 15 Mar 2022 10:09:32 +0530 Subject: [PATCH 21/52] bug: global time selection dropdown is removed in the all channels page --- frontend/src/container/Header/DateTimeSelection/index.tsx | 2 +- frontend/src/container/Header/index.tsx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/container/Header/DateTimeSelection/index.tsx b/frontend/src/container/Header/DateTimeSelection/index.tsx index ce7dcce6d6..fce010e9e7 100644 --- a/frontend/src/container/Header/DateTimeSelection/index.tsx +++ b/frontend/src/container/Header/DateTimeSelection/index.tsx @@ -7,8 +7,8 @@ const { Option } = DefaultSelect; import getLocalStorageKey from 'api/browser/localstorage/get'; import setLocalStorageKey from 'api/browser/localstorage/set'; import { LOCAL_STORAGE } from 'constants/localStorage'; -import getTimeString from 'lib/getTimeString'; import dayjs, { Dayjs } from 'dayjs'; +import getTimeString from 'lib/getTimeString'; import { connect, useSelector } from 'react-redux'; import { RouteComponentProps, withRouter } from 'react-router'; import { bindActionCreators, Dispatch } from 'redux'; diff --git a/frontend/src/container/Header/index.tsx b/frontend/src/container/Header/index.tsx index a9636c0b9f..12d9ada60c 100644 --- a/frontend/src/container/Header/index.tsx +++ b/frontend/src/container/Header/index.tsx @@ -2,7 +2,7 @@ import { Col } from 'antd'; import ROUTES from 'constants/routes'; import history from 'lib/history'; import React from 'react'; -import { useLocation, matchPath } from 'react-router-dom'; +import { matchPath, useLocation } from 'react-router-dom'; import ShowBreadcrumbs from './Breadcrumbs'; import DateTimeSelector from './DateTimeSelection'; @@ -12,6 +12,7 @@ const routesToSkip = [ ROUTES.SETTINGS, ROUTES.LIST_ALL_ALERT, ROUTES.TRACE_DETAIL, + ROUTES.ALL_CHANNELS, ]; const TopNav = (): JSX.Element | null => { From 0b6f31420b040b351f6951c9f8c67c9fd0a4b58b Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Tue, 15 Mar 2022 15:18:33 +0530 Subject: [PATCH 22/52] feat: y-axis units for pre-defined and dashboard graphs --- frontend/package.json | 4 +- frontend/src/components/Graph/index.tsx | 10 + frontend/src/components/Graph/yAxisConfig.ts | 16 + .../container/GridGraphComponent/index.tsx | 3 + .../GridGraphLayout/Graph/FullView/index.tsx | 3 + .../container/GridGraphLayout/Graph/index.tsx | 5 +- .../src/container/GridGraphLayout/index.tsx | 8 +- .../MetricsApplication/Tabs/Application.tsx | 9 +- .../MetricsApplication/Tabs/DBCall.tsx | 2 + .../MetricsApplication/Tabs/External.tsx | 4 + .../LeftContainer/WidgetGraph/WidgetGraph.tsx | 3 +- .../LeftContainer/WidgetGraph/index.tsx | 4 +- .../NewWidget/LeftContainer/index.tsx | 3 +- .../RightContainer/YAxisUnitSelector.tsx | 39 ++ .../RightContainer/dataFormatCategories.ts | 390 ++++++++++++ .../NewWidget/RightContainer/index.tsx | 8 + frontend/src/container/NewWidget/index.tsx | 27 +- frontend/src/container/Trace/Graph/index.tsx | 14 +- .../Trace/TraceGraphFilter/config.ts | 19 +- .../Trace/TraceGraphFilter/index.tsx | 1 + .../store/actions/dashboard/updateQuery.ts | 2 + frontend/src/store/reducers/dashboard.ts | 3 +- frontend/src/store/reducers/trace.ts | 2 + frontend/src/types/actions/dashboard.ts | 1 + frontend/src/types/actions/trace.ts | 1 + frontend/src/types/reducer/trace.ts | 1 + frontend/yarn.lock | 557 +++++++++++++++--- 27 files changed, 1015 insertions(+), 124 deletions(-) create mode 100644 frontend/src/components/Graph/yAxisConfig.ts create mode 100644 frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx create mode 100644 frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts diff --git a/frontend/package.json b/frontend/package.json index 48c33a04fc..e88cc97035 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,10 +22,11 @@ "license": "ISC", "dependencies": { "@ant-design/icons": "^4.6.2", + "@grafana/data": "^8.4.3", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", - "antd": "^4.16.13", + "antd": "4.19.2", "axios": "^0.21.0", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.0", @@ -63,6 +64,7 @@ "react-vis": "^1.11.7", "redux": "^4.0.5", "redux-thunk": "^2.3.0", + "stream": "^0.0.2", "style-loader": "1.3.0", "styled-components": "^5.2.1", "terser-webpack-plugin": "^5.2.5", diff --git a/frontend/src/components/Graph/index.tsx b/frontend/src/components/Graph/index.tsx index 4cf6c04a0f..f24be5bd65 100644 --- a/frontend/src/components/Graph/index.tsx +++ b/frontend/src/components/Graph/index.tsx @@ -28,6 +28,8 @@ import { AppState } from 'store/reducers'; import AppReducer from 'types/reducer/app'; import { useXAxisTimeUnit } from './xAxisConfig'; +import { getYAxisFormattedValue } from './yAxisConfig'; + Chart.register( LineElement, PointElement, @@ -55,6 +57,7 @@ const Graph = ({ isStacked, onClickHandler, name, + yAxisUnit = 'short', }: GraphProps): JSX.Element => { const { isDarkMode } = useSelector((state) => state.app); const chartRef = useRef(null); @@ -132,6 +135,12 @@ const Graph = ({ display: true, color: getGridColor(), }, + ticks: { + // Include a dollar sign in the ticks + callback: function (value, index, ticks) { + return getYAxisFormattedValue(value, yAxisUnit); + }, + }, }, stacked: { display: isStacked === undefined ? false : 'auto', @@ -179,6 +188,7 @@ interface GraphProps { label?: string[]; onClickHandler?: graphOnClickHandler; name: string; + yAxisUnit?: string; } export type graphOnClickHandler = ( diff --git a/frontend/src/components/Graph/yAxisConfig.ts b/frontend/src/components/Graph/yAxisConfig.ts new file mode 100644 index 0000000000..bf2a1cc525 --- /dev/null +++ b/frontend/src/components/Graph/yAxisConfig.ts @@ -0,0 +1,16 @@ +import { formattedValueToString, getValueFormat } from '@grafana/data'; + +export const getYAxisFormattedValue = ( + value: number, + format: string, + decimal?: number, +): string => { + try { + return formattedValueToString( + getValueFormat(format)(value, undefined, undefined, undefined), + ); + } catch (error) { + console.error(error); + } + return `${value}`; +}; diff --git a/frontend/src/container/GridGraphComponent/index.tsx b/frontend/src/container/GridGraphComponent/index.tsx index ba3107f96b..97593f2483 100644 --- a/frontend/src/container/GridGraphComponent/index.tsx +++ b/frontend/src/container/GridGraphComponent/index.tsx @@ -16,6 +16,7 @@ const GridGraphComponent = ({ isStacked, onClickHandler, name, + yAxisUnit, }: GridGraphComponentProps): JSX.Element | null => { const location = history.location.pathname; @@ -33,6 +34,7 @@ const GridGraphComponent = ({ xAxisType: 'time', onClickHandler: onClickHandler, name, + yAxisUnit: yAxisUnit, }} /> ); @@ -72,6 +74,7 @@ export interface GridGraphComponentProps { isStacked?: boolean; onClickHandler?: graphOnClickHandler; name: string; + yAxisUnit?: string; } export default GridGraphComponent; diff --git a/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx b/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx index 06665218fc..b6e32f9aed 100644 --- a/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx +++ b/frontend/src/container/GridGraphLayout/Graph/FullView/index.tsx @@ -32,6 +32,7 @@ const FullView = ({ onClickHandler, noDataGraph = false, name, + yAxisUnit, }: FullViewProps): JSX.Element => { const { minTime, maxTime, selectedTime: globalSelectedTime } = useSelector< AppState, @@ -221,6 +222,7 @@ const FullView = ({ title: widget.title, onClickHandler: onClickHandler, name, + yAxisUnit, }} /> {/* */} @@ -241,6 +243,7 @@ interface FullViewProps { onClickHandler?: graphOnClickHandler; noDataGraph?: boolean; name: string; + yAxisUnit?: string; } export default FullView; diff --git a/frontend/src/container/GridGraphLayout/Graph/index.tsx b/frontend/src/container/GridGraphLayout/Graph/index.tsx index 0cf795b06d..f00135e0a5 100644 --- a/frontend/src/container/GridGraphLayout/Graph/index.tsx +++ b/frontend/src/container/GridGraphLayout/Graph/index.tsx @@ -30,6 +30,7 @@ const GridCardGraph = ({ deleteWidget, isDeleted, name, + yAxisUnit }: GridCardGraphProps): JSX.Element => { const [state, setState] = useState({ loading: true, @@ -149,7 +150,7 @@ const GridCardGraph = ({ destroyOnClose > - + @@ -199,6 +200,7 @@ const GridCardGraph = ({ opacity: widget.opacity, title: widget.title, name, + yAxisUnit, }} /> @@ -222,6 +224,7 @@ interface GridCardGraphProps extends DispatchProps { widget: Widgets; isDeleted: React.MutableRefObject; name: string; + yAxisUnit: string | undefined; } const mapDispatchToProps = ( diff --git a/frontend/src/container/GridGraphLayout/index.tsx b/frontend/src/container/GridGraphLayout/index.tsx index cbbec4a2a7..9c1fda8257 100644 --- a/frontend/src/container/GridGraphLayout/index.tsx +++ b/frontend/src/container/GridGraphLayout/index.tsx @@ -38,7 +38,6 @@ const GridGraph = (): JSX.Element => { const [selectedDashboard] = dashboards; const { data } = selectedDashboard; const { widgets } = data; - const [layouts, setLayout] = useState([]); const AddWidgetWrapper = useCallback(() => , []); @@ -64,6 +63,7 @@ const GridGraph = (): JSX.Element => { name={e.id + index + 'non-expanded'} isDeleted={isDeleted} widget={widgets[index]} + yAxisUnit={e.yAxisUnit} /> ), }; @@ -73,7 +73,11 @@ const GridGraph = (): JSX.Element => { ...e, y: 0, Component: (): JSX.Element => ( - + ), })); } diff --git a/frontend/src/container/MetricsApplication/Tabs/Application.tsx b/frontend/src/container/MetricsApplication/Tabs/Application.tsx index 005033f999..ac7cb51798 100644 --- a/frontend/src/container/MetricsApplication/Tabs/Application.tsx +++ b/frontend/src/container/MetricsApplication/Tabs/Application.tsx @@ -34,8 +34,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ - ROUTES.TRACE + `${ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["ok","error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error","ok"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; @@ -88,8 +87,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { urlParams.set(METRICS_PAGE_QUERY_PARAM.endTime, tPlusOne.toString()); history.replace( - `${ - ROUTES.TRACE + `${ROUTES.TRACE }?${urlParams.toString()}&selected={"serviceName":["${servicename}"],"status":["error"]}&filterToFetchData=["duration","status","serviceName"]&userSelectedFilter={"status":["error"],"serviceName":["${servicename}"]}&isSelectedFilterSkipped=true`, ); }; @@ -159,6 +157,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { ); }), }} + yAxisUnit="ms" /> @@ -191,6 +190,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { legend: 'Request per second', }, ])} + yAxisUnit="short" /> @@ -225,6 +225,7 @@ const Application = ({ getWidget }: DashboardProps): JSX.Element => { legend: 'Error Percentage (%)', }, ])} + yAxisUnit="%" /> diff --git a/frontend/src/container/MetricsApplication/Tabs/DBCall.tsx b/frontend/src/container/MetricsApplication/Tabs/DBCall.tsx index 44fda1e230..c883333bdd 100644 --- a/frontend/src/container/MetricsApplication/Tabs/DBCall.tsx +++ b/frontend/src/container/MetricsApplication/Tabs/DBCall.tsx @@ -26,6 +26,7 @@ const DBCall = ({ getWidget }: DBCallProps): JSX.Element => { legend: '{{db_system}}', }, ])} + yAxisUnit="short" /> @@ -45,6 +46,7 @@ const DBCall = ({ getWidget }: DBCallProps): JSX.Element => { legend: '', }, ])} + yAxisUnit="ms" /> diff --git a/frontend/src/container/MetricsApplication/Tabs/External.tsx b/frontend/src/container/MetricsApplication/Tabs/External.tsx index 8e159ce8b7..b0d6cc0312 100644 --- a/frontend/src/container/MetricsApplication/Tabs/External.tsx +++ b/frontend/src/container/MetricsApplication/Tabs/External.tsx @@ -26,6 +26,7 @@ const External = ({ getWidget }: ExternalProps): JSX.Element => { legend: '{{http_url}}', }, ])} + yAxisUnit="%" /> @@ -45,6 +46,7 @@ const External = ({ getWidget }: ExternalProps): JSX.Element => { legend: 'Average Duration', }, ])} + yAxisUnit="ms" /> @@ -66,6 +68,7 @@ const External = ({ getWidget }: ExternalProps): JSX.Element => { legend: '{{http_url}}', }, ])} + yAxisUnit="short" /> @@ -85,6 +88,7 @@ const External = ({ getWidget }: ExternalProps): JSX.Element => { legend: '{{http_url}}', }, ])} + yAxisUnit="ms" /> diff --git a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx index 7966e43d8b..9f334ff25e 100644 --- a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx @@ -10,7 +10,7 @@ import DashboardReducer from 'types/reducer/dashboards'; import { NotFoundContainer } from './styles'; -const WidgetGraph = ({ selectedGraph }: WidgetGraphProps): JSX.Element => { +const WidgetGraph = ({ selectedGraph,yAxisUnit }: WidgetGraphProps): JSX.Element => { const { dashboards } = useSelector( (state) => state.dashboards, ); @@ -51,6 +51,7 @@ const WidgetGraph = ({ selectedGraph }: WidgetGraphProps): JSX.Element => { data={chartDataSet} GRAPH_TYPES={selectedGraph} name={widgetId || 'legend_widget'} + yAxisUnit={yAxisUnit} /> ); }; diff --git a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx index d844862875..c84c5e6bb1 100644 --- a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx @@ -11,7 +11,7 @@ import { NewWidgetProps } from '../../index'; import { AlertIconContainer, Container, NotFoundContainer } from './styles'; import WidgetGraphComponent from './WidgetGraph'; -const WidgetGraph = ({ selectedGraph }: WidgetGraphProps): JSX.Element => { +const WidgetGraph = ({ selectedGraph, yAxisUnit }: WidgetGraphProps): JSX.Element => { const { dashboards, isQueryFired } = useSelector( (state) => state.dashboards, ); @@ -47,7 +47,7 @@ const WidgetGraph = ({ selectedGraph }: WidgetGraphProps): JSX.Element => { )} - {isQueryFired && } + {isQueryFired && } ); }; diff --git a/frontend/src/container/NewWidget/LeftContainer/index.tsx b/frontend/src/container/NewWidget/LeftContainer/index.tsx index 58b2c8f3ab..4a855feba7 100644 --- a/frontend/src/container/NewWidget/LeftContainer/index.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/index.tsx @@ -9,10 +9,11 @@ import WidgetGraph from './WidgetGraph'; const LeftContainer = ({ selectedGraph, selectedTime, + yAxisUnit, }: LeftContainerProps): JSX.Element => { return ( <> - + diff --git a/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx b/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx new file mode 100644 index 0000000000..4d8687e074 --- /dev/null +++ b/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx @@ -0,0 +1,39 @@ +import { AutoComplete, Col, Input, Typography } from 'antd'; +import { find } from 'lodash-es'; +import React from 'react'; + +import { flattenedCategories } from './dataFormatCategories'; + +const findCategoryById = (searchValue) => + find(flattenedCategories, (option) => option.id == searchValue); +const findCategoryByName = (searchValue) => + find(flattenedCategories, (option) => option.name == searchValue); + +const YAxisUnitSelector = ({ defaultValue, onSelect }): JSX.Element => { + const onSelectHandler = (selectedValue: string): void => { + onSelect(findCategoryByName(selectedValue)?.id); + }; + const options = flattenedCategories.map((options) => ({ + value: options.name, + })); + return ( + +
+ Y Axis Unit +
+ + option!.value.toUpperCase().indexOf(inputValue.toUpperCase()) !== -1 + } + > + + + + ); +}; + +export default YAxisUnitSelector; diff --git a/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts b/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts new file mode 100644 index 0000000000..460e2a5efd --- /dev/null +++ b/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts @@ -0,0 +1,390 @@ +import { flattenDeep } from 'lodash-es'; + +export const dataTypeCategories = [ + { + name: 'Time', + formats: [ + { name: 'Hertz (1/s)', id: 'hertz' }, + { name: 'nanoseconds (ns)', id: 'ns' }, + { name: 'microseconds (µs)', id: 'µs' }, + { name: 'milliseconds (ms)', id: 'ms' }, + { name: 'seconds (s)', id: 's' }, + { name: 'minutes (m)', id: 'm' }, + { name: 'hours (h)', id: 'h' }, + { name: 'days (d)', id: 'd' }, + { name: 'duration (ms)', id: 'dtdurationms' }, + { name: 'duration (s)', id: 'dtdurations' }, + { name: 'duration (hh:mm:ss)', id: 'dthms' }, + { name: 'duration (d hh:mm:ss)', id: 'dtdhms' }, + { name: 'Timeticks (s/100)', id: 'timeticks' }, + { name: 'clock (ms)', id: 'clockms' }, + { name: 'clock (s)', id: 'clocks' }, + ], + }, + { + name: 'Throughput', + formats: [ + { name: 'counts/sec (cps)', id: 'cps' }, + { name: 'ops/sec (ops)', id: 'ops' }, + { name: 'requests/sec (rps)', id: 'reqps' }, + { name: 'reads/sec (rps)', id: 'rps' }, + { name: 'writes/sec (wps)', id: 'wps' }, + { name: 'I/O ops/sec (iops)', id: 'iops' }, + { name: 'counts/min (cpm)', id: 'cpm' }, + { name: 'ops/min (opm)', id: 'opm' }, + { name: 'reads/min (rpm)', id: 'rpm' }, + { name: 'writes/min (wpm)', id: 'wpm' }, + ], + }, + { + name: 'Data', + formats: [ + { name: 'bytes(IEC)', id: 'bytes' }, + { name: 'bytes(SI)', id: 'decbytes' }, + { name: 'bits(IEC)', id: 'bits' }, + { name: 'bits(SI)', id: 'decbits' }, + { name: 'kibibytes', id: 'kbytes' }, + { name: 'kilobytes', id: 'deckbytes' }, + { name: 'mebibytes', id: 'mbytes' }, + { name: 'megabytes', id: 'decmbytes' }, + { name: 'gibibytes', id: 'gbytes' }, + { name: 'gigabytes', id: 'decgbytes' }, + { name: 'tebibytes', id: 'tbytes' }, + { name: 'terabytes', id: 'dectbytes' }, + { name: 'pebibytes', id: 'pbytes' }, + { name: 'petabytes', id: 'decpbytes' }, + ], + }, + { + name: 'Data rate', + formats: [ + { name: 'packets/sec', id: 'pps' }, + { name: 'bytes/sec(IEC)', id: 'binBps' }, + { name: 'bytes/sec(SI)', id: 'Bps' }, + { name: 'bits/sec(IEC)', id: 'binbps' }, + { name: 'bits/sec(SI)', id: 'bps' }, + { name: 'kibibytes/sec', id: 'KiBs' }, + { name: 'kibibits/sec', id: 'Kibits' }, + { name: 'kilobytes/sec', id: 'KBs' }, + { name: 'kilobits/sec', id: 'Kbits' }, + { name: 'mebibytes/sec', id: 'MiBs' }, + { name: 'mebibits/sec', id: 'Mibits' }, + { name: 'megabytes/sec', id: 'MBs' }, + { name: 'megabits/sec', id: 'Mbits' }, + { name: 'gibibytes/sec', id: 'GiBs' }, + { name: 'gibibits/sec', id: 'Gibits' }, + { name: 'gigabytes/sec', id: 'GBs' }, + { name: 'gigabits/sec', id: 'Gbits' }, + { name: 'tebibytes/sec', id: 'TiBs' }, + { name: 'tebibits/sec', id: 'Tibits' }, + { name: 'terabytes/sec', id: 'TBs' }, + { name: 'terabits/sec', id: 'Tbits' }, + { name: 'pebibytes/sec', id: 'PiBs' }, + { name: 'pebibits/sec', id: 'Pibits' }, + { name: 'petabytes/sec', id: 'PBs' }, + { name: 'petabits/sec', id: 'Pbits' }, + ], + }, + { + name: 'Hash rate', + formats: [ + { name: 'hashes/sec', id: 'Hs' }, + { name: 'kilohashes/sec', id: 'KHs' }, + { name: 'megahashes/sec', id: 'MHs' }, + { name: 'gigahashes/sec', id: 'GHs' }, + { name: 'terahashes/sec', id: 'THs' }, + { name: 'petahashes/sec', id: 'PHs' }, + { name: 'exahashes/sec', id: 'EHs' }, + ], + }, + + { + name: 'Acceleration', + formats: [ + { name: 'Meters/sec²', id: 'accMS2' }, + { name: 'Feet/sec²', id: 'accFS2' }, + { name: 'G unit', id: 'accG' }, + ], + }, + { + name: 'Angle', + formats: [ + { name: 'Degrees (°)', id: 'degree' }, + { name: 'Radians', id: 'radian' }, + { name: 'Gradian', id: 'grad' }, + { name: 'Arc Minutes', id: 'arcmin' }, + { name: 'Arc Seconds', id: 'arcsec' }, + ], + }, + { + name: 'Area', + formats: [ + { name: 'Square Meters (m²)', id: 'areaM2' }, + { name: 'Square Feet (ft²)', id: 'areaF2' }, + { name: 'Square Miles (mi²)', id: 'areaMI2' }, + ], + }, + { + name: 'Computation', + formats: [ + { name: 'FLOP/s', id: 'flops' }, + { name: 'MFLOP/s', id: 'mflops' }, + { name: 'GFLOP/s', id: 'gflops' }, + { name: 'TFLOP/s', id: 'tflops' }, + { name: 'PFLOP/s', id: 'pflops' }, + { name: 'EFLOP/s', id: 'eflops' }, + { name: 'ZFLOP/s', id: 'zflops' }, + { name: 'YFLOP/s', id: 'yflops' }, + ], + }, + { + name: 'Concentration', + formats: [ + { name: 'parts-per-million (ppm)', id: 'ppm' }, + { name: 'parts-per-billion (ppb)', id: 'conppb' }, + { name: 'nanogram per cubic meter (ng/m³)', id: 'conngm3' }, + { name: 'nanogram per normal cubic meter (ng/Nm³)', id: 'conngNm3' }, + { name: 'microgram per cubic meter (μg/m³)', id: 'conμgm3' }, + { name: 'microgram per normal cubic meter (μg/Nm³)', id: 'conμgNm3' }, + { name: 'milligram per cubic meter (mg/m³)', id: 'conmgm3' }, + { name: 'milligram per normal cubic meter (mg/Nm³)', id: 'conmgNm3' }, + { name: 'gram per cubic meter (g/m³)', id: 'congm3' }, + { name: 'gram per normal cubic meter (g/Nm³)', id: 'congNm3' }, + { name: 'milligrams per decilitre (mg/dL)', id: 'conmgdL' }, + { name: 'millimoles per litre (mmol/L)', id: 'conmmolL' }, + ], + }, + { + name: 'Currency', + formats: [ + { name: 'Dollars ($)', id: 'currencyUSD' }, + { name: 'Pounds (£)', id: 'currencyGBP' }, + { name: 'Euro (€)', id: 'currencyEUR' }, + { name: 'Yen (¥)', id: 'currencyJPY' }, + { name: 'Rubles (₽)', id: 'currencyRUB' }, + { name: 'Hryvnias (₴)', id: 'currencyUAH' }, + { name: 'Real (R$)', id: 'currencyBRL' }, + { name: 'Danish Krone (kr)', id: 'currencyDKK' }, + { name: 'Icelandic Króna (kr)', id: 'currencyISK' }, + { name: 'Norwegian Krone (kr)', id: 'currencyNOK' }, + { name: 'Swedish Krona (kr)', id: 'currencySEK' }, + { name: 'Czech koruna (czk)', id: 'currencyCZK' }, + { name: 'Swiss franc (CHF)', id: 'currencyCHF' }, + { name: 'Polish Złoty (PLN)', id: 'currencyPLN' }, + { name: 'Bitcoin (฿)', id: 'currencyBTC' }, + { name: 'Milli Bitcoin (฿)', id: 'currencymBTC' }, + { name: 'Micro Bitcoin (฿)', id: 'currencyμBTC' }, + { name: 'South African Rand (R)', id: 'currencyZAR' }, + { name: 'Indian Rupee (₹)', id: 'currencyINR' }, + { name: 'South Korean Won (₩)', id: 'currencyKRW' }, + { name: 'Indonesian Rupiah (Rp)', id: 'currencyIDR' }, + { name: 'Philippine Peso (PHP)', id: 'currencyPHP' }, + { name: 'Vietnamese Dong (VND)', id: 'currencyVND' }, + ], + }, + + { + name: 'Date & time', + formats: [ + { name: 'Datetime ISO', id: 'dateTimeAsIso' }, + { + name: 'Datetime ISO (No date if today)', + id: 'dateTimeAsIsoNoDateIfToday', + }, + { name: 'Datetime US', id: 'dateTimeAsUS' }, + { name: 'Datetime US (No date if today)', id: 'dateTimeAsUSNoDateIfToday' }, + { name: 'Datetime local', id: 'dateTimeAsLocal' }, + { + name: 'Datetime local (No date if today)', + id: 'dateTimeAsLocalNoDateIfToday', + }, + { name: 'Datetime default', id: 'dateTimeAsSystem' }, + { name: 'From Now', id: 'dateTimeFromNow' }, + ], + }, + { + name: 'Energy', + formats: [ + { name: 'Watt (W)', id: 'watt' }, + { name: 'Kilowatt (kW)', id: 'kwatt' }, + { name: 'Megawatt (MW)', id: 'megwatt' }, + { name: 'Gigawatt (GW)', id: 'gwatt' }, + { name: 'Milliwatt (mW)', id: 'mwatt' }, + { name: 'Watt per square meter (W/m²)', id: 'Wm2' }, + { name: 'Volt-Ampere (VA)', id: 'voltamp' }, + { name: 'Kilovolt-Ampere (kVA)', id: 'kvoltamp' }, + { name: 'Volt-Ampere reactive (VAr)', id: 'voltampreact' }, + { name: 'Kilovolt-Ampere reactive (kVAr)', id: 'kvoltampreact' }, + { name: 'Watt-hour (Wh)', id: 'watth' }, + { name: 'Watt-hour per Kilogram (Wh/kg)', id: 'watthperkg' }, + { name: 'Kilowatt-hour (kWh)', id: 'kwatth' }, + { name: 'Kilowatt-min (kWm)', id: 'kwattm' }, + { name: 'Ampere-hour (Ah)', id: 'amph' }, + { name: 'Kiloampere-hour (kAh)', id: 'kamph' }, + { name: 'Milliampere-hour (mAh)', id: 'mamph' }, + { name: 'Joule (J)', id: 'joule' }, + { name: 'Electron volt (eV)', id: 'ev' }, + { name: 'Ampere (A)', id: 'amp' }, + { name: 'Kiloampere (kA)', id: 'kamp' }, + { name: 'Milliampere (mA)', id: 'mamp' }, + { name: 'Volt (V)', id: 'volt' }, + { name: 'Kilovolt (kV)', id: 'kvolt' }, + { name: 'Millivolt (mV)', id: 'mvolt' }, + { name: 'Decibel-milliwatt (dBm)', id: 'dBm' }, + { name: 'Ohm (Ω)', id: 'ohm' }, + { name: 'Kiloohm (kΩ)', id: 'kohm' }, + { name: 'Megaohm (MΩ)', id: 'Mohm' }, + { name: 'Farad (F)', id: 'farad' }, + { name: 'Microfarad (µF)', id: 'µfarad' }, + { name: 'Nanofarad (nF)', id: 'nfarad' }, + { name: 'Picofarad (pF)', id: 'pfarad' }, + { name: 'Femtofarad (fF)', id: 'ffarad' }, + { name: 'Henry (H)', id: 'henry' }, + { name: 'Millihenry (mH)', id: 'mhenry' }, + { name: 'Microhenry (µH)', id: 'µhenry' }, + { name: 'Lumens (Lm)', id: 'lumens' }, + ], + }, + { + name: 'Flow', + formats: [ + { name: 'Gallons/min (gpm)', id: 'flowgpm' }, + { name: 'Cubic meters/sec (cms)', id: 'flowcms' }, + { name: 'Cubic feet/sec (cfs)', id: 'flowcfs' }, + { name: 'Cubic feet/min (cfm)', id: 'flowcfm' }, + { name: 'Litre/hour', id: 'litreh' }, + { name: 'Litre/min (L/min)', id: 'flowlpm' }, + { name: 'milliLitre/min (mL/min)', id: 'flowmlpm' }, + { name: 'Lux (lx)', id: 'lux' }, + ], + }, + { + name: 'Force', + formats: [ + { name: 'Newton-meters (Nm)', id: 'forceNm' }, + { name: 'Kilonewton-meters (kNm)', id: 'forcekNm' }, + { name: 'Newtons (N)', id: 'forceN' }, + { name: 'Kilonewtons (kN)', id: 'forcekN' }, + ], + }, + { + name: 'Mass', + formats: [ + { name: 'milligram (mg)', id: 'massmg' }, + { name: 'gram (g)', id: 'massg' }, + { name: 'pound (lb)', id: 'masslb' }, + { name: 'kilogram (kg)', id: 'masskg' }, + { name: 'metric ton (t)', id: 'masst' }, + ], + }, + { + name: 'Length', + formats: [ + { name: 'millimeter (mm)', id: 'lengthmm' }, + { name: 'inch (in)', id: 'lengthin' }, + { name: 'feet (ft)', id: 'lengthft' }, + { name: 'meter (m)', id: 'lengthm' }, + { name: 'kilometer (km)', id: 'lengthkm' }, + { name: 'mile (mi)', id: 'lengthmi' }, + ], + }, + { + name: 'Pressure', + formats: [ + { name: 'Millibars', id: 'pressurembar' }, + { name: 'Bars', id: 'pressurebar' }, + { name: 'Kilobars', id: 'pressurekbar' }, + { name: 'Pascals', id: 'pressurepa' }, + { name: 'Hectopascals', id: 'pressurehpa' }, + { name: 'Kilopascals', id: 'pressurekpa' }, + { name: 'Inches of mercury', id: 'pressurehg' }, + { name: 'PSI', id: 'pressurepsi' }, + ], + }, + { + name: 'Radiation', + formats: [ + { name: 'Becquerel (Bq)', id: 'radbq' }, + { name: 'curie (Ci)', id: 'radci' }, + { name: 'Gray (Gy)', id: 'radgy' }, + { name: 'rad', id: 'radrad' }, + { name: 'Sievert (Sv)', id: 'radsv' }, + { name: 'milliSievert (mSv)', id: 'radmsv' }, + { name: 'microSievert (µSv)', id: 'radusv' }, + { name: 'rem', id: 'radrem' }, + { name: 'Exposure (C/kg)', id: 'radexpckg' }, + { name: 'roentgen (R)', id: 'radr' }, + { name: 'Sievert/hour (Sv/h)', id: 'radsvh' }, + { name: 'milliSievert/hour (mSv/h)', id: 'radmsvh' }, + { name: 'microSievert/hour (µSv/h)', id: 'radusvh' }, + ], + }, + { + name: 'Rotational Speed', + formats: [ + { name: 'Revolutions per minute (rpm)', id: 'rotrpm' }, + { name: 'Hertz (Hz)', id: 'rothz' }, + { name: 'Radians per second (rad/s)', id: 'rotrads' }, + { name: 'Degrees per second (°/s)', id: 'rotdegs' }, + ], + }, + { + name: 'Temperature', + formats: [ + { name: 'Celsius (°C)', id: 'celsius' }, + { name: 'Fahrenheit (°F)', id: 'fahrenheit' }, + { name: 'Kelvin (K)', id: 'kelvin' }, + ], + }, + { + name: 'Velocity', + formats: [ + { name: 'meters/second (m/s)', id: 'velocityms' }, + { name: 'kilometers/hour (km/h)', id: 'velocitykmh' }, + { name: 'miles/hour (mph)', id: 'velocitymph' }, + { name: 'knot (kn)', id: 'velocityknot' }, + ], + }, + { + name: 'Volume', + formats: [ + { name: 'millilitre (mL)', id: 'mlitre' }, + { name: 'litre (L)', id: 'litre' }, + { name: 'cubic meter', id: 'm3' }, + { name: 'Normal cubic meter', id: 'Nm3' }, + { name: 'cubic decimeter', id: 'dm3' }, + { name: 'gallons', id: 'gallons' }, + ], + }, + { + name: 'Boolean', + formats: [ + { name: 'True / False', id: 'bool' }, + { name: 'Yes / No', id: 'bool_yes_no' }, + { name: 'On / Off', id: 'bool_on_off' }, + ], + }, + { + name: 'Misc', + formats: [ + { name: 'String', id: 'string' }, + { name: 'short', id: 'short' }, + { name: 'Percent (0-100)', id: 'percent' }, + { name: 'Percent (0.0-1.0)', id: 'percentunit' }, + { name: 'Humidity (%H)', id: 'humidity' }, + { name: 'Decibel', id: 'dB' }, + { name: 'Hexadecimal (0x)', id: 'hex0x' }, + { name: 'Hexadecimal', id: 'hex' }, + { name: 'Scientific notation', id: 'sci' }, + { name: 'Locale format', id: 'locale' }, + { name: 'Pixels', id: 'pixel' }, + ], + }, +]; + + +export const flattenedCategories = flattenDeep( + dataTypeCategories.map((category) => { + return category.formats; + }), +); diff --git a/frontend/src/container/NewWidget/RightContainer/index.tsx b/frontend/src/container/NewWidget/RightContainer/index.tsx index 079c5d48e1..c3cf3af033 100644 --- a/frontend/src/container/NewWidget/RightContainer/index.tsx +++ b/frontend/src/container/NewWidget/RightContainer/index.tsx @@ -10,7 +10,10 @@ import { GRAPH_TYPES } from 'container/NewDashboard/ComponentsSlider'; import GraphTypes from 'container/NewDashboard/ComponentsSlider/menuItems'; import React, { useCallback } from 'react'; +import { dataTypeCategories } from './dataFormatCategories'; +// import {ca} from '@grafana/data' import { timePreferance } from './timeItems'; +import YAxisUnitSelector from './YAxisUnitSelector'; const { TextArea } = Input; import TimePreference from 'components/TimePreferenceDropDown'; @@ -35,6 +38,8 @@ const RightContainer = ({ selectedGraph, setSelectedTime, selectedTime, + yAxisUnit, + setYAxisUnit, }: RightContainerProps): JSX.Element => { const onChangeHandler = useCallback( (setFunc: React.Dispatch>, value: string) => { @@ -144,6 +149,7 @@ const RightContainer = ({ setSelectedTime, }} /> + ); }; @@ -162,6 +168,8 @@ interface RightContainerProps { selectedGraph: GRAPH_TYPES; setSelectedTime: React.Dispatch>; selectedTime: timePreferance; + yAxisUnit: string; + setYAxisUnit: React.Dispatch>; } export default RightContainer; diff --git a/frontend/src/container/NewWidget/index.tsx b/frontend/src/container/NewWidget/index.tsx index 832aec9f4b..36a95e9b49 100644 --- a/frontend/src/container/NewWidget/index.tsx +++ b/frontend/src/container/NewWidget/index.tsx @@ -17,7 +17,10 @@ import { SaveDashboard, SaveDashboardProps, } from 'store/actions/dashboard/saveDashboard'; -import { UpdateQuery, UpdateQueryProps } from 'store/actions/dashboard/updateQuery'; +import { + UpdateQuery, + UpdateQueryProps, +} from 'store/actions/dashboard/updateQuery'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { GlobalTime } from 'types/actions/globalTime'; @@ -40,7 +43,7 @@ const NewWidget = ({ applySettingsToPanel, saveSettingOfPanel, getQueryResults, - updateQuery + updateQuery, }: Props): JSX.Element => { const { dashboards } = useSelector( (state) => state.dashboards, @@ -74,6 +77,7 @@ const NewWidget = ({ const [description, setDescription] = useState( selectedWidget?.description || '', ); + const [yAxisUnit, setYAxisUnit] = useState(selectedWidget?.yAxisUnit); const [stacked, setStacked] = useState( selectedWidget?.isStacked || false, @@ -106,6 +110,7 @@ const NewWidget = ({ opacity, timePreferance: selectedTime.enum, title, + yAxisUnit, widgetId: query.get('widgetId') || '', dashboardId: dashboardId, }); @@ -127,11 +132,12 @@ const NewWidget = ({ updateQuery({ widgetId: selectedWidget?.id || '', query: element.query || '', - legend: element.legend || '', - currentIndex: index + legend: element.legend || '', + currentIndex: index, + yAxisUnit, }); - }) - + }); + applySettingsToPanel({ description, isStacked: stacked, @@ -140,8 +146,9 @@ const NewWidget = ({ timePreferance: selectedTime.enum, title, widgetId: selectedWidget?.id || '', + yAxisUnit }); - } + }; const onClickDiscardHandler = useCallback(() => { push(generatePath(ROUTES.DASHBOARD, { dashboardId })); @@ -181,7 +188,7 @@ const NewWidget = ({ - + @@ -194,12 +201,14 @@ const NewWidget = ({ stacked, setStacked, opacity, + yAxisUnit, setOpacity, selectedNullZeroValue, setSelectedNullZeroValue, selectedGraph, setSelectedTime, selectedTime, + setYAxisUnit, }} /> @@ -233,7 +242,7 @@ const mapDispatchToProps = ( applySettingsToPanel: bindActionCreators(ApplySettingsToPanel, dispatch), saveSettingOfPanel: bindActionCreators(SaveDashboard, dispatch), getQueryResults: bindActionCreators(GetQueryResults, dispatch), - updateQuery: bindActionCreators(UpdateQuery, dispatch) + updateQuery: bindActionCreators(UpdateQuery, dispatch), }); type Props = DispatchProps & NewWidgetProps; diff --git a/frontend/src/container/Trace/Graph/index.tsx b/frontend/src/container/Trace/Graph/index.tsx index ce667aec67..e4ab7c49ea 100644 --- a/frontend/src/container/Trace/Graph/index.tsx +++ b/frontend/src/container/Trace/Graph/index.tsx @@ -10,9 +10,10 @@ import { getChartData, getChartDataforGroupBy } from './config'; import { Container } from './styles'; const TraceGraph = (): JSX.Element => { - const { spansGraph, selectedGroupBy } = useSelector( - (state) => state.traces, - ); + const { spansGraph, selectedGroupBy, yAxisUnit } = useSelector< + AppState, + TraceReducer + >((state) => state.traces); const { loading, error, errorMessage, payload } = spansGraph; @@ -40,7 +41,12 @@ const TraceGraph = (): JSX.Element => { return ( - + ); }; diff --git a/frontend/src/container/Trace/TraceGraphFilter/config.ts b/frontend/src/container/Trace/TraceGraphFilter/config.ts index 0c97ca78d5..50769235c8 100644 --- a/frontend/src/container/Trace/TraceGraphFilter/config.ts +++ b/frontend/src/container/Trace/TraceGraphFilter/config.ts @@ -1,6 +1,7 @@ interface Dropdown { key: string; displayValue: string; + yAxisUnit?: string; } export const groupBy: Dropdown[] = [ @@ -60,32 +61,42 @@ export const groupBy: Dropdown[] = [ ]; export const functions: Dropdown[] = [ - { displayValue: 'Count', key: 'count' }, - { displayValue: 'Rate per sec', key: 'ratePerSec' }, - { displayValue: 'Sum(duration in ns)', key: 'sum' }, - { displayValue: 'Avg(duration in ns)', key: 'avg' }, + { displayValue: 'Count', key: 'count', yAxisUnit: 'short' }, + { + displayValue: 'Rate per sec', + key: 'ratePerSec', + yAxisUnit: 'reqps', + }, + { displayValue: 'Sum(duration in ns)', key: 'sum', yAxisUnit: 'ns' }, + { displayValue: 'Avg(duration in ns)', key: 'avg', yAxisUnit: 'ns' }, { displayValue: 'Max(duration in ns)', key: 'max', + yAxisUnit: 'ns', }, { displayValue: 'Min(duration in ns)', key: 'min', + yAxisUnit: 'ns', }, { displayValue: '50th percentile(duration in ns)', key: 'p50', + yAxisUnit: 'ns', }, { displayValue: '90th percentile(duration in ns)', key: 'p90', + yAxisUnit: 'ns', }, { displayValue: '95th percentile(duration in ns)', key: 'p95', + yAxisUnit: 'ns', }, { displayValue: '99th percentile(duration in ns)', key: 'p99', + yAxisUnit: 'ns', }, ]; diff --git a/frontend/src/container/Trace/TraceGraphFilter/index.tsx b/frontend/src/container/Trace/TraceGraphFilter/index.tsx index e6aad7374a..e929efadee 100644 --- a/frontend/src/container/Trace/TraceGraphFilter/index.tsx +++ b/frontend/src/container/Trace/TraceGraphFilter/index.tsx @@ -31,6 +31,7 @@ const TraceGraphFilter = () => { type: UPDATE_SELECTED_FUNCTION, payload: { selectedFunction: selected.key, + yAxisUnit: selected.yAxisUnit, }, }); } diff --git a/frontend/src/store/actions/dashboard/updateQuery.ts b/frontend/src/store/actions/dashboard/updateQuery.ts index c89895ca9a..a129df72e2 100644 --- a/frontend/src/store/actions/dashboard/updateQuery.ts +++ b/frontend/src/store/actions/dashboard/updateQuery.ts @@ -31,6 +31,7 @@ export const UpdateQuery = ( payload: { query: queryArray, widgetId: props.widgetId, + yAxisUnit: props.yAxisUnit, }, }); }; @@ -41,4 +42,5 @@ export interface UpdateQueryProps { query: string; legend: string; currentIndex: number; + yAxisUnit: string | undefined; } diff --git a/frontend/src/store/reducers/dashboard.ts b/frontend/src/store/reducers/dashboard.ts index 41dbf42007..06977ef77e 100644 --- a/frontend/src/store/reducers/dashboard.ts +++ b/frontend/src/store/reducers/dashboard.ts @@ -402,7 +402,7 @@ const dashboard = ( } case UPDATE_QUERY: { - const { query, widgetId } = action.payload; + const { query, widgetId, yAxisUnit } = action.payload; const { dashboards } = state; const [selectedDashboard] = dashboards; const { data } = selectedDashboard; @@ -431,6 +431,7 @@ const dashboard = ( { ...selectedWidget, query, + yAxisUnit, }, ...afterWidget, ], diff --git a/frontend/src/store/reducers/trace.ts b/frontend/src/store/reducers/trace.ts index cbccb6e7af..dc74a0dd66 100644 --- a/frontend/src/store/reducers/trace.ts +++ b/frontend/src/store/reducers/trace.ts @@ -40,6 +40,7 @@ const initialValue: TraceReducer = { }, selectedGroupBy: '', selectedFunction: 'count', + yAxisUnit: '', spansGraph: { error: false, errorMessage: '', @@ -139,6 +140,7 @@ const traceReducer = ( return { ...state, selectedFunction: action.payload.selectedFunction, + yAxisUnit: action.payload.yAxisUnit, }; } diff --git a/frontend/src/types/actions/dashboard.ts b/frontend/src/types/actions/dashboard.ts index 4a5022e587..b0d02d1b67 100644 --- a/frontend/src/types/actions/dashboard.ts +++ b/frontend/src/types/actions/dashboard.ts @@ -138,6 +138,7 @@ interface UpdateQuery { payload: { query: Query[]; widgetId: string; + yAxisUnit: string | undefined; }; } diff --git a/frontend/src/types/actions/trace.ts b/frontend/src/types/actions/trace.ts index a31a676a93..5ea4b85357 100644 --- a/frontend/src/types/actions/trace.ts +++ b/frontend/src/types/actions/trace.ts @@ -116,6 +116,7 @@ export interface UpdateSelectedFunction { type: typeof UPDATE_SELECTED_FUNCTION; payload: { selectedFunction: TraceReducer['selectedFunction']; + yAxisUnit: string | undefined; }; } diff --git a/frontend/src/types/reducer/trace.ts b/frontend/src/types/reducer/trace.ts index a77f4a4b87..a033bf2879 100644 --- a/frontend/src/types/reducer/trace.ts +++ b/frontend/src/types/reducer/trace.ts @@ -27,6 +27,7 @@ export interface TraceReducer { errorMessage: string; payload: PayloadProps; }; + yAxisUnit: string | undefined; } interface SpansAggregateData { diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 50c8c54055..f853d0635b 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1268,6 +1268,11 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@braintree/sanitize-url@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-5.0.2.tgz#b23080fa35520e993a8a37a0f5bca26aa4650a48" + integrity sha512-NBEJlHWrhQucLhZGHtSxM2loSaNUMajC7KOYJLyfcdW/6goVoff2HoYI3bz8YCDN0wKGbxtUL0gx2dvHpvnWlw== + "@cnakazawa/watch@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" @@ -1367,6 +1372,38 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@grafana/data@^8.4.3": + version "8.4.3" + resolved "https://registry.yarnpkg.com/@grafana/data/-/data-8.4.3.tgz#897aa572fb628c8763e1acee59ca52fd3955b04e" + integrity sha512-1rUKpYzP8Z4gvYBQg89F4kJx77aBmsmo49VK1BVCCl7F78xWY5umQJkaSdYInAMUs3RjhXl1ib20US+eA8ldnw== + dependencies: + "@braintree/sanitize-url" "5.0.2" + "@grafana/schema" "8.4.3" + "@types/d3-interpolate" "^1.4.0" + d3-interpolate "1.4.0" + date-fns "2.28.0" + eventemitter3 "4.0.7" + lodash "4.17.21" + marked "4.0.10" + moment "2.29.1" + moment-timezone "0.5.34" + ol "6.12.0" + papaparse "5.3.1" + react "17.0.2" + react-dom "17.0.2" + regenerator-runtime "0.13.9" + rxjs "7.5.1" + tslib "2.3.1" + uplot "1.6.19" + xss "1.0.10" + +"@grafana/schema@8.4.3": + version "8.4.3" + resolved "https://registry.yarnpkg.com/@grafana/schema/-/schema-8.4.3.tgz#fe6a7ad32e01db51561e67f9a8b36d9a2bf98829" + integrity sha512-YwZiWPkOdVeRg70v0kQAN0FJTiKs+arckt9CtNd4bHjtHQYnnEBYqVqXvIUODYAkaNicPZkOy96YQYVTkHotDg== + dependencies: + tslib "2.3.1" + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -1579,6 +1616,35 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@mapbox/jsonlint-lines-primitives@~2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" + integrity sha1-zlblOfg1UrWNENZy6k1vya3HsjQ= + +"@mapbox/mapbox-gl-style-spec@^13.20.1": + version "13.23.1" + resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.23.1.tgz#481f41801517b7b52fea595f07d3633a903a250c" + integrity sha512-C6wh8A/5EdsgzhL6y6yl464VCQNIxK0yjrpnvCvchcFe3sNK2RbBw/J9u3m+p8Y6S6MsGuSMt3AkGAXOKMYweQ== + dependencies: + "@mapbox/jsonlint-lines-primitives" "~2.0.2" + "@mapbox/point-geometry" "^0.1.0" + "@mapbox/unitbezier" "^0.0.0" + csscolorparser "~1.0.2" + json-stringify-pretty-compact "^2.0.0" + minimist "^1.2.5" + rw "^1.3.3" + sort-object "^0.3.2" + +"@mapbox/point-geometry@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" + integrity sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI= + +"@mapbox/unitbezier@^0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" + integrity sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4= + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1600,6 +1666,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@petamoriken/float16@^3.4.7": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.6.3.tgz#7ed8f2ae05ea4096f0ccdf2c2655d04aca545d33" + integrity sha512-Yx6Z93kmz3JVPYoPPRFJXnt2/G4kfaxRROcZVVHsE4zOClJXvkOVidv/JfvP6hWn16lykbKYKVzUsId6mqXdGg== + "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" @@ -1855,6 +1926,11 @@ resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-2.0.3.tgz#3009b792b754da964d893b4269d1fe7757f21370" integrity sha512-koIqSNQLPRQPXt7c55hgRF6Lr9Ps72r1+Biv55jdYR+SHJ463MsB2lp4ktzttFNmrQw/9yWthf/OmSUj5dNXKw== +"@types/d3-color@^1": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-1.4.2.tgz#944f281d04a0f06e134ea96adbb68303515b2784" + integrity sha512-fYtiVLBYy7VQX+Kx7wU/uOIkGQn8aAEY8oWMoyja3N4dLd8Yf6XgSIR/4yWvMuveNOH5VShnqCgRqqh/UNanBA== + "@types/d3-color@^2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-2.0.3.tgz#8bc4589073c80e33d126345542f588056511fe82" @@ -1924,6 +2000,13 @@ resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-2.0.2.tgz#afd09d509c36e8cd4907333556f8b591f23589e9" integrity sha512-6PlBRwbjUPPt0ZFq/HTUyOAdOF3p73EUYots74lHMUyAVtdFSOS/hAeNXtEIM9i7qRDntuIblXxHGUMb9MuNRA== +"@types/d3-interpolate@^1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-1.4.2.tgz#88902a205f682773a517612299a44699285eed7b" + integrity sha512-ylycts6llFf8yAEs1tXzx2loxxzDZHseuhPokrqKprTQSTcD3JbJI1omZP1rphsELZO3Q+of3ff0ZS7+O6yVzg== + dependencies: + "@types/d3-color" "^1" + "@types/d3-interpolate@^2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-2.0.2.tgz#78eddf7278b19e48e8652603045528d46897aba0" @@ -2864,53 +2947,53 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -antd@^4.16.13: - version "4.17.2" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.17.2.tgz#c50123e6da990d8a41bc1ed6fbfc6d587b014ae0" - integrity sha512-1/xwj72mzg2ly5byvnxsgucEL5JMrinlsaAr4Y+vjobmTBSI9l9zOVkwwOG8kPIrFkhrzC1I42n6GZKnTwfZmg== +antd@4.19.2: + version "4.19.2" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.19.2.tgz#5438478aedf61bf670784611cba077387ff0f1b3" + integrity sha512-qXM6d6hFsT5rZJB4TRTHl32dixu1IHmPD0QLzG5YuUpzecv6QoTr1ZMp2/I1MMCb1+n99yQ5gFx7U677AbL5hw== dependencies: "@ant-design/colors" "^6.0.0" "@ant-design/icons" "^4.7.0" "@ant-design/react-slick" "~0.28.1" "@babel/runtime" "^7.12.5" "@ctrl/tinycolor" "^3.4.0" - array-tree-filter "^2.1.0" classnames "^2.2.6" copy-to-clipboard "^3.2.0" lodash "^4.17.21" memoize-one "^6.0.0" moment "^2.25.3" - rc-cascader "~2.2.0" + rc-cascader "~3.2.1" rc-checkbox "~2.3.0" rc-collapse "~3.1.0" rc-dialog "~8.6.0" rc-drawer "~4.4.2" - rc-dropdown "~3.2.0" - rc-field-form "~1.21.0" + rc-dropdown "~3.3.2" + rc-field-form "~1.24.0" rc-image "~5.2.5" + rc-input "~0.0.1-alpha.5" rc-input-number "~7.3.0" rc-mentions "~1.6.1" - rc-menu "~9.0.12" + rc-menu "~9.3.2" rc-motion "^2.4.4" rc-notification "~4.5.7" rc-pagination "~3.1.9" - rc-picker "~2.5.17" - rc-progress "~3.1.0" + rc-picker "~2.6.4" + rc-progress "~3.2.1" rc-rate "~2.9.0" - rc-resize-observer "^1.0.0" - rc-select "~13.1.0-alpha.0" - rc-slider "~9.7.4" + rc-resize-observer "^1.2.0" + rc-select "~14.0.2" + rc-slider "~10.0.0-alpha.4" rc-steps "~4.1.0" rc-switch "~3.2.0" - rc-table "~7.19.0" + rc-table "~7.23.0" rc-tabs "~11.10.0" rc-textarea "~0.3.0" rc-tooltip "~5.1.1" - rc-tree "~5.3.0" - rc-tree-select "~4.7.0" + rc-tree "~5.4.3" + rc-tree-select "~5.1.1" rc-trigger "^5.2.10" rc-upload "~4.3.0" - rc-util "^5.14.0" + rc-util "^5.19.3" scroll-into-view-if-needed "^2.2.25" anymatch@^2.0.0: @@ -3716,7 +3799,7 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -callsites@^3.0.0: +callsites@^3.0.0, callsites@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== @@ -3892,7 +3975,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6: +classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== @@ -4037,7 +4120,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.20.0: +commander@2, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4408,11 +4491,21 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" +csscolorparser@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + integrity sha1-s085HupNqPPpgjHizNjfnAQfFxs= + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= + cssnano-preset-default@^5.1.8: version "5.1.8" resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz#7525feb1b72f7b06e57f55064cbdae341d79dea2" @@ -4773,7 +4866,7 @@ d3-hierarchy@^1.1.4, d3-hierarchy@^1.1.9: resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83" integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ== -d3-interpolate@1, d3-interpolate@^1.1.4: +d3-interpolate@1, d3-interpolate@1.4.0, d3-interpolate@^1.1.4: version "1.4.0" resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987" integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA== @@ -5101,6 +5194,11 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +date-fns@2.28.0: + version "2.28.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== + date-fns@2.x: version "2.27.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.27.0.tgz#e1ff3c3ddbbab8a2eaadbb6106be2929a5a2d92b" @@ -5454,6 +5552,11 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.8.tgz#e1b7752ac1a75e39b5dd90cc7e29ea08b351c484" integrity sha512-Cu5+dbg55+1E3ohlsa8HT0s4b8D0gBewXEGG8s5wBl8ynWv60VuvYW25GpsOeTVXpulhyU/U8JYZH+yxASSJBQ== +emitter-component@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6" + integrity sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY= + emittery@^0.7.1: version "0.7.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" @@ -5800,6 +5903,11 @@ eslint@^7.30.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -5853,7 +5961,7 @@ eventemitter2@^6.4.3: resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.5.tgz#97380f758ae24ac15df8353e0cc27f8b95644655" integrity sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw== -eventemitter3@^4.0.0: +eventemitter3@4.0.7, eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -6358,6 +6466,19 @@ gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +geotiff@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-1.0.9.tgz#a2037c1f672c0a11bfbac8b46bbc56f901e32198" + integrity sha512-PY+q1OP8RtQZkx1630pVfC3hEkxFnGW9LwIF/glSzcalyShkrH+W8uM/M4RVY12j4QkDQvRXVKOpU65hq6t0iQ== + dependencies: + "@petamoriken/float16" "^3.4.7" + lerc "^3.0.0" + lru-cache "^6.0.0" + pako "^2.0.4" + parse-headers "^2.0.2" + threads "^1.7.0" + xml-utils "^1.0.2" + get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -6824,6 +6945,11 @@ icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +ieee754@^1.1.12: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -7154,6 +7280,11 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-observable@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-2.1.0.tgz#5c8d733a0b201c80dff7bb7c0df58c6a255c7c69" + integrity sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw== + is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" @@ -7844,6 +7975,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-pretty-compact@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" + integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -7957,6 +8093,11 @@ lazy-ass@^1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= +lerc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" + integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== + less-loader@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.2.0.tgz#97286d8797dc3dc05b1d16b0ecec5f968bdd4e32" @@ -8182,7 +8323,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@4.17.21, lodash@^4, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8210,7 +8351,7 @@ loglevelnext@^3.0.1: resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-3.0.1.tgz#e3e4659c4061c09264f6812c33586dc55a009a04" integrity sha512-JpjaJhIN1reaSb26SIxDGtE0uc67gPl19OMVHrr+Ggt6b/Vy60jmCtKgQBrygAH0bhRA2nkxgDvM+8QvR8r0YA== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -8282,6 +8423,16 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mapbox-to-css-font@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz#41bf38faed36b7dab069828aa3654e4bd91a1eda" + integrity sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow== + +marked@4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" + integrity sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw== + mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" @@ -8442,7 +8593,14 @@ mkdirp@~1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -moment@>=2.13.0, moment@^2.24.0, moment@^2.25.3: +moment-timezone@0.5.34: + version "0.5.34" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" + integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg== + dependencies: + moment ">= 2.9.0" + +moment@2.29.1, "moment@>= 2.9.0", moment@>=2.13.0, moment@^2.24.0, moment@^2.25.3: version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== @@ -8810,11 +8968,35 @@ object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +observable-fns@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/observable-fns/-/observable-fns-0.6.1.tgz#636eae4fdd1132e88c0faf38d33658cc79d87e37" + integrity sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg== + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== +ol-mapbox-style@^6.8.2: + version "6.9.0" + resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-6.9.0.tgz#b9587e390d8cc2037481ecdea53f0a6b9ba1d46c" + integrity sha512-Isxk+IPB6pCBD2Pubz9cpQcZjEeuPhxyk/QsLZjb2+KwvyGaIFltdlxnxx/QXJ7rOxUiLvS/XhsOyiK0c7prEw== + dependencies: + "@mapbox/mapbox-gl-style-spec" "^13.20.1" + mapbox-to-css-font "^2.4.1" + webfont-matcher "^1.1.0" + +ol@6.12.0: + version "6.12.0" + resolved "https://registry.yarnpkg.com/ol/-/ol-6.12.0.tgz#0de51abad0aaeb0eca41cba3c6d26ee485a3e92b" + integrity sha512-HR87aV//64aiGWbgzfsyRF5zFG+1nM1keRE4SugY0vmYyG/jjoij8qh3uaFHkFNQThdAy99sgLiQwTFk6AvGgw== + dependencies: + geotiff "^1.0.8" + ol-mapbox-style "^6.8.2" + pbf "3.2.1" + rbush "^3.0.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -8980,6 +9162,16 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" + integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== + +papaparse@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.1.tgz#770b7a9124d821d4b2132132b7bd7dce7194b5b1" + integrity sha512-Dbt2yjLJrCwH2sRqKFFJaN5XgIASO9YOFeFP8rIBRG2Ain8mqk5r1M6DkfvqEVozVcz3r3HaUGw253hA1nLIcA== + param-case@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -9013,7 +9205,7 @@ parse-bmfont-xml@^1.1.4: xml-parse-from-string "^1.0.0" xml2js "^0.4.5" -parse-headers@^2.0.0: +parse-headers@^2.0.0, parse-headers@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== @@ -9110,6 +9302,14 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pbf@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" + integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== + dependencies: + ieee754 "^1.1.12" + resolve-protobuf-schema "^2.1.0" + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -9664,6 +9864,11 @@ prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.8, pr object-assign "^4.1.1" react-is "^16.8.1" +protocol-buffers-schema@^3.3.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" + integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== + proxy-addr@~2.0.5: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -9743,6 +9948,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + raf@^3.1.0: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -9777,6 +9987,13 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + rc-align@^4.0.0: version "4.0.11" resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e" @@ -9789,17 +10006,17 @@ rc-align@^4.0.0: rc-util "^5.3.0" resize-observer-polyfill "^1.5.1" -rc-cascader@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-2.2.1.tgz#ec6cfa9d631e6e787abedb2db8c6b014ba1e15b6" - integrity sha512-4saWcwpmxxh5fhUdaDgOLF2gWL8KNxLwWqELX702HNXEt2yU7AixjfvgEORNsnQZleT2W2AaGMkRDeWrwt8fMw== +rc-cascader@~3.2.1: + version "3.2.9" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.2.9.tgz#b993fa2829d77e9cb98cf4b7711e13a1b1812db6" + integrity sha512-Mvkegzf506PD7qc38kg2tGllIBXs5dio3DPg+NER7SiOfCXBCATWYEs0CbUp8JDQgYHoHF0vPvFMYtxFTJuWaw== dependencies: "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" - rc-tree-select "~4.7.0" - rc-trigger "^5.0.4" - rc-util "^5.0.1" - warning "^4.0.1" + classnames "^2.3.1" + rc-select "~14.0.0-alpha.23" + rc-tree "~5.4.3" + rc-util "^5.6.1" rc-checkbox@~2.3.0: version "2.3.2" @@ -9839,7 +10056,7 @@ rc-drawer@~4.4.2: classnames "^2.2.6" rc-util "^5.7.0" -rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: +rc-dropdown@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.2.0.tgz#da6c2ada403842baee3a9e909a0b1a91ba3e1090" integrity sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw== @@ -9848,10 +10065,20 @@ rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: classnames "^2.2.6" rc-trigger "^5.0.4" -rc-field-form@~1.21.0: - version "1.21.2" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.21.2.tgz#85bda1ee006ae9f1d146e1000337c69b4bb6d101" - integrity sha512-LR/bURt/Tf5g39mb0wtMtQuWn42d/7kEzpzlC5fNC7yaRVmLTtlPP4sBBlaViETM9uZQKLoaB0Pt9Mubhm9gow== +rc-dropdown@~3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.3.3.tgz#17ba32ebd066ae397b00e9e4d570c7c21daed88f" + integrity sha512-UNe68VpvtrpU0CS4jh5hD4iGqzi4Pdp7uOya6+H3QIEZxe7K+Xs11BNjZm6W4MaL0jTmzUj+bxvnq5bP3rRoVQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-trigger "^5.0.4" + rc-util "^5.17.0" + +rc-field-form@~1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.24.0.tgz#2510a5c34713831ddcb412d4560be9057fc0dc5e" + integrity sha512-5beNBU5gEyi8YRYyqbTWSu5hO0jZQN0AWpY3U7TcllUKrDLcZZdRXuAOpyxJQcttWFs+UAFsbcRAUtnOGBjl7w== dependencies: "@babel/runtime" "^7.8.4" async-validator "^4.0.2" @@ -9876,6 +10103,15 @@ rc-input-number@~7.3.0: classnames "^2.2.5" rc-util "^5.9.8" +rc-input@~0.0.1-alpha.5: + version "0.0.1-alpha.5" + resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-0.0.1-alpha.5.tgz#cc043c44570c651f4d10d9809b3d634ed12537e6" + integrity sha512-RHvNweOVWFbbx2l/y6hgnSAdOg5fXc1D1VGhX2RNkGGyGr6cemnvyiYMxwZJjcXs0al3YK9jMObm20+DgH/mpw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.18.1" + rc-mentions@~1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae" @@ -9888,7 +10124,7 @@ rc-mentions@~1.6.1: rc-trigger "^5.0.4" rc-util "^5.0.1" -rc-menu@^9.0.0, rc-menu@~9.0.12: +rc-menu@^9.0.0: version "9.0.14" resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.0.14.tgz#289bda4a2f6c5ebb3248e2e305d52cf0c73cb9d5" integrity sha512-CIox5mZeLDAi32SlHrV7UeSjv7tmJJhwRyxQtZCKt351w3q59XlL4WMFOmtT9gwIfP9h0XoxdBZUMe/xzkp78A== @@ -9901,6 +10137,19 @@ rc-menu@^9.0.0, rc-menu@~9.0.12: rc-util "^5.12.0" shallowequal "^1.1.0" +rc-menu@~9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz#bb842d37ebf71da912bea201cf7ef0a27267ad49" + integrity sha512-h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.2.0" + rc-trigger "^5.1.2" + rc-util "^5.12.0" + shallowequal "^1.1.0" + rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" @@ -9938,10 +10187,10 @@ rc-pagination@~3.1.9: "@babel/runtime" "^7.10.1" classnames "^2.2.1" -rc-picker@~2.5.17: - version "2.5.19" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.5.19.tgz#73d07546fac3992f0bfabf2789654acada39e46f" - integrity sha512-u6myoCu/qiQ0vLbNzSzNrzTQhs7mldArCpPHrEI6OUiifs+IPXmbesqSm0zilJjfzrZJLgYeyyOMSznSlh0GKA== +rc-picker@~2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.6.4.tgz#916aa5fcd8abd11106f1c2fb64bfd549439abfa0" + integrity sha512-Mnc1udPyGNSG7/ya5SmYltUjCUcsMH7jfJnuuXVAvEaEdx9qZxDGMWtIii//+ARC06CSHQ83s5iwiGFwM+FcDw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" @@ -9952,13 +10201,14 @@ rc-picker@~2.5.17: rc-util "^5.4.0" shallowequal "^1.1.0" -rc-progress@~3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.1.4.tgz#66040d0fae7d8ced2b38588378eccb2864bad615" - integrity sha512-XBAif08eunHssGeIdxMXOmRQRULdHaDdIFENQ578CMb4dyewahmmfJRyab+hw4KH4XssEzzYOkAInTLS7JJG+Q== +rc-progress@~3.2.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.2.4.tgz#4036acdae2566438545bc4df2203248babaf7549" + integrity sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.6" + rc-util "^5.16.1" rc-rate@~2.9.0: version "2.9.1" @@ -9979,28 +10229,38 @@ rc-resize-observer@^1.0.0: rc-util "^5.15.0" resize-observer-polyfill "^1.5.1" -rc-select@~13.1.0-alpha.0: - version "13.1.1" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-13.1.1.tgz#851315d08a743504db57c7a5358cc907b69b45a5" - integrity sha512-Oy4L27x5QgGR8902pw0bJVjrTWFnKPKvdLHzJl5pjiA+jM1hpzDfLGg/bY2ntk5ElxxQKZUwbFKUeqfCQU7SrQ== +rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" + integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.15.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8, rc-select@~14.0.2: + version "14.0.3" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.3.tgz#4b6ce3232e7d546b3455b38d99c775e32487f200" + integrity sha512-f7FZMySpEvuu6ey2ruTER092vfmCtM3q7vkATO65VMy9jqGgicRxDfJw2IsDOgXWOq3bDQpgkoJuZpNe0WhngA== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" rc-motion "^2.0.1" rc-overflow "^1.0.0" rc-trigger "^5.0.4" - rc-util "^5.9.8" + rc-util "^5.16.1" rc-virtual-list "^3.2.0" -rc-slider@~9.7.4: - version "9.7.4" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.4.tgz#430c860723bf6445ebf53517b550417a2f25eed1" - integrity sha512-pjLKLiDKiaL7/pNywfIBD+lDo5TtVo05KuIBSWEIoqu6FHh6IMWvthCiaODuYaVs3RLeF2nXOP5AjkD2Lt2Rwg== +rc-slider@~10.0.0-alpha.4: + version "10.0.0-alpha.5" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.0.0-alpha.5.tgz#cf13751bda15ce210a1c0d80e1675411e4c4b995" + integrity sha512-EUAl7silkx+vtBbRkjUEzFWzxnMJrxOLcmUhCwP2xdZybRInRnLMU6TfE1fJLxb6ZN77ghSai6k7yExayVC+Gg== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" rc-tooltip "^5.0.1" - rc-util "^5.0.0" + rc-util "^5.18.1" shallowequal "^1.1.0" rc-steps@~4.1.0: @@ -10021,14 +10281,14 @@ rc-switch@~3.2.0: classnames "^2.2.1" rc-util "^5.0.1" -rc-table@~7.19.0: - version "7.19.2" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.19.2.tgz#976337a5dace3b8e04bea9554d72bc83aa5ab301" - integrity sha512-NdpnoM50MK02H5/hGOsObfxCvGFUG5cHB9turE5BKJ81T5Ycbq193w5tLhnpILXe//Oanzr47MdMxkUnVGP+qg== +rc-table@~7.23.0: + version "7.23.0" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.23.0.tgz#e5f76998ecf3246147d45ed311417c08886e6507" + integrity sha512-Q1gneB2+lUa8EzCCfbrq+jO1qNSwQv1RUUXKB84W/Stdp4EvGOt2+QqGyfotMNM4JUw0fgGLwY+WjnhUhnLuQQ== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" - rc-resize-observer "^1.0.0" + rc-resize-observer "^1.1.0" rc-util "^5.14.0" shallowequal "^1.1.0" @@ -10062,27 +10322,27 @@ rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: "@babel/runtime" "^7.11.2" rc-trigger "^5.0.0" -rc-tree-select@~4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.7.0.tgz#4e612d5ba3f30a51f590e3c0e38e1e4c49f34aef" - integrity sha512-xcc2yPpQieTW6BcRkcKbT1dcAYCQ7ARtkoHlS9EsNdd6xgw9LA6rek6PMed8r/VRMfiKtWV4c4xijW5PI6s4Rw== +rc-tree-select@~5.1.1: + version "5.1.4" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.1.4.tgz#3577135399d1f4931b0f4d8245e0845861802e2b" + integrity sha512-sA6vTUQghzbjh3u6YAwJIebKkJEHUWDPFHQpfiPObqsEYqi9TKE1LvWqbJ77NbOlOARZq0KIb7LDGF8X0dikDQ== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" - rc-select "~13.1.0-alpha.0" - rc-tree "~5.3.0" - rc-util "^5.7.0" + rc-select "~14.0.0-alpha.8" + rc-tree "~5.4.3" + rc-util "^5.16.1" -rc-tree@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.3.0.tgz#766195ffbd65741000d4caf66980bd474d8ac9a2" - integrity sha512-A9GpRalG9sCsC+D3Dw9AB3a2gggf7KUT1FoCGGrbmCH1vsBYfTm3Z4RqEUrWtC7793HRccUTxqnENymkKS99lw== +rc-tree@~5.4.3: + version "5.4.4" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.4.4.tgz#2ea3663ad3c566aef79a46ba6a1e050d24323e01" + integrity sha512-2qoObRgp31DBXmVzMJmo4qmwP20XEa4hR3imWQtRPcgN3pmljW3WKFmZRrYdOFHz7CyTnRsFZR065bBkIoUpiA== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" rc-motion "^2.0.1" - rc-util "^5.0.0" - rc-virtual-list "^3.4.1" + rc-util "^5.16.1" + rc-virtual-list "^3.4.2" rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10: version "5.2.10" @@ -10104,7 +10364,7 @@ rc-upload@~4.3.0: classnames "^2.2.5" rc-util "^5.2.0" -rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: +rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: version "5.16.0" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.16.0.tgz#3d169d36c2d0fc0e456fa3fb7fd058725985db05" integrity sha512-Pp3C9WMc7LvLy/V4BtkRZRENizrbQInvy61muxsIA7beC44D1G8w6hcKrcQ4ujeZA4qhvUT0jLgOok2OhxBTRQ== @@ -10113,7 +10373,16 @@ rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, react-is "^16.12.0" shallowequal "^1.1.0" -rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.1: +rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.19.3.tgz#5f6aa854820f6d5824451d80771035b013eaf6d8" + integrity sha512-S28epi9E2s7Nir05q8Ffl3hzDLwkavTGi0PGH1cTqCmkpG1AeBEuZgQDpksYeU6IgHcds5hWIPE5PUcdFiZl8w== + dependencies: + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" + +rc-virtual-list@^3.2.0: version "3.4.2" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.2.tgz#1078327aa7230b5e456d679ed2ce99f3c036ebd1" integrity sha512-OyVrrPvvFcHvV0ssz5EDZ+7Rf5qLat/+mmujjchNw5FfbJWNDwkpQ99EcVE6+FtNRmX9wFa1LGNpZLUTvp/4GQ== @@ -10122,6 +10391,15 @@ rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.1: rc-resize-observer "^1.0.0" rc-util "^5.0.7" +rc-virtual-list@^3.4.2: + version "3.4.4" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.4.tgz#be42832edecdcffc56260df131e437a2e0473bca" + integrity sha512-Zb2h0B+ZhA/aysZNEUkQYaqx0hd8hq7WMIUegII+1KfFjh99GtHZ4ZMWB+SlpdVadskKJZzUWWzIq5N1mE6AVg== + dependencies: + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.0.7" + react-dom@17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.0.tgz#f8266e4d9861584553ccbd186d596a1c7dd8dcb4" @@ -10131,6 +10409,15 @@ react-dom@17.0.0: object-assign "^4.1.1" scheduler "^0.20.0" +react-dom@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + react-draggable@^4.0.0, react-draggable@^4.0.3: version "4.4.4" resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.4.tgz#5b26d9996be63d32d285a426f41055de87e59b2f" @@ -10325,6 +10612,14 @@ react@17.0.0: loose-envify "^1.1.0" object-assign "^4.1.1" +react@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -10412,7 +10707,7 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: +regenerator-runtime@0.13.9, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== @@ -10559,6 +10854,13 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== +resolve-protobuf-schema@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== + dependencies: + protocol-buffers-schema "^3.3.1" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -10639,11 +10941,18 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rw@1: +rw@1, rw@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= +rxjs@7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.1.tgz#af73df343cbcab37628197f43ea0c8256f54b157" + integrity sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ== + dependencies: + tslib "^2.1.0" + rxjs@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" @@ -10709,7 +11018,7 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.20.0: +scheduler@^0.20.0, scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== @@ -11039,6 +11348,24 @@ sockjs@^0.3.21: uuid "^3.4.0" websocket-driver "^0.7.4" +sort-asc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" + integrity sha1-q3md9h/HPqCVbHnEtTHtHp53J+k= + +sort-desc@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" + integrity sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4= + +sort-object@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" + integrity sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI= + dependencies: + sort-asc "^0.1.0" + sort-desc "^0.1.1" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -11241,6 +11568,13 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +stream@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stream/-/stream-0.0.2.tgz#7f5363f057f6592c5595f00bc80a27f5cec1f0ef" + integrity sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8= + dependencies: + emitter-component "^1.1.1" + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -11554,6 +11888,18 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +threads@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/threads/-/threads-1.7.0.tgz#d9e9627bfc1ef22ada3b733c2e7558bbe78e589c" + integrity sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ== + dependencies: + callsites "^3.1.0" + debug "^4.2.0" + is-observable "^2.1.0" + observable-fns "^0.6.1" + optionalDependencies: + tiny-worker ">= 2" + three-bmfont-text@dmarcos/three-bmfont-text#1babdf8507c731a18f8af3b807292e2b9740955e: version "2.3.0" resolved "https://codeload.github.com/dmarcos/three-bmfont-text/tar.gz/1babdf8507c731a18f8af3b807292e2b9740955e" @@ -11653,6 +11999,13 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +"tiny-worker@>= 2": + version "2.3.0" + resolved "https://registry.yarnpkg.com/tiny-worker/-/tiny-worker-2.3.0.tgz#715ae34304c757a9af573ae9a8e3967177e6011e" + integrity sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g== + dependencies: + esm "^3.2.25" + tinycolor2@^1.4, tinycolor2@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" @@ -11788,16 +12141,16 @@ tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" +tslib@2.3.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" @@ -11971,6 +12324,11 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== +uplot@1.6.19: + version "1.6.19" + resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.19.tgz#98f461992a3f7f3bda7a62f4a028b8afa8da7942" + integrity sha512-s5Oab13s8zUzuZ/KiSV0GRhEvuKptAg2831fkt2PFsginIP1NSsiNrcozlc+tTPuUEAt+4rAXqX521I1DrZwEg== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -12103,13 +12461,6 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -warning@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - watchpack@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" @@ -12130,6 +12481,11 @@ web-vitals@^0.2.4: resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.4.tgz#ec3df43c834a207fd7cdefd732b2987896e08511" integrity sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg== +webfont-matcher@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webfont-matcher/-/webfont-matcher-1.1.0.tgz#98ce95097b29e31fbe733053e10e571642d1c6c7" + integrity sha1-mM6VCXsp4x++czBT4Q5XFkLRxsc= + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -12448,6 +12804,11 @@ xml-parse-from-string@^1.0.0: resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= +xml-utils@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz#8081bfefb87b72e03e4adbabdd217ccbbc395eeb" + integrity sha512-rEn0FvKi+YGjv9omf22oAf+0d6Ly/sgJ/CUufU/nOzS7SRLmgwSujrewc03KojXxt+aPaTRpm593TgehtUBMSQ== + xml2js@^0.4.5: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" @@ -12466,6 +12827,14 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xss@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.10.tgz#5cd63a9b147a755a14cb0455c7db8866120eb4d2" + integrity sha512-qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From a95656b3a0e3d665d0f214d2e6251bf9e055ebfe Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 15:29:23 +0530 Subject: [PATCH 23/52] fix: x axis label when the time stamp is not parsed --- frontend/src/components/Graph/xAxisConfig.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/Graph/xAxisConfig.ts b/frontend/src/components/Graph/xAxisConfig.ts index 493c36e5b7..ae99a49a23 100644 --- a/frontend/src/components/Graph/xAxisConfig.ts +++ b/frontend/src/components/Graph/xAxisConfig.ts @@ -77,8 +77,8 @@ export const useXAxisTimeUnit = (data: Chart['data']): IAxisTimeConfig => { try { let minTime = Number.POSITIVE_INFINITY; let maxTime = Number.NEGATIVE_INFINITY; - data?.labels?.forEach((timeStamp: any) => { - timeStamp = Date.parse(timeStamp); + data?.labels?.forEach((timeStamp: string | number): void => { + if (typeof timeStamp === 'string') timeStamp = Date.parse(timeStamp); minTime = Math.min(timeStamp, minTime); maxTime = Math.max(timeStamp, maxTime); }); From 7f3d9e2e35b58784c839702d235340664129df26 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 16:05:21 +0530 Subject: [PATCH 24/52] feat: PR review changes --- frontend/src/components/Styled/index.ts | 41 ++++++++----------- frontend/src/components/Styled/styles.ts | 2 +- frontend/src/container/Timeline/index.tsx | 9 ++-- frontend/src/container/TraceDetail/index.tsx | 7 ++-- .../src/container/TraceFlameGraph/index.tsx | 1 - 5 files changed, 27 insertions(+), 33 deletions(-) diff --git a/frontend/src/components/Styled/index.ts b/frontend/src/components/Styled/index.ts index 45b53896d1..bff30f653e 100644 --- a/frontend/src/components/Styled/index.ts +++ b/frontend/src/components/Styled/index.ts @@ -3,10 +3,7 @@ import { TextProps } from 'antd/lib/typography/Text'; import { TitleProps } from 'antd/lib/typography/Title'; import React from 'react'; import styled, { - css, - DefaultTheme, FlattenSimpleInterpolation, - ThemedCssFunction, } from 'styled-components'; import { IStyledClass } from './types'; @@ -14,52 +11,50 @@ import { IStyledClass } from './types'; const styledClass = (props: IStyledClass): FlattenSimpleInterpolation => props.styledclass; -interface IStyledCol extends AntD.ColProps, IStyledClass {} -const StyledCol = styled(AntD.Col)` +type TStyledCol = AntD.ColProps & IStyledClass; +const StyledCol = styled(AntD.Col)` ${styledClass} `; -interface IStyledRow extends AntD.RowProps, IStyledClass {} -const StyledRow = styled(AntD.Row)` +type TStyledRow = AntD.RowProps & IStyledClass; +const StyledRow = styled(AntD.Row)` ${styledClass} `; -interface IStyledDivider extends AntD.DividerProps, IStyledClass {} -const StyledDivider = styled(AntD.Divider)` +type TStyledDivider = AntD.DividerProps & IStyledClass; +const StyledDivider = styled(AntD.Divider)` ${styledClass} `; -interface IStyledSpace extends AntD.SpaceProps, IStyledClass {} -const StyledSpace = styled(AntD.Space)` +type TStyledSpace = AntD.SpaceProps & IStyledClass; +const StyledSpace = styled(AntD.Space)` ${styledClass} `; -interface IStyledTabs extends AntD.TabsProps, IStyledClass {} -const StyledTabs = styled(AntD.Divider)` +type TStyledTabs = AntD.TabsProps & IStyledClass; +const StyledTabs = styled(AntD.Divider)` ${styledClass} `; -interface IStyledButton extends AntD.ButtonProps, IStyledClass {} -const StyledButton = styled(AntD.Button)` +type TStyledButton = AntD.ButtonProps & IStyledClass; +const StyledButton = styled(AntD.Button)` ${styledClass} `; const { Text } = AntD.Typography; -interface IStyledTypographyText extends TextProps, IStyledClass {} -const StyledTypographyText = styled(Text)` +type TStyledTypographyText = TextProps & IStyledClass; +const StyledTypographyText = styled(Text)` ${styledClass} `; const { Title } = AntD.Typography; -interface IStyledTypographyTitle extends TitleProps, IStyledClass {} -const StyledTypographyTitle = styled(Title)` +type TStyledTypographyTitle = TitleProps & IStyledClass; +const StyledTypographyTitle = styled(Title)` ${styledClass} `; -interface IStyledDiv - extends React.HTMLAttributes, - IStyledClass {} -const StyledDiv = styled.div` +type TStyledDiv = React.HTMLAttributes & IStyledClass; +const StyledDiv = styled.div` ${styledClass} `; diff --git a/frontend/src/components/Styled/styles.ts b/frontend/src/components/Styled/styles.ts index 153ef27a94..8425beae07 100644 --- a/frontend/src/components/Styled/styles.ts +++ b/frontend/src/components/Styled/styles.ts @@ -1,6 +1,6 @@ import { css, FlattenSimpleInterpolation } from 'styled-components'; -const cssProprty = (key: string, value: any): FlattenSimpleInterpolation => +const cssProprty = (key: string, value): FlattenSimpleInterpolation => key && value && css` diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 2e3fbd2053..6458b8a5a3 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -1,5 +1,5 @@ import { StyledDiv } from 'components/Styled'; -import { INTERVAL_UNITS } from 'container/TraceDetail/utils'; +import { IIntervalUnit, INTERVAL_UNITS } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; import React, { useEffect, useState } from 'react'; import { useMeasure } from 'react-use'; @@ -68,10 +68,9 @@ const Timeline = ({ {intervals && intervals.map((interval, index) => ( @@ -93,7 +92,7 @@ const Timeline = ({ interface TimelineProps { traceMetaData: object; globalTraceMetadata: object; - intervalUnit: object; + intervalUnit: IIntervalUnit; setIntervalUnit: any; } diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index 553f4f292b..e89d78530a 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -25,8 +25,7 @@ import { spanToTreeUtil } from 'utils/spanToTree'; import SelectedSpanDetails from './SelectedSpanDetails'; import * as styles from './styles'; -import { getSortedData } from './utils'; -import { INTERVAL_UNITS } from './utils'; +import { getSortedData, IIntervalUnit, INTERVAL_UNITS } from './utils'; const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { const spanServiceColors = useMemo( @@ -37,7 +36,9 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { const urlQuery = useUrlQuery(); const [spanId] = useState(urlQuery.get('spanId')); - const [intervalUnit, setIntervalUnit] = useState(INTERVAL_UNITS[0]); + const [intervalUnit, setIntervalUnit] = useState( + INTERVAL_UNITS[0], + ); // const [searchSpanString, setSearchSpanString] = useState(''); const [activeHoverId, setActiveHoverId] = useState(''); const [activeSelectedId, setActiveSelectedId] = useState(spanId || ''); diff --git a/frontend/src/container/TraceFlameGraph/index.tsx b/frontend/src/container/TraceFlameGraph/index.tsx index bbf35b9fce..344098624f 100644 --- a/frontend/src/container/TraceFlameGraph/index.tsx +++ b/frontend/src/container/TraceFlameGraph/index.tsx @@ -5,7 +5,6 @@ import { } from 'container/TraceDetail/utils'; import useThemeMode from 'hooks/useThemeMode'; import React, { useLayoutEffect, useMemo, useState } from 'react'; -import { pushDStree } from 'store/actions'; import { ITraceTree } from 'types/api/trace/getTraceItem'; import { toFixed } from 'utils/toFixed'; From 00c7eccb0c1287297caa08b02c9c822d4cb57141 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 16:14:27 +0530 Subject: [PATCH 25/52] fix: remove any type --- frontend/src/container/Timeline/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 6458b8a5a3..86030630e3 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -93,7 +93,7 @@ interface TimelineProps { traceMetaData: object; globalTraceMetadata: object; intervalUnit: IIntervalUnit; - setIntervalUnit: any; + setIntervalUnit: () => void; } export default Timeline; From 3ebffae1c6027e15ead591d3ec8238fdeba39eb0 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 16:16:20 +0530 Subject: [PATCH 26/52] chore: revert eslint --debug flag --- frontend/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 458341f1cb..48c33a04fc 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,8 +7,8 @@ "dev": "cross-env NODE_ENV=development webpack serve --progress", "build": "webpack --config=webpack.config.prod.js --progress", "prettify": "prettier --write .", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "eslint . --debug", + "lint:fix": "eslint . --fix --debug", "cypress:open": "cypress open", "cypress:run": "cypress run", "jest": "jest", From da8b16f5887e52de2df64f775cfbcdd7ef53cd35 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 16:27:06 +0530 Subject: [PATCH 27/52] feat: Updates TS type --- frontend/src/container/Timeline/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 86030630e3..127c7c1b97 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -91,7 +91,7 @@ const Timeline = ({ interface TimelineProps { traceMetaData: object; - globalTraceMetadata: object; + globalTraceMetadata: Record; intervalUnit: IIntervalUnit; setIntervalUnit: () => void; } From daadc584ea8829033aa3c5650a922328a382cfd0 Mon Sep 17 00:00:00 2001 From: Pranshu Chittora Date: Wed, 16 Mar 2022 16:28:11 +0530 Subject: [PATCH 28/52] feat: update ts type --- frontend/src/container/Timeline/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 127c7c1b97..deed52a9cf 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -93,7 +93,7 @@ interface TimelineProps { traceMetaData: object; globalTraceMetadata: Record; intervalUnit: IIntervalUnit; - setIntervalUnit: () => void; + setIntervalUnit: VoidFunction; } export default Timeline; From c320c20280814245c731946c913520b926f160ef Mon Sep 17 00:00:00 2001 From: Palash gupta Date: Wed, 16 Mar 2022 17:09:27 +0530 Subject: [PATCH 29/52] chore: styled tab is updated to Tab from antd --- .../container/TraceDetail/SelectedSpanDetails/index.tsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx index 13df0efef8..704405fed6 100644 --- a/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx +++ b/frontend/src/container/TraceDetail/SelectedSpanDetails/index.tsx @@ -1,5 +1,5 @@ import { Space, Tabs, Typography } from 'antd'; -import { StyledSpace, StyledTabs } from 'components/Styled'; +import { StyledSpace } from 'components/Styled'; import useThemeMode from 'hooks/useThemeMode'; import React from 'react'; import { ITraceTree } from 'types/api/trace/getTraceItem'; @@ -42,10 +42,7 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { {name} - + {tags.length !== 0 ? ( tags.map((tags) => { @@ -73,7 +70,7 @@ const SelectedSpanDetails = (props: SelectedSpanDetailsProps): JSX.Element => { No events data in selected span )} - + ); }; From 7a3a3b8d8916f502e96c7937386737aba9cb276a Mon Sep 17 00:00:00 2001 From: palash-signoz Date: Wed, 16 Mar 2022 22:35:13 +0530 Subject: [PATCH 30/52] bug: edit channel is fixed (#855) --- frontend/src/container/EditAlertChannels/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/container/EditAlertChannels/index.tsx b/frontend/src/container/EditAlertChannels/index.tsx index bd707ee2b3..033b861a4a 100644 --- a/frontend/src/container/EditAlertChannels/index.tsx +++ b/frontend/src/container/EditAlertChannels/index.tsx @@ -56,7 +56,7 @@ const EditAlertChannels = ({ }); } setSavingState(false); - }, [selectedConfig, notifications, toggleSettingsTab, id]); + }, [selectedConfig, notifications, id]); const onSaveHandler = useCallback( (value: ChannelType) => { From 4337ab5cd08dbc8c903e75e85b25613b886195e3 Mon Sep 17 00:00:00 2001 From: Prashant Shahi Date: Wed, 16 Mar 2022 22:59:20 +0530 Subject: [PATCH 31/52] =?UTF-8?q?chore(install-script):=20=E2=9C=A8=20remo?= =?UTF-8?q?ve=20mandatory=20sudo=20and=20digest=20improvement=20=20(#836)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(install-script): ✨ add fallback sha1sum command Signed-off-by: Prashant Shahi * chore(install-script): ✨ remove mandatory sudo and digest improvement Signed-off-by: Prashant Shahi * chore(install-script): 🔧 use sudo_cmd variable Signed-off-by: Prashant Shahi * chore(install-script): 🔧 remove depreciated druid section Signed-off-by: Prashant Shahi * chore(install-script): 🔧 sudo prompt changes Signed-off-by: Prashant Shahi --- deploy/install.sh | 217 +++++++++++++++++++++++++--------------------- 1 file changed, 116 insertions(+), 101 deletions(-) diff --git a/deploy/install.sh b/deploy/install.sh index 2ee9983ff1..6fc59ceba1 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -102,7 +102,7 @@ check_os() { # The script should error out in case they aren't available check_ports_occupied() { local port_check_output - local ports_pattern="80|3301|8080" + local ports_pattern="3301|4317" if is_mac; then port_check_output="$(netstat -anp tcp | awk '$6 == "LISTEN" && $4 ~ /^.*\.('"$ports_pattern"')$/')" @@ -119,7 +119,7 @@ check_ports_occupied() { send_event "port_not_available" echo "+++++++++++ ERROR ++++++++++++++++++++++" - echo "SigNoz requires ports 80 & 443 to be open. Please shut down any other service(s) that may be running on these ports." + echo "SigNoz requires ports 3301 & 4317 to be open. Please shut down any other service(s) that may be running on these ports." echo "You can run SigNoz on another port following this guide https://signoz.io/docs/deployment/docker#troubleshooting" echo "++++++++++++++++++++++++++++++++++++++++" echo "" @@ -133,58 +133,42 @@ install_docker() { if [[ $package_manager == apt-get ]]; then - apt_cmd="sudo apt-get --yes --quiet" + apt_cmd="$sudo_cmd apt-get --yes --quiet" $apt_cmd update $apt_cmd install software-properties-common gnupg-agent - curl -fsSL "https://download.docker.com/linux/$os/gpg" | sudo apt-key add - - sudo add-apt-repository \ + curl -fsSL "https://download.docker.com/linux/$os/gpg" | $sudo_cmd apt-key add - + $sudo_cmd add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/$os $(lsb_release -cs) stable" $apt_cmd update echo "Installing docker" $apt_cmd install docker-ce docker-ce-cli containerd.io elif [[ $package_manager == zypper ]]; then - zypper_cmd="sudo zypper --quiet --no-gpg-checks --non-interactive" + zypper_cmd="zypper --quiet --no-gpg-checks --non-interactive" echo "Installing docker" if [[ $os == sles ]]; then os_sp="$(cat /etc/*-release | awk -F= '$1 == "VERSION_ID" { gsub(/"/, ""); print $2; exit }')" os_arch="$(uname -i)" - sudo SUSEConnect -p sle-module-containers/$os_sp/$os_arch -r '' + SUSEConnect -p sle-module-containers/$os_sp/$os_arch -r '' fi $zypper_cmd install docker docker-runc containerd - sudo systemctl enable docker.service + systemctl enable docker.service elif [[ $package_manager == yum && $os == 'amazon linux' ]]; then echo echo "Amazon Linux detected ... " echo - # sudo yum install docker - # sudo service docker start - sudo amazon-linux-extras install docker + # yum install docker + # service docker start + amazon-linux-extras install docker else - yum_cmd="sudo yum --assumeyes --quiet" + yum_cmd="yum --assumeyes --quiet" $yum_cmd install yum-utils - sudo yum-config-manager --add-repo https://download.docker.com/linux/$os/docker-ce.repo + yum-config-manager --add-repo https://download.docker.com/linux/$os/docker-ce.repo echo "Installing docker" $yum_cmd install docker-ce docker-ce-cli containerd.io fi -} -install_docker_machine() { - - echo "\nInstalling docker machine ..." - - if [[ $os == "Mac" ]];then - curl -sL https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine - chmod +x /usr/local/bin/docker-machine - else - curl -sL https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine - chmod +x /tmp/docker-machine - sudo cp /tmp/docker-machine /usr/local/bin/docker-machine - - fi - - } install_docker_compose() { @@ -192,9 +176,9 @@ install_docker_compose() { if [[ ! -f /usr/bin/docker-compose ]];then echo "++++++++++++++++++++++++" echo "Installing docker-compose" - sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - sudo chmod +x /usr/local/bin/docker-compose - sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose + curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose echo "docker-compose installed!" echo "" fi @@ -210,16 +194,23 @@ install_docker_compose() { } start_docker() { - echo "Starting Docker ..." + echo -e "🐳 Starting Docker ...\n" if [ $os = "Mac" ]; then open --background -a Docker && while ! docker system info > /dev/null 2>&1; do sleep 1; done else - if ! sudo systemctl is-active docker.service > /dev/null; then + if ! systemctl is-active docker.service > /dev/null; then echo "Starting docker service" - sudo systemctl start docker.service + systemctl start docker.service + fi + if [ -z $sudo_cmd ]; then + docker ps > /dev/null && true + if [ $? -ne 0 ]; then + request_sudo + fi fi fi } + wait_for_containers_start() { local timeout=$1 @@ -229,16 +220,6 @@ wait_for_containers_start() { if [[ status_code -eq 200 ]]; then break else - if [ $setup_type == 'druid' ]; then - SUPERVISORS="$(curl -so - http://localhost:8888/druid/indexer/v1/supervisor)" - LEN_SUPERVISORS="${#SUPERVISORS}" - - if [[ LEN_SUPERVISORS -ne 19 && $timeout -eq 50 ]];then - echo -e "\n🟠 Supervisors taking time to start ⏳ ... let's wait for some more time ⏱️\n\n" - sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml up -d - fi - fi - echo -ne "Waiting for all containers to start. This check will timeout in $timeout seconds ...\r\c" fi ((timeout--)) @@ -254,26 +235,25 @@ bye() { # Prints a friendly good bye message and exits the script. echo "🔴 The containers didn't seem to start correctly. Please run the following command to check containers that may have errored out:" echo "" - if [ $setup_type == 'clickhouse' ]; then - if is_arm64; then - echo -e "sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml ps -a" - else - echo -e "sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml ps -a" - fi - else - echo -e "sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml ps -a" + if is_arm64; then + echo -e "$sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml ps -a" + else + echo -e "$sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml ps -a" fi + # echo "Please read our troubleshooting guide https://signoz.io/docs/deployment/docker#troubleshooting" echo "or reach us for support in #help channel in our Slack Community https://signoz.io/slack" echo "++++++++++++++++++++++++++++++++++++++++" - echo -e "\n📨 Please share your email to receive support with the installation" - read -rp 'Email: ' email - - while [[ $email == "" ]] - do + if [[ email == "" ]]; then + echo -e "\n📨 Please share your email to receive support with the installation" read -rp 'Email: ' email - done + + while [[ $email == "" ]] + do + read -rp 'Email: ' email + done + fi send_event "installation_support" @@ -284,16 +264,47 @@ bye() { # Prints a friendly good bye message and exits the script. fi } +request_sudo() { + if hash sudo 2>/dev/null; then + sudo_cmd="sudo" + echo -e "\n\n🙇 We will need sudo access to complete the installation." + if ! $sudo_cmd -v && (( $EUID != 0 )); then + echo -e "Please enter your sudo password now:" + + if ! $sudo_cmd -v; then + echo "Need sudo privileges to proceed with the installation." + exit 1; + fi + echo -e "Thanks! 🙏\n" + echo -e "Okay! We will bring up the SigNoz cluster from here 🚀\n" + fi + fi +} + +echo "" echo -e "👋 Thank you for trying out SigNoz! " echo "" +sudo_cmd="" + +# Check sudo permissions +if (( $EUID != 0 )); then + echo "🟡 Running installer with non-sudo permissions." + if ! is_command_present docker; then + $sudo_cmd docker ps + fi + echo " In case of any failure or prompt, please consider running the script with sudo privileges." + echo "" +else + sudo_cmd="sudo" +fi # Checking OS and assigning package manager desired_os=0 os="" email="" -echo -e "Detecting your OS ..." +echo -e "🌏 Detecting your OS ...\n" check_os # Obtain unique installation id @@ -301,9 +312,22 @@ sysinfo="$(uname -a)" if [ $? -ne 0 ]; then uuid="$(uuidgen)" uuid="${uuid:-$(cat /proc/sys/kernel/random/uuid)}" - SIGNOZ_INSTALLATION_ID="${uuid:-$(cat /proc/sys/kernel/random/uuid)}" + sysinfo="${uuid:-$(cat /proc/sys/kernel/random/uuid)}" +fi + +digest_cmd="" +if hash shasum 2>/dev/null; then + digest_cmd="shasum -a 256" +elif hash sha256sum 2>/dev/null; then + digest_cmd="sha256sum" +elif hash openssl 2>/dev/null; then + digest_cmd="openssl dgst -sha256" +fi + +if [ -z $digest_cmd ]; then + SIGNOZ_INSTALLATION_ID="$sysinfo" else - SIGNOZ_INSTALLATION_ID=$(echo "$sysinfo" | shasum | cut -d ' ' -f1) + SIGNOZ_INSTALLATION_ID=$(echo "$sysinfo" | $digest_cmd | grep -E -o '[a-zA-Z0-9]{64}') fi # echo "" @@ -364,13 +388,7 @@ send_event() { 'installation_error_checks') event="Installation Error - Checks" error="Containers not started" - if [ $setup_type == 'clickhouse' ]; then - others='"data": "some_checks",' - else - supervisors="$(curl -so - http://localhost:8888/druid/indexer/v1/supervisor)" - datasources="$(curl -so - http://localhost:8888/druid/coordinator/v1/datasources)" - others='"supervisors": "'"$supervisors"'", "datasources": "'"$datasources"'",' - fi + others='"data": "some_checks",' ;; 'installation_support') event="Installation Support" @@ -412,15 +430,28 @@ fi # Check is Docker daemon is installed and available. If not, the install & start Docker for Linux machines. We cannot automatically install Docker Desktop on Mac OS if ! is_command_present docker; then + if [[ $package_manager == "apt-get" || $package_manager == "zypper" || $package_manager == "yum" ]]; then + request_sudo install_docker - else + # enable docker without sudo from next reboot + sudo usermod -aG docker "${USER}" + elif is_mac; then echo "" echo "+++++++++++ IMPORTANT READ ++++++++++++++++++++++" echo "Docker Desktop must be installed manually on Mac OS to proceed. Docker can only be installed automatically on Ubuntu / openSUSE / SLES / Redhat / Cent OS" echo "https://docs.docker.com/docker-for-mac/install/" echo "++++++++++++++++++++++++++++++++++++++++++++++++" + send_event "docker_not_installed" + exit 1 + else + echo "" + echo "+++++++++++ IMPORTANT READ ++++++++++++++++++++++" + echo "Docker must be installed manually on your machine to proceed. Docker can only be installed automatically on Ubuntu / openSUSE / SLES / Redhat / Cent OS" + echo "https://docs.docker.com/get-docker/" + echo "++++++++++++++++++++++++++++++++++++++++++++++++" + send_event "docker_not_installed" exit 1 fi @@ -428,42 +459,32 @@ fi # Install docker-compose if ! is_command_present docker-compose; then + request_sudo install_docker_compose fi - start_docker - -# sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml up -d --remove-orphans || true +# $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml up -d --remove-orphans || true echo "" -echo -e "\n🟡 Pulling the latest container images for SigNoz. To run as sudo it may ask for system password\n" -if [ $setup_type == 'clickhouse' ]; then - if is_arm64; then - sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml pull - else - sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml pull - fi +echo -e "\n🟡 Pulling the latest container images for SigNoz.\n" +if is_arm64; then + $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml pull else - sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml pull + $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml pull fi - echo "" echo "🟡 Starting the SigNoz containers. It may take a few minutes ..." echo # The docker-compose command does some nasty stuff for the `--detach` functionality. So we add a `|| true` so that the # script doesn't exit because this command looks like it failed to do it's thing. -if [ $setup_type == 'clickhouse' ]; then - if is_arm64; then - sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml up --detach --remove-orphans || true - else - sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml up --detach --remove-orphans || true - fi +if is_arm64; then + $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml up --detach --remove-orphans || true else - sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml up --detach --remove-orphans || true + $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml up --detach --remove-orphans || true fi wait_for_containers_start 60 @@ -473,11 +494,9 @@ if [[ $status_code -ne 200 ]]; then echo "+++++++++++ ERROR ++++++++++++++++++++++" echo "🔴 The containers didn't seem to start correctly. Please run the following command to check containers that may have errored out:" echo "" - if [ $setup_type == 'clickhouse' ]; then - echo -e "sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml ps -a" - else - echo -e "sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml ps -a" - fi + + echo -e "$sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml ps -a" + echo "Please read our troubleshooting guide https://signoz.io/docs/deployment/docker/#troubleshooting-of-common-issues" echo "or reach us on SigNoz for support https://signoz.io/slack" echo "++++++++++++++++++++++++++++++++++++++++" @@ -495,14 +514,10 @@ else echo -e "🟢 Your frontend is running on http://localhost:3301" echo "" - if [ $setup_type == 'clickhouse' ]; then - if is_arm64; then - echo "ℹ️ To bring down SigNoz and clean volumes : sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml down -v" - else - echo "ℹ️ To bring down SigNoz and clean volumes : sudo docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml down -v" - fi + if is_arm64; then + echo "ℹ️ To bring down SigNoz and clean volumes : $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.arm.yaml down -v" else - echo "ℹ️ To bring down SigNoz and clean volumes : sudo docker-compose -f ./docker/druid-kafka-setup/docker-compose-tiny.yaml down -v" + echo "ℹ️ To bring down SigNoz and clean volumes : $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml down -v" fi echo "" From a238123eb2e0facf3f1db4eee12b9a834f022f14 Mon Sep 17 00:00:00 2001 From: palash-signoz Date: Wed, 16 Mar 2022 23:24:27 +0530 Subject: [PATCH 32/52] feat: monaco editor is updated (#851) --- frontend/package.json | 2 +- frontend/src/components/Editor/index.tsx | 47 +- frontend/src/components/Editor/styles.ts | 8 - frontend/yarn.lock | 3755 ++++++++++------------ 4 files changed, 1747 insertions(+), 2065 deletions(-) delete mode 100644 frontend/src/components/Editor/styles.ts diff --git a/frontend/package.json b/frontend/package.json index e88cc97035..7b8c78ebd5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,6 +22,7 @@ "license": "ISC", "dependencies": { "@ant-design/icons": "^4.6.2", + "@monaco-editor/react": "^4.3.1", "@grafana/data": "^8.4.3", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", @@ -52,7 +53,6 @@ "less": "^4.1.2", "less-loader": "^10.2.0", "mini-css-extract-plugin": "2.4.5", - "monaco-editor": "^0.30.0", "react": "17.0.0", "react-dom": "17.0.0", "react-force-graph": "^1.41.0", diff --git a/frontend/src/components/Editor/index.tsx b/frontend/src/components/Editor/index.tsx index 3d9ce44ee6..df11085a9d 100644 --- a/frontend/src/components/Editor/index.tsx +++ b/frontend/src/components/Editor/index.tsx @@ -1,41 +1,16 @@ -import * as monaco from 'monaco-editor'; -import React, { useEffect, useRef } from 'react'; - -import { Container } from './styles'; +import MEditor from '@monaco-editor/react'; +import React from 'react'; const Editor = ({ value }: EditorProps): JSX.Element => { - const divEl = useRef(null); - const editorRef = useRef(); - - useEffect(() => { - let editor = editorRef.current; - - if (divEl.current) { - editor = monaco.editor.create(divEl.current, { - value: value.current || '', - useShadowDOM: true, - theme: 'vs-dark', - automaticLayout: true, - fontSize: 16, - minimap: { - enabled: false, - }, - language: 'yaml', - }); - } - - editor?.getModel()?.onDidChangeContent(() => { - value.current = editor?.getValue() || ''; - }); - - return (): void => { - if (editor) { - editor.dispose(); - } - }; - }, [value]); - - return ; + return ( + + ); }; interface EditorProps { diff --git a/frontend/src/components/Editor/styles.ts b/frontend/src/components/Editor/styles.ts deleted file mode 100644 index f1208237be..0000000000 --- a/frontend/src/components/Editor/styles.ts +++ /dev/null @@ -1,8 +0,0 @@ -import styled from 'styled-components'; - -export const Container = styled.div` - &&& { - min-height: 40vh; - width: 100%; - } -`; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index f853d0635b..0bee89545b 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -3,17 +3,17 @@ "3d-force-graph-ar@^1.7": - version "1.7.1" - resolved "https://registry.yarnpkg.com/3d-force-graph-ar/-/3d-force-graph-ar-1.7.1.tgz#ad4a5993bdfebf7e292569aecd8b5620c68d76f1" - integrity sha512-YZvKgHqwetnENyaRT9hW461b55JMSk4gnfWNgXUeSW5Qfkz71vci8PVqv9SYw5G9/7t/ggelysbOp06Va/l1UQ== + version "1.7.5" + resolved "https://registry.yarnpkg.com/3d-force-graph-ar/-/3d-force-graph-ar-1.7.5.tgz#0f96f8b71a1bf89f79b5635d538044efd161c64b" + integrity sha512-4aZafpHHAqn04tbb54Qsi3weBnZJhpnZNfO3RWTNAG29O5VamXxWOGpEHzTtKFi8Svr9D8Ath0UeFAMsiXqL0Q== dependencies: aframe-forcegraph-component "^3.0" kapsule "^1.13" "3d-force-graph-vr@^2.0": - version "2.0.7" - resolved "https://registry.yarnpkg.com/3d-force-graph-vr/-/3d-force-graph-vr-2.0.7.tgz#ecbf925ddd6ce4b9b6980976b3f490d9a8bd39da" - integrity sha512-nPwX0vWo8TDoC8OH3KkWAiY0jhoZGUY7YO5wNHIh9qotcXCLKy+1Yow5sIzi0n9QSMJEmCBifV0Pge2rLYXF/A== + version "2.0.12" + resolved "https://registry.yarnpkg.com/3d-force-graph-vr/-/3d-force-graph-vr-2.0.12.tgz#715d8aae5a5208d635805155cb20b4f540bb08db" + integrity sha512-+TDfBVT4Eqrc7PpmBxtrIxuk7+OJ76QwYj5dM/u1LVq3femf3qLz7uwk2f7t1hBUWvhfF8ub4idUSo+dL6CRbw== dependencies: accessor-fn "1" aframe "^1.2" @@ -22,9 +22,9 @@ kapsule "^1.13" "3d-force-graph@^1.70": - version "1.70.5" - resolved "https://registry.yarnpkg.com/3d-force-graph/-/3d-force-graph-1.70.5.tgz#28a623576f76a131ced74c559ded8f183bebdfc6" - integrity sha512-YEtMvuLwzD3xZhhAdR6HKFFWZfK2t6wQI9/R2xMQ5yCoqYOb1UdSNIfVFAjN5aG3f4W97FyK8H1fADE3Omxrvw== + version "1.70.9" + resolved "https://registry.yarnpkg.com/3d-force-graph/-/3d-force-graph-1.70.9.tgz#0781a7a9a5c22561345dedc373696cb222d584e1" + integrity sha512-K6VJqqoRT/9W+t6VV+e3c43Iu2jS4VzLhhG/ODDkQLFSwdszMNYMyD7x1xoUB/wuFz7sWgXFMsa0L5O2LsKp+w== dependencies: accessor-fn "1" kapsule "^1.13" @@ -32,6 +32,13 @@ three-forcegraph "^1.39" three-render-objects "^1.26" +"@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + "@ant-design/colors@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" @@ -73,119 +80,98 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: - "@babel/highlight" "^7.16.0" + "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" + integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.7" + "@babel/parser" "^7.17.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.1.2" semver "^6.3.0" - source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== +"@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.17.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.15.4", "@babel/helper-annotate-as-pure@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== +"@babel/helper-annotate-as-pure@^7.15.4", "@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" - integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" + integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/helper-explode-assignable-expression" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" + integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" + "@babel/compat-data" "^7.17.7" + "@babel/helper-validator-option" "^7.16.7" browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" - integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.1", "@babel/helper-create-class-features-plugin@^7.17.6": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-regexp-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" - integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== +"@babel/helper-create-regexp-features-plugin@^7.16.7": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" + integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - regexpu-core "^4.7.1" + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^5.0.1" -"@babel/helper-define-polyfill-provider@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" - integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -196,346 +182,323 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" - integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== +"@babel/helper-explode-assignable-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" + integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== dependencies: - "@babel/types" "^7.16.0" + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.17.0" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== dependencies: - "@babel/types" "^7.16.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" - integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-wrap-function" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== dependencies: - "@babel/types" "^7.16.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== dependencies: "@babel/types" "^7.16.0" -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== -"@babel/helper-wrap-function@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" - integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/helper-function-name" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" -"@babel/helpers@^7.12.1", "@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== +"@babel/helpers@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" + integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== dependencies: - "@babel/helper-validator-identifier" "^7.15.7" + "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.0": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" - integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.7.0": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" + integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": - version "7.16.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" - integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" + integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" - integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" + integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" - integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== +"@babel/plugin-proposal-async-generator-functions@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.4" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== +"@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" - integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== +"@babel/plugin-proposal-class-static-block@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" + integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-proposal-class-static-block@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" - integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.17.6" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" - integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== +"@babel/plugin-proposal-decorators@^7.16.4": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz#c36372ddfe0360cac1ee331a238310bddca11493" + integrity sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.12.1" + "@babel/helper-create-class-features-plugin" "^7.17.1" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/plugin-syntax-decorators" "^7.17.0" + charcodes "^0.2.0" -"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" - integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== +"@babel/plugin-proposal-dynamic-import@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" + integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" - integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== +"@babel/plugin-proposal-export-namespace-from@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" + integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" - integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== +"@babel/plugin-proposal-json-strings@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" + integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" - integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" + integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" + integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" - integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== +"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" + integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" - integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== +"@babel/plugin-proposal-object-rest-spread@^7.16.7": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" + integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" - integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/compat-data" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.7" -"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" - integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" + integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" - integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== +"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" + integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" - integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" - integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== +"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.10" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-private-property-in-object@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" - integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== +"@babel/plugin-proposal-private-property-in-object@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" + integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" - integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": +"@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== @@ -549,7 +512,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -563,14 +526,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" - integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== +"@babel/plugin-syntax-decorators@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz#a2be3b2c9fe7d78bd4994e790896bc411e2f166d" + integrity sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -584,12 +547,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz#07427021d093ed77019408221beaf0272bbcfaec" - integrity sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig== +"@babel/plugin-syntax-flow@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832" + integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -598,19 +561,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": +"@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" - integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" + integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -619,7 +582,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -633,21 +596,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": +"@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -661,447 +624,358 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" - integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== +"@babel/plugin-syntax-typescript@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" + integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" - integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== +"@babel/plugin-transform-arrow-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" - integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== +"@babel/plugin-transform-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" - integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== +"@babel/plugin-transform-block-scoped-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" - integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== +"@babel/plugin-transform-block-scoping@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" - integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== +"@babel/plugin-transform-classes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" - integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== +"@babel/plugin-transform-computed-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" - integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== +"@babel/plugin-transform-destructuring@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" - integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" - integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== +"@babel/plugin-transform-duplicate-keys@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" + integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" - integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== +"@babel/plugin-transform-exponentiation-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" + integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-flow-strip-types@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" - integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== +"@babel/plugin-transform-flow-strip-types@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz#291fb140c78dabbf87f2427e7c7c332b126964b8" + integrity sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.12.1" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-flow" "^7.16.7" -"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" - integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== +"@babel/plugin-transform-for-of@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" - integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== +"@babel/plugin-transform-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" - integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== +"@babel/plugin-transform-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" - integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== +"@babel/plugin-transform-member-expression-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" - integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== +"@babel/plugin-transform-modules-amd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" + integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" - integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== +"@babel/plugin-transform-modules-commonjs@^7.16.8": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" - integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== +"@babel/plugin-transform-modules-systemjs@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" + integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== dependencies: - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.15.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" - integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== +"@babel/plugin-transform-modules-umd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" + integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" - integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" -"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" - integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== +"@babel/plugin-transform-new-target@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" + integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" - integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== +"@babel/plugin-transform-object-super@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" - integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== +"@babel/plugin-transform-parameters@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" - integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== +"@babel/plugin-transform-property-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-display-name@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" - integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" + integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" - integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== +"@babel/plugin-transform-react-jsx-development@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" + integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-react-jsx" "^7.16.7" -"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" - integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== +"@babel/plugin-transform-react-jsx@^7.16.7": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" + integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.16.7" + "@babel/types" "^7.17.0" -"@babel/plugin-transform-react-jsx-self@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.0.tgz#09202158abbc716a08330f392bfb98d6b9acfa0c" - integrity sha512-97yCFY+2GvniqOThOSjPor8xUoDiQ0STVWAQMl3pjhJoFVe5DuXDLZCRSZxu9clx+oRCbTiXGgKEG/Yoyo6Y+w== +"@babel/plugin-transform-react-pure-annotations@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" + integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-jsx-source@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.0.tgz#d40c959d7803aae38224594585748693e84c0a22" - integrity sha512-8yvbGGrHOeb/oyPc9tzNoe9/lmIjz3HLa9Nc5dMGDyNpGjfFrk8D2KdEq9NRkftZzeoQEW6yPQ29TMZtrLiUUA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" - integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" - integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" - integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== +"@babel/plugin-transform-regenerator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" + integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" - integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== +"@babel/plugin-transform-reserved-words@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" + integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" - integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== +"@babel/plugin-transform-runtime@^7.16.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" + integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" - semver "^5.5.1" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" - integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== +"@babel/plugin-transform-shorthand-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" - integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== +"@babel/plugin-transform-spread@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" - integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== +"@babel/plugin-transform-sticky-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" + integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" - integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== +"@babel/plugin-transform-template-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" - integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== +"@babel/plugin-transform-typeof-symbol@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" + integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typescript@^7.12.1", "@babel/plugin-transform-typescript@^7.16.0": - version "7.16.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409" - integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg== +"@babel/plugin-transform-typescript@^7.16.7": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" + integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-typescript" "^7.16.7" -"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" - integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== +"@babel/plugin-transform-unicode-escapes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" + integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" - integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== +"@babel/plugin-transform-unicode-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" + integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" - integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== +"@babel/preset-env@^7.12.17", "@babel/preset-env@^7.16.4": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-compilation-targets" "^7.12.1" - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.1" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.1" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.1" - core-js-compat "^3.6.2" - semver "^5.5.0" - -"@babel/preset-env@^7.12.17": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" - integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.4" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-class-static-block" "^7.16.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.0" - "@babel/plugin-proposal-export-namespace-from" "^7.16.0" - "@babel/plugin-proposal-json-strings" "^7.16.0" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-object-rest-spread" "^7.16.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-proposal-private-property-in-object" "^7.16.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1116,47 +990,47 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.0" - "@babel/plugin-transform-async-to-generator" "^7.16.0" - "@babel/plugin-transform-block-scoped-functions" "^7.16.0" - "@babel/plugin-transform-block-scoping" "^7.16.0" - "@babel/plugin-transform-classes" "^7.16.0" - "@babel/plugin-transform-computed-properties" "^7.16.0" - "@babel/plugin-transform-destructuring" "^7.16.0" - "@babel/plugin-transform-dotall-regex" "^7.16.0" - "@babel/plugin-transform-duplicate-keys" "^7.16.0" - "@babel/plugin-transform-exponentiation-operator" "^7.16.0" - "@babel/plugin-transform-for-of" "^7.16.0" - "@babel/plugin-transform-function-name" "^7.16.0" - "@babel/plugin-transform-literals" "^7.16.0" - "@babel/plugin-transform-member-expression-literals" "^7.16.0" - "@babel/plugin-transform-modules-amd" "^7.16.0" - "@babel/plugin-transform-modules-commonjs" "^7.16.0" - "@babel/plugin-transform-modules-systemjs" "^7.16.0" - "@babel/plugin-transform-modules-umd" "^7.16.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" - "@babel/plugin-transform-new-target" "^7.16.0" - "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.3" - "@babel/plugin-transform-property-literals" "^7.16.0" - "@babel/plugin-transform-regenerator" "^7.16.0" - "@babel/plugin-transform-reserved-words" "^7.16.0" - "@babel/plugin-transform-shorthand-properties" "^7.16.0" - "@babel/plugin-transform-spread" "^7.16.0" - "@babel/plugin-transform-sticky-regex" "^7.16.0" - "@babel/plugin-transform-template-literals" "^7.16.0" - "@babel/plugin-transform-typeof-symbol" "^7.16.0" - "@babel/plugin-transform-unicode-escapes" "^7.16.0" - "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/plugin-transform-arrow-functions" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.8" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" + core-js-compat "^3.20.2" semver "^6.3.0" -"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": +"@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== @@ -1167,100 +1041,73 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" - integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== +"@babel/preset-react@^7.12.13", "@babel/preset-react@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" + integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-react-display-name" "^7.12.1" - "@babel/plugin-transform-react-jsx" "^7.12.1" - "@babel/plugin-transform-react-jsx-development" "^7.12.1" - "@babel/plugin-transform-react-jsx-self" "^7.12.1" - "@babel/plugin-transform-react-jsx-source" "^7.12.1" - "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-react-display-name" "^7.16.7" + "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/plugin-transform-react-jsx-development" "^7.16.7" + "@babel/plugin-transform-react-pure-annotations" "^7.16.7" -"@babel/preset-react@^7.12.13": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" - integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== +"@babel/preset-typescript@^7.12.17", "@babel/preset-typescript@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" + integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-react-jsx" "^7.16.0" - "@babel/plugin-transform-react-jsx-development" "^7.16.0" - "@babel/plugin-transform-react-pure-annotations" "^7.16.0" - -"@babel/preset-typescript@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" - integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-typescript" "^7.12.1" - -"@babel/preset-typescript@^7.12.17": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz#b0b4f105b855fb3d631ec036cdc9d1ffd1fa5eac" - integrity sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-typescript" "^7.16.0" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-typescript" "^7.16.7" "@babel/runtime-corejs3@^7.10.2": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" - integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.7.tgz#cf914f474c490ef1aa8661d47adaa0a993636e7e" + integrity sha512-TvliGJjhxis5m7xIMvlXH/xG8Oa/LK0SCUCyfKD6nLi42n5fB4WibDJ0g9trmmBB6hwpMNx+Lzbxy9/4gpMaVw== dependencies: - core-js-pure "^3.19.0" + core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" + integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== +"@babel/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== dependencies: - regenerator-runtime "^0.13.4" + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/template@^7.10.4", "@babel/template@^7.16.0", "@babel/template@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== dependencies: - "@babel/helper-validator-identifier" "^7.15.7" + "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1331,9 +1178,9 @@ lodash.once "^4.1.1" "@discoveryjs/json-ext@^0.5.0": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" - integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@emotion/is-prop-valid@^0.8.8": version "0.8.8" @@ -1605,16 +1452,23 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" - integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" "@mapbox/jsonlint-lines-primitives@~2.0.2": version "2.0.2" @@ -1645,6 +1499,21 @@ resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" integrity sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4= +"@monaco-editor/loader@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.2.0.tgz#373fad69973384624e3d9b60eefd786461a76acd" + integrity sha512-cJVCG/T/KxXgzYnjKqyAgsKDbH9mGLjcXxN6AmwumBwa2rVFkwvGcUj1RJtD0ko4XqLqJxwqsN/Z/KURB5f1OQ== + dependencies: + state-local "^1.0.6" + +"@monaco-editor/react@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.3.1.tgz#d65bcbf174c39b6d4e7fec43d0cddda82b70a12a" + integrity sha512-f+0BK1PP/W5I50hHHmwf11+Ea92E5H1VZXs+wvKplWUWOfyMa1VVwqkJrXjRvbcqHL+XdIGYWhWNdi4McEvnZg== + dependencies: + "@monaco-editor/loader" "^1.2.0" + prop-types "^15.7.2" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1713,9 +1582,9 @@ pretty-format "^26.6.2" "@testing-library/dom@^8.1.0": - version "8.11.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.11.1.tgz#03fa2684aa09ade589b460db46b4c7be9fc69753" - integrity sha512-3KQDyx9r0RKYailW2MiYrSSKEfH0GTkI51UGEvJenvcoDoeRYs0PZpi2SXqtnMClQvCqdtTTpOfFETDTVADpAg== + version "8.11.3" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.11.3.tgz#38fd63cbfe14557021e88982d931e33fb7c1a808" + integrity sha512-9LId28I+lx70wUiZjLvi1DB/WT2zGOxUh46glrSNMaWVx849kKAluezVzZrXJfTKKoQTmEOutLes/bHg4Bj3aA== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -1727,13 +1596,13 @@ pretty-format "^27.0.2" "@testing-library/jest-dom@^5.11.4": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.15.1.tgz#4c49ba4d244f235aec53f0a83498daeb4ee06c33" - integrity sha512-kmj8opVDRE1E4GXyLlESsQthCXK7An28dFWxhiMwD7ZUI7ZxA6sjdJRxLerD9Jd8cHX4BDc1jzXaaZKqzlUkvg== + version "5.16.2" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.2.tgz#f329b36b44aa6149cd6ced9adf567f8b6aa1c959" + integrity sha512-6ewxs1MXWwsBFZXIk4nKKskWANelkdUehchEOokHsN8X7c2eKXGw+77aRV63UU8f/DTSVUPLaGxdrj4lN7D/ug== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^4.2.2" + aria-query "^5.0.0" chalk "^3.0.0" css "^3.0.0" css.escape "^1.5.1" @@ -1797,9 +1666,9 @@ integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + version "7.1.18" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1808,9 +1677,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" @@ -1837,10 +1706,10 @@ "@types/connect" "*" "@types/node" "*" -"@types/bonjour@*": - version "3.5.9" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.9.tgz#3cc4e5135dbb5940fc6051604809234612f89cb4" - integrity sha512-VkZUiYevvtPyFu5XtpYw9a8moCSzxgjs5PAFF4yXjA7eYHvzBlXe+eJdqBBNWWVzI1r7Ki0KxMYvaQuhm+6f5A== +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== dependencies: "@types/node" "*" @@ -1864,14 +1733,13 @@ "@types/color-convert" "*" "@types/compression-webpack-plugin@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@types/compression-webpack-plugin/-/compression-webpack-plugin-9.0.0.tgz#d7d504e2268e84e1413a99c072d6ff9aee31f213" - integrity sha512-3DdireWRs+SoAIKhbBIowoUMwMOXVKrDHeIO82e7D6/yJRw6kgzFhCnamJJNo10uHJ7YqP1h+g5itW+HlLw7Lg== + version "9.1.1" + resolved "https://registry.yarnpkg.com/@types/compression-webpack-plugin/-/compression-webpack-plugin-9.1.1.tgz#c73bf509c13e51fe05e0b84722ed88503cfa3bcc" + integrity sha512-cCZFFPFgZ42nWv+uHNgUenQl4gjo+oIvdPwLkGnsJBD6IpaN8dKxanLksHtc5fvlo74a5/sOuX6H320r/GROUw== dependencies: - tapable "^2.2.0" - webpack "^5.51.0" + compression-webpack-plugin "*" -"@types/connect-history-api-fallback@*": +"@types/connect-history-api-fallback@^1.3.5": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== @@ -1895,13 +1763,6 @@ tapable "^2.0.0" webpack "^5.1.0" -"@types/cssnano@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/cssnano/-/cssnano-4.0.1.tgz#67fa912753d80973a016e7684a47fedf338aacff" - integrity sha512-hGOroxRTBkYl5gSBRJOffhV4+io+Y2bFX1VP7LgKEVHJt/LPPJaWUIuDAz74Vlp7l7hCDZfaDi7iPxwNwuVA4Q== - dependencies: - postcss "5 - 7" - "@types/d3-array@^2": version "2.12.3" resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-2.12.3.tgz#8d16d51fb04ad5a5a8ebe14eb8263a579f1efdd1" @@ -1967,9 +1828,9 @@ integrity sha512-T4aL2ZzaILkLGKbxssipYVRs8334PSR9FQzTGftZbc3jIPGkiXXS7qUCh8/q8UWFzxBZQ92dvR0v7+AM9wL2PA== "@types/d3-ease@^2": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-2.0.1.tgz#be03d29980ed7359be1d5b93ff666f95ddcbcf48" - integrity sha512-Af1ftZXv82ktPCk1+Vxe7f+VSfxDsQ1mwwakDl17+UzI/ii3vsDIAzaBDDSEQd2Cg9BYPTSx8wXH8rJNDuSjeg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-2.0.2.tgz#e6fadfffcf5e93bca1629699ad8ee0f61d2129fb" + integrity sha512-29Y73Tg6o6aL+3/S/kEun84m5BO4bjRNau6pMWv9N9rZHcJv/O/07mW6EjqxrePZZS64fj0wiB5LMHr4Jzf3eQ== "@types/d3-fetch@^2": version "2.0.2" @@ -2015,9 +1876,9 @@ "@types/d3-color" "^2" "@types/d3-path@^2": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-2.0.1.tgz#ca03dfa8b94d8add97ad0cd97e96e2006b4763cb" - integrity sha512-6K8LaFlztlhZO7mwsZg7ClRsdLg3FJRzIIi6SZXDWmmSJc2x8dd2VkESbLXdk3p8cuvz71f36S0y8Zv2AxqvQw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-2.0.2.tgz#6052f38f6186319769dfabab61b5514b0e02c75c" + integrity sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg== "@types/d3-polygon@^2": version "2.0.1" @@ -2136,37 +1997,37 @@ "@types/d3-transition" "^2" "@types/d3-zoom" "^2" -"@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== +"@types/eslint-scope@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" + integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.0.tgz#afd0519223c29c347087542cbaee2fedc0873b16" - integrity sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ== + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@*", "@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.26" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.26.tgz#5d9a8eeecb9d5f9d7fc1d85f541512a84638ae88" - integrity sha512-zeu3tpouA043RHxW0gzRxwCHchMgftE8GArRsvYT0ByDMbn19olQHx5jLue0LxWY6iYtXb7rXmuVtSkhy9YZvQ== + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" -"@types/express@*": +"@types/express@*", "@types/express@^4.17.13": version "4.17.13" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== @@ -2188,10 +2049,10 @@ dependencies: "@types/node" "*" -"@types/history@*": - version "4.7.9" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz#1cfb6d60ef3822c589f18e70f8b12f9a28ce8724" - integrity sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ== +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== "@types/hoist-non-react-statics@*", "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" @@ -2206,17 +2067,17 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== -"@types/http-proxy@^1.17.5": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f" - integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w== +"@types/http-proxy@^1.17.8": + version "1.17.8" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" + integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" @@ -2233,11 +2094,11 @@ "@types/istanbul-lib-report" "*" "@types/jest@*": - version "27.0.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.3.tgz#0cf9dfe9009e467f70a342f0f94ead19842a783a" - integrity sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg== + version "27.4.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d" + integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw== dependencies: - jest-diff "^27.0.0" + jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" "@types/jest@^26.0.15": @@ -2264,31 +2125,36 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/lodash-es@^4.17.4": - version "4.17.5" - resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.5.tgz#1c3fdd16849d84aea43890b1c60da379fb501353" - integrity sha512-SHBoI8/0aoMQWAgUHMQ599VM6ZiSKg8sh/0cFqqlQQMyY9uEplc0ULU5yQNzcvdR4ZKa0ey8+vFmahuRbOCT1A== + version "4.17.6" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.6.tgz#c2ed4c8320ffa6f11b43eb89e9eaeec65966a0a0" + integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg== dependencies: "@types/lodash" "*" "@types/lodash@*": - version "4.14.177" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578" - integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw== + version "4.14.180" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.180.tgz#4ab7c9ddfc92ec4a887886483bc14c79fb380670" + integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/node@*", "@types/node@^16.10.3": - version "16.11.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234" - integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw== +"@types/node@*": + version "17.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" + integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== "@types/node@^14.14.31": - version "14.17.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.34.tgz#fe4b38b3f07617c0fa31ae923fca9249641038f0" - integrity sha512-USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg== + version "14.18.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" + integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== + +"@types/node@^16.10.3": + version "16.11.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47" + integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -2301,9 +2167,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.0.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" - integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" + integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== "@types/prop-types@*": version "15.7.4" @@ -2328,16 +2194,16 @@ "@types/react" "^16" "@types/react-grid-layout@^1.1.2": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@types/react-grid-layout/-/react-grid-layout-1.3.0.tgz#aa00b2b8de350aa7f6c570e69d7a0daf571de24c" - integrity sha512-Pytm7lvm4h91yN9CpdjV8IpU/hgVRHrUhDEIX593e4Mx9V14Pr3gWtj21WHzy5bDqU//jnGGVVSYJ3QVuI1NaQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/react-grid-layout/-/react-grid-layout-1.3.2.tgz#9f195666a018a5ae2b773887e3b552cb4378d67f" + integrity sha512-ZzpBEOC1JTQ7MGe1h1cPKSLP4jSWuxc+yvT4TsAlEW9+EFPzAf8nxQfFd7ea9gL17Em7PbwJZAsiwfQQBUklZQ== dependencies: "@types/react" "*" "@types/react-redux@^7.1.11", "@types/react-redux@^7.1.20": - version "7.1.20" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.20.tgz#42f0e61ababb621e12c66c96dda94c58423bd7df" - integrity sha512-q42es4c8iIeTgcnB+yJgRTTzftv3eYYvCZOh1Ckn2eX/3o5TdsQYKUWpLoLuGlcY/p+VAhV9IOEZJcWk/vfkXw== + version "7.1.23" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.23.tgz#3c2bb1bcc698ae69d70735f33c5a8e95f41ac528" + integrity sha512-D02o3FPfqQlfu2WeEYwh3x2otYd2Dk1o8wAfsA0B1C2AJEFxE663Ozu7JzuWbznGgW248NaOF6wsqCGNq9d3qw== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -2345,35 +2211,35 @@ redux "^4.0.0" "@types/react-router-dom@^5.1.6": - version "5.3.2" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.2.tgz#ebd8e145cf056db5c66eb1dac63c72f52e8542ee" - integrity sha512-ELEYRUie2czuJzaZ5+ziIp9Hhw+juEw8b7C11YNA4QdLCVbQ3qLi2l4aq8XnlqM7V31LZX8dxUuFUCrzHm6sqQ== + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== dependencies: - "@types/history" "*" + "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router" "*" "@types/react-router@*": - version "5.1.17" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.17.tgz#087091006213b11042f39570e5cd414863693968" - integrity sha512-RNSXOyb3VyRs/EOGmjBhhGKTbnN6fHWvy5FNLzWfOWOGjgVUKqJZXfpKzLmgoU8h6Hj8mpALj/mbXQASOb92wQ== + version "5.1.18" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3" + integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g== dependencies: - "@types/history" "*" + "@types/history" "^4.7.11" "@types/react" "*" "@types/react@*", "@types/react@^17.0.0": - version "17.0.37" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" - integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== + version "17.0.40" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.40.tgz#dc010cee6254d5239a138083f3799a16638e6bad" + integrity sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" csstype "^3.0.2" "@types/react@^16": - version "16.14.21" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.21.tgz#35199b21a278355ec7a3c40003bd6a334bd4ae4a" - integrity sha512-rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg== + version "16.14.24" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.24.tgz#f2c5e9fa78f83f769884b83defcf7924b9eb5c82" + integrity sha512-e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2396,7 +2262,7 @@ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== -"@types/serve-index@*": +"@types/serve-index@^1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== @@ -2421,62 +2287,52 @@ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/styled-components@^5.1.4": - version "5.1.16" - resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.16.tgz#e6cb31301ff8d6b99e25502d2bea754069c1efc9" - integrity sha512-pj5zI2VvK86VB9vS5exwXpIvQxiiwVfBTmMYcfMzwQAhB6s+x0a7o2JKzsGviWgjjosuwfYlOyf3JrEvmLPhtg== + version "5.1.24" + resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.24.tgz#b52ae677f03ea8a6018aa34c6c96b7018b7a3571" + integrity sha512-mz0fzq2nez+Lq5IuYammYwWgyLUE6OMAJTQL9D8hFLP4Pkh7gVYJii/VQWxq8/TK34g/OrkehXaFNdcEKcItug== dependencies: "@types/hoist-non-react-statics" "*" "@types/react" "*" csstype "^3.0.2" "@types/testing-library__jest-dom@^5.9.1": - version "5.14.2" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.2.tgz#564fb2b2dc827147e937a75b639a05d17ce18b44" - integrity sha512-vehbtyHUShPxIa9SioxDwCvgxukDMH//icJG90sXQBUm5lJOHLT5kNeU9tnivhnA/TkOFMzGIXN2cTc4hY8/kg== + version "5.14.3" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz#ee6c7ffe9f8595882ee7bda8af33ae7b8789ef17" + integrity sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw== dependencies: "@types/jest" "*" "@types/uuid@^8.3.1": - version "8.3.3" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" - integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/vis@^4.21.21": - version "4.21.22" - resolved "https://registry.yarnpkg.com/@types/vis/-/vis-4.21.22.tgz#0f15b8825cf4df7a02e66c96516b1d774e241847" - integrity sha512-6RW+5yc0kOmZSfPjn7Kjjda7q96rtgvjNk9AFV52B1GA382oEYuP0p8yX00d2xbVWQbmmm+Uhinj9cRqW90NiA== + version "4.21.23" + resolved "https://registry.yarnpkg.com/@types/vis/-/vis-4.21.23.tgz#03b2d7b079bfda67093a39668f6a889ffd26d2a2" + integrity sha512-SV/9yRwmu+/TQJ3/bw3oqefHBZUr6G8YMWimDdLf1Ncs2zmguuPtP7vCoVr3oX/Qq/bqf35ly43o2hUoLW/BWA== dependencies: moment ">=2.13.0" -"@types/webpack-dev-middleware@*": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-5.0.2.tgz#0f66566c2ca7d484891b4552c8a7b64a3044e3e2" - integrity sha512-S3WUtef//Vx6WETyWZkM45WqgRxWSaqbpWtPcKySNRhiQNyhCqM9EueggaMX3L9N2IbG4dJIK5PgYcAWUifUbA== - dependencies: - "@types/connect" "*" - tapable "^2.1.1" - webpack "^5.38.1" - "@types/webpack-dev-server@^4.3.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-4.5.0.tgz#52a983de97db81a38b7309a8cf8a730c3e02f28e" - integrity sha512-HMb6pZPANObue3LwbdpQLWzQyF9O0wntiPyXj4vGutlAbNKTXH4hDCHaZyfvfZDmFn+5HprrWHm1TGt3awNr/A== + version "4.7.2" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-4.7.2.tgz#a12d9881aa23cdd4cecbb2d31fa784a45c4967e0" + integrity sha512-Y3p0Fmfvp0MHBDoCzo+xFJaWTw0/z37mWIo6P15j+OtmUDLvznJWdZNeD7Q004R+MpQlys12oXbXsrXRmxwg4Q== dependencies: - "@types/bonjour" "*" - "@types/connect-history-api-fallback" "*" - "@types/express" "*" - "@types/serve-index" "*" - "@types/serve-static" "*" - "@types/webpack-dev-middleware" "*" - chokidar "^3.5.1" - http-proxy-middleware "^2.0.0" - webpack "*" + webpack-dev-server "*" "@types/webpack@^5.28.0": version "5.28.0" @@ -2487,10 +2343,17 @@ tapable "^2.2.0" webpack "^5" +"@types/ws@^8.2.2": + version "8.5.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^15.0.0": version "15.0.14" @@ -2499,13 +2362,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - "@types/yauzl@^2.9.1": version "2.9.2" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" @@ -2704,22 +2560,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== +"@webpack-cli/configtest@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356" + integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg== -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== +"@webpack-cli/info@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea" + integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== +"@webpack-cli/serve@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe" + integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw== "@welldone-software/why-did-you-render@^6.2.1": version "6.2.3" @@ -2748,18 +2604,18 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" accessor-fn@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/accessor-fn/-/accessor-fn-1.3.1.tgz#88096b96840b6fd0d00b859a38d90f2478e5d8f1" - integrity sha512-OjmTIiR8VfVV02EC/kSYpBnu6D+CmjNIFhTgU/CQk9xTkl36fc2TaU+ffezgz0fokeqNWnNBq3BtCpZMPfn0UQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/accessor-fn/-/accessor-fn-1.3.2.tgz#66074d0127367e996197197822fae846ef0928e7" + integrity sha512-W4/Lj/gry8AHy+IC7Havr7fNbphHDzVAiZd5h10g8LRRz6ZKla3A1/lkFqoV1jh13R0eJLGWjDBlRGK36fcWiw== acorn-globals@^6.0.0: version "6.0.0" @@ -2794,10 +2650,10 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.2.4, acorn@^8.4.1: - version "8.6.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== +acorn@^8.0.4, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== aframe-extras@^6.1: version "6.1.1" @@ -2807,17 +2663,17 @@ aframe-extras@^6.1: three-pathfinding "^0.7.0" aframe-forcegraph-component@^3.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/aframe-forcegraph-component/-/aframe-forcegraph-component-3.0.2.tgz#464f40329f74fd2490b52cbbb977541cde035601" - integrity sha512-SZwM1NdRURlWriJVGJkaFC9hRSODH4SNNBkXeuT/10vEBlt58Up+GxQ6zWDdqMEByghgJu6fP/eB23WjwewSsg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/aframe-forcegraph-component/-/aframe-forcegraph-component-3.0.4.tgz#4de63522211cadb83c7fcbcec2c9f6ac588ea012" + integrity sha512-WyzcjCYktWDPWmxxQGOdu/MCOH2iS8m4YUeOn3Nw+Jep+l0I6jGIX0bqAzaSgQkAcGq45W4jUreotPtRmLxO8w== dependencies: accessor-fn "1" - three-forcegraph "^1.37" + three-forcegraph "^1.39" aframe@^1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aframe/-/aframe-1.2.0.tgz#795027f656d51d59820536e7e6288744f78e80ae" - integrity sha512-e4lGvxLQ5CAptlbCqmnR4+qUf9s3f5SSnkMQaBsIFlJ2QMZhzEBr/SSV3+NEvMhsQf88EOvSpN1Vez942mBLcQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/aframe/-/aframe-1.3.0.tgz#bafd544d6eca6542a38e56a13ae8b86d325cce8a" + integrity sha512-f6OQaDf49SzdSxVskJPvPWldOwHpYMsGttmQHhU6FRiASsnyULKG1nqZom9pDuS3fFYEzQVqRMakQ2AhXeLkFg== dependencies: custom-event-polyfill "^1.0.6" debug ngokevin/debug#noTimestamp @@ -2828,8 +2684,8 @@ aframe@^1.2: present "0.0.6" promise-polyfill "^3.1.0" super-animejs "^3.1.0" - super-three "^0.125.1" - three-bmfont-text dmarcos/three-bmfont-text#1babdf8507c731a18f8af3b807292e2b9740955e + super-three "^0.137.0" + three-bmfont-text dmarcos/three-bmfont-text#21d017046216e318362c48abd1a48bddfb6e0733 webvr-polyfill "^0.10.12" agent-base@6: @@ -2877,20 +2733,15 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" uri-js "^4.2.2" -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - an-array@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/an-array/-/an-array-1.0.0.tgz#c125a5bb8257778e35f4b4f6aa9c7d0fa9e42665" @@ -3161,9 +3012,9 @@ async@^2.6.2: lodash "^4.17.14" async@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" - integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== asynckit@^0.4.0: version "0.4.0" @@ -3310,14 +3161,14 @@ babel-plugin-jest-hoist@^26.6.2: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" babel-plugin-minify-builtins@^0.5.0: version "0.5.0" @@ -3396,43 +3247,44 @@ babel-plugin-minify-type-constructors@^0.4.3: babel-helper-is-void-0 "^0.4.3" babel-plugin-named-asset-import@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" - integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== + version "0.3.8" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.21.0" babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" "babel-plugin-styled-components@>= 1.12.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.2.tgz#0fac11402dc9db73698b55847ab1dc73f5197c54" - integrity sha512-7eG5NE8rChnNTDxa6LQfynwgHTVOYYaHJbUYSlOhk8QBXIQiMBKq4gyfHBBKPrxUcVBXVJL61ihduCpCQbuNbw== + version "2.0.6" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.6.tgz#6f76c7f7224b7af7edc24a4910351948c691fc90" + integrity sha512-Sk+7o/oa2HfHv3Eh8sxoz75/fFvEdHsXV4grdeHufX0nauCmymlnN0rGhIvfpMQSJMvGutJ85gvCGea4iqmDpg== dependencies: "@babel/helper-annotate-as-pure" "^7.16.0" "@babel/helper-module-imports" "^7.16.0" babel-plugin-syntax-jsx "^6.18.0" lodash "^4.17.11" + picomatch "^2.3.0" babel-plugin-styled-components@^1.12.0: version "1.13.3" @@ -3476,7 +3328,7 @@ babel-plugin-transform-property-literals@^6.9.4: dependencies: esutils "^2.0.2" -babel-plugin-transform-react-remove-prop-types@0.4.24: +babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== @@ -3569,25 +3421,26 @@ babel-preset-minify@^0.5.1: lodash "^4.17.11" babel-preset-react-app@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz#689b60edc705f8a70ce87f47ab0e560a317d7045" - integrity sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg== + version "10.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" + integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== dependencies: - "@babel/core" "7.12.3" - "@babel/plugin-proposal-class-properties" "7.12.1" - "@babel/plugin-proposal-decorators" "7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.12.1" - "@babel/plugin-proposal-numeric-separator" "7.12.1" - "@babel/plugin-proposal-optional-chaining" "7.12.1" - "@babel/plugin-transform-flow-strip-types" "7.12.1" - "@babel/plugin-transform-react-display-name" "7.12.1" - "@babel/plugin-transform-runtime" "7.12.1" - "@babel/preset-env" "7.12.1" - "@babel/preset-react" "7.12.1" - "@babel/preset-typescript" "7.12.1" - "@babel/runtime" "7.12.1" - babel-plugin-macros "2.8.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" + "@babel/core" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-decorators" "^7.16.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-transform-flow-strip-types" "^7.16.0" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-runtime" "^7.16.4" + "@babel/preset-env" "^7.16.4" + "@babel/preset-react" "^7.16.0" + "@babel/preset-typescript" "^7.16.0" + "@babel/runtime" "^7.16.3" + babel-plugin-macros "^3.1.0" + babel-plugin-transform-react-remove-prop-types "^0.4.24" balanced-match@^1.0.0: version "1.0.2" @@ -3619,10 +3472,10 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -"bezier-js@3 - 4": - version "4.1.1" - resolved "https://registry.yarnpkg.com/bezier-js/-/bezier-js-4.1.1.tgz#414df656833104e86765c0fa5e31439fb3e83a34" - integrity sha512-oVOS6SSFFFlfnZdzC+lsfvhs/RRcbxJ47U04M4s5QIBaJmr3YWmTIL3qmrOK9uW+nUUcl9Jccmo/xpTrG+bBoQ== +"bezier-js@3 - 6": + version "6.1.0" + resolved "https://registry.yarnpkg.com/bezier-js/-/bezier-js-6.1.0.tgz#162b7bdbabe866e3a796285a89d71085140755ec" + integrity sha512-oc8fkHqG0R+dQuNiXVbPMB0cc8iDqkLAjbA2gq26QmV8tZqW9GGI7iNEX1ioRWlZperQS7v5BX03+9FLVWZbSw== big.js@^3.1.3: version "3.2.0" @@ -3649,21 +3502,21 @@ bluebird@^3.7.2: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== +body-parser@1.19.2: + version "1.19.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" + integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== dependencies: - bytes "3.1.0" + bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" - http-errors "1.7.2" + http-errors "1.8.1" iconv-lite "0.4.24" on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" + qs "6.9.7" + raw-body "2.4.3" + type-is "~1.6.18" bonjour@^3.5.0: version "3.5.0" @@ -3718,15 +3571,15 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.19.1: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" escalade "^3.1.1" - node-releases "^2.0.1" + node-releases "^2.0.2" picocolors "^1.0.0" bser@2.1.1: @@ -3766,10 +3619,10 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cache-base@^1.0.1: version "1.0.1" @@ -3818,9 +3671,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelize@^1.0.0: version "1.0.0" @@ -3837,15 +3690,15 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: - version "1.0.30001283" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" - integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001317: + version "1.0.30001317" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" + integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== canvas-color-tracker@1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/canvas-color-tracker/-/canvas-color-tracker-1.1.4.tgz#4f1ffce1ea91a8092b179ee73330a363a312e7db" - integrity sha512-Ppqr1xlcSAOGBRdKruGCyZ6oi1V19iDWrzQ6qh5ZZ4BccaUcOTGnuuCOWCDU/tWtNl57V0ZGaPt71GoL7aghoQ== + version "1.1.5" + resolved "https://registry.yarnpkg.com/canvas-color-tracker/-/canvas-color-tracker-1.1.5.tgz#aa214a932050f4bc0c7462687f044594cec37180" + integrity sha512-J0tDDrMU2PJfmIVWwuaU1/uPZ+d3ISmpaYZLrvd7s27ydvafl3HgNzg00DEQHLcqRZLoelBLIm8aVvNCmB582g== dependencies: tinycolor2 "^1.4.2" @@ -3900,10 +3753,15 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +charcodes@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.2.0.tgz#5208d327e6cc05f99eb80ffc814707572d1f14e4" + integrity sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ== + chart.js@^3.4.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.6.1.tgz#edcb6584b8d810306f655f89538c00a4f440c58e" - integrity sha512-AycnixR0I325Fp3bqQ7wRJbkIJPwz/9IZtUBvdBWMjK5+nKCy6FZ3VejkDTtB9udePEXNt1UYoGTsNL49JoIbg== + version "3.7.1" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.7.1.tgz#0516f690c6a8680c6c707e31a4c1807a6f400ada" + integrity sha512-8knRegQLFnPQAheZV8MjxIXc5gQEfDFD897BJgv/klO/vtIyFFmgMXrNfgrXpbTr/XbTturxRgxIXx/Y+ASJBA== chartjs-adapter-date-fns@^2.0.0: version "2.0.0" @@ -3915,7 +3773,7 @@ check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -"chokidar@>=3.0.0 <4.0.0": +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3930,21 +3788,6 @@ check-more-types@^2.24.0: optionalDependencies: fsevents "~2.3.2" -chokidar@^3.5.1, chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -3975,7 +3818,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== @@ -4000,14 +3843,13 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-table3@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" - integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== + version "0.6.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.1.tgz#36ce9b7af4847f288d3cdd081fbd09bf7bd237b8" + integrity sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA== dependencies: - object-assign "^4.1.0" string-width "^4.2.0" optionalDependencies: - colors "^1.1.2" + colors "1.4.0" cli-truncate@^2.1.0: version "2.1.0" @@ -4099,16 +3941,16 @@ color@^4.2.1: color-string "^1.9.0" colord@^2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" - integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw== + version "2.9.2" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" + integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== -colors@^1.1.2: +colors@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -4172,10 +4014,10 @@ compressible@~2.0.16: dependencies: mime-db ">= 1.43.0 < 2" -compression-webpack-plugin@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-9.0.1.tgz#fd80350670ca88cc8a1c0edac40ee92a0e06fcd4" - integrity sha512-vqlhZIPSyCpy6eaYWy8iPhteLWpARKotRiN5B/jr7lLowJv1GVc98Snn1Dcxe0+SKbfydLu7qZcnNuP+AyG19Q== +compression-webpack-plugin@*, compression-webpack-plugin@^9.0.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-9.2.0.tgz#57fd539d17c5907eebdeb4e83dcfe2d7eceb9ef6" + integrity sha512-R/Oi+2+UHotGfu72fJiRoVpuRifZT0tTC6UqFD/DUo+mv8dbOow9rVOuTvDv5nPPm3GZhHL/fKkwxwIHnJ8Nyw== dependencies: schema-utils "^4.0.0" serialize-javascript "^6.0.0" @@ -4208,12 +4050,12 @@ connect-history-api-fallback@^1.6.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: - safe-buffer "5.1.2" + safe-buffer "5.2.1" content-type@~1.0.4: version "1.0.4" @@ -4232,17 +4074,17 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== copy-anything@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" - integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== dependencies: - is-what "^3.12.0" + is-what "^3.14.1" copy-descriptor@^0.1.0: version "0.1.1" @@ -4269,18 +4111,18 @@ copy-webpack-plugin@^8.1.0: schema-utils "^3.0.0" serialize-javascript "^5.0.1" -core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.6.2: - version "3.19.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.2.tgz#18066a3404a302433cb0aa8be82dd3d75c76e5c4" - integrity sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ== +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" + integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== dependencies: - browserslist "^4.18.1" + browserslist "^4.19.1" semver "7.0.0" -core-js-pure@^3.19.0: - version "3.19.2" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.2.tgz#26b5bfb503178cff6e3e115bc2ba6c6419383680" - integrity sha512-5LkcgQEy8pFeVnd/zomkUBSwnmIxuF1C8E9KrMAbOc8f34IBT9RGvTYeNDdp1PnvMJrrVhvk1hg/yVV5h/znlg== +core-js-pure@^3.20.2: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" + integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== core-util-is@1.0.2: version "1.0.2" @@ -4292,17 +4134,6 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - cosmiconfig@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" @@ -4320,22 +4151,22 @@ create-require@^1.1.0: integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== critters-webpack-plugin@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/critters-webpack-plugin/-/critters-webpack-plugin-3.0.1.tgz#05aabaceb871fa423ee9a7ceb1139e27f5665753" - integrity sha512-nme1bZ9RxMQLLC/sK6Wo3+fkL9FOu/3BTtVPNZbaV6nZiBBHW42YTekF9fMj7CDP5GYpZ+Rw/r6j1RM36jBRDA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/critters-webpack-plugin/-/critters-webpack-plugin-3.0.2.tgz#12cbd90310ea6a6050d73e49f27fe2e623e4a90d" + integrity sha512-WdGtrjfzTGTuLL1qR9yIrPvrF+r4Fq5MsI+hfjuujLRVzh5UOl1TPCdX4kJU12iK5LFHtbNtezcAJCaXpvozHA== dependencies: - critters "^0.0.15" + critters "^0.0.16" minimatch "^3.0.4" webpack-log "^3.0.1" webpack-sources "^1.3.0" -critters@^0.0.15: - version "0.0.15" - resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.15.tgz#b1c8d18fd18e614471733d7d749deac0f386b738" - integrity sha512-AE7hkXb3eZUbEvS1SKZa+OU4o2kUOXtzVeE/2E/mjU/0mV1wpBT1HfUCWVRS4zwvkBNJ0AQYsVjAoFm+kIhfdw== +critters@^0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.16.tgz#ffa2c5561a65b43c53b940036237ce72dcebfe93" + integrity sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A== dependencies: chalk "^4.1.0" - css-select "^4.1.3" + css-select "^4.2.0" parse5 "^6.0.1" parse5-htmlparser2-tree-adapter "^6.0.1" postcss "^8.3.7" @@ -4374,9 +4205,9 @@ css-color-keywords@^1.0.0: integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= css-declaration-sorter@^6.0.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" - integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== + version "6.1.4" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4" + integrity sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw== dependencies: timsort "^0.3.0" @@ -4407,11 +4238,10 @@ css-loader@4.3.0: semver "^7.3.2" css-minimizer-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.2.0.tgz#f59c56ec11137b37f000081bd19b450095094ad2" - integrity sha512-5q4myvkmm29jRlI73Fl8Mc008i6o6hCEKnV6/fOrzRVDWD6EFGwDRX+SM2qCVeZ7XiztRDKHpTGDUeUMAOOagg== + version "3.4.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== dependencies: - "@types/cssnano" "^4.0.1" cssnano "^5.0.6" jest-worker "^27.0.2" postcss "^8.3.5" @@ -4426,16 +4256,16 @@ css-parse@~2.0.0: dependencies: css "^2.0.0" -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" - integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== +css-select@^4.1.3, css-select@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== dependencies: boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" + css-what "^5.1.0" + domhandler "^4.3.0" + domutils "^2.8.0" + nth-check "^2.0.1" css-selector-tokenizer@^0.7.0: version "0.7.3" @@ -4462,7 +4292,7 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" -css-what@^5.0.0: +css-what@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== @@ -4506,53 +4336,52 @@ cssfilter@0.0.10: resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= -cssnano-preset-default@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz#7525feb1b72f7b06e57f55064cbdae341d79dea2" - integrity sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg== +cssnano-preset-default@^*: + version "5.2.4" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.4.tgz#eced79bbc1ab7270337c4038a21891daac2329bc" + integrity sha512-w1Gg8xsebln6/axZ6qDFQHuglrGfbIHOIx0g4y9+etRlRab8CGpSpe6UMsrgJe4zhCaJ0LwLmc+PhdLRTwnhIA== dependencies: css-declaration-sorter "^6.0.3" - cssnano-utils "^2.0.1" - postcss-calc "^8.0.0" - postcss-colormin "^5.2.1" - postcss-convert-values "^5.0.2" - postcss-discard-comments "^5.0.1" - postcss-discard-duplicates "^5.0.1" - postcss-discard-empty "^5.0.1" - postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.4" - postcss-merge-rules "^5.0.3" - postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.3" - postcss-minify-params "^5.0.2" - postcss-minify-selectors "^5.1.0" - postcss-normalize-charset "^5.0.1" - postcss-normalize-display-values "^5.0.1" - postcss-normalize-positions "^5.0.1" - postcss-normalize-repeat-style "^5.0.1" - postcss-normalize-string "^5.0.1" - postcss-normalize-timing-functions "^5.0.1" - postcss-normalize-unicode "^5.0.1" - postcss-normalize-url "^5.0.3" - postcss-normalize-whitespace "^5.0.1" - postcss-ordered-values "^5.0.2" - postcss-reduce-initial "^5.0.2" - postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.3" - postcss-unique-selectors "^5.0.2" + cssnano-utils "^*" + postcss-calc "^8.2.3" + postcss-colormin "^*" + postcss-convert-values "^*" + postcss-discard-comments "^*" + postcss-discard-duplicates "^*" + postcss-discard-empty "^*" + postcss-discard-overridden "^*" + postcss-merge-longhand "^*" + postcss-merge-rules "^*" + postcss-minify-font-values "^*" + postcss-minify-gradients "^*" + postcss-minify-params "^*" + postcss-minify-selectors "^*" + postcss-normalize-charset "^*" + postcss-normalize-display-values "^*" + postcss-normalize-positions "^*" + postcss-normalize-repeat-style "^*" + postcss-normalize-string "^*" + postcss-normalize-timing-functions "^*" + postcss-normalize-unicode "^*" + postcss-normalize-url "^*" + postcss-normalize-whitespace "^*" + postcss-ordered-values "^*" + postcss-reduce-initial "^*" + postcss-reduce-transforms "^*" + postcss-svgo "^*" + postcss-unique-selectors "^*" -cssnano-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" - integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== +cssnano-utils@^*, cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.0.6: - version "5.0.12" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.12.tgz#2c083a1c786fc9dc2d5522bd3c0e331b7cd302ab" - integrity sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg== + version "5.1.4" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.4.tgz#c648192e8e2f1aacb7d839e6aa3706b50cc7f8e4" + integrity sha512-hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A== dependencies: - cssnano-preset-default "^5.1.8" - is-resolvable "^1.1.0" + cssnano-preset-default "^*" lilconfig "^2.0.3" yaml "^1.10.2" @@ -4581,9 +4410,9 @@ cssstyle@^2.3.0: cssom "~0.3.6" csstype@^3.0.2, csstype@^3.0.6: - version "3.0.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" - integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" + integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== custom-event-polyfill@^1.0.6: version "1.0.7" @@ -4663,9 +4492,9 @@ d3-axis@2: integrity sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw== d3-binarytree@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/d3-binarytree/-/d3-binarytree-0.2.0.tgz#10601b89fc966b22ee2bd1a8e9ee4d847dfd0014" - integrity sha512-Z4khfbrBgtbv0M2QSQBaIajxiT6hwkxGt0AoDnTXCWDyyH+Okqy2UU3sXzV01zL5lC75dFAMJ0ftxSKTCr28VA== + version "0.2.2" + resolved "https://registry.yarnpkg.com/d3-binarytree/-/d3-binarytree-0.2.2.tgz#2b3421a4ac41ddaf3ebd2584f96f8e68ecb7c444" + integrity sha512-TmgSEKWO4lSjX26Rk77hbTdiF3TQ1v5LqL+cmSz6/5RiSxmq6+e6qHE6X/KwrsIESekhEReH63X5yM8dvXaT7A== d3-brush@2: version "2.1.0" @@ -4803,9 +4632,9 @@ d3-flame-graph@^3.1.1: d3-transition "^1.3.2" "d3-force-3d@2 - 3": - version "3.0.2" - resolved "https://registry.yarnpkg.com/d3-force-3d/-/d3-force-3d-3.0.2.tgz#00b636bde656f90c1df5db998d3682bd62322b26" - integrity sha512-0JxQaqDutCUq9Q2kf+oEucxyZIRXahI7m5gwdY6ezfi2eNIHhublV7Az++erNLTc+meVe2nL5JlXCrRqXz9aLg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/d3-force-3d/-/d3-force-3d-3.0.3.tgz#ddd0b9120837ef3cd6ffdad668d99d1992483af2" + integrity sha512-8HGTbw6y35UYManGCPU4+b9/PGgnyjzRq80DRsp7zFsRl0leVz2pzwx18dwkPe4rDxTOEpM4BuWQ2krbVaGQQA== dependencies: d3-binarytree "^0.2.0" d3-dispatch "1 - 3" @@ -4833,9 +4662,9 @@ d3-format@1, d3-format@^1.2.0, d3-format@^1.4.3: integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== "d3-format@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.0.1.tgz#e41b81b2ab79277141ec1404aa5d05001da64084" - integrity sha512-hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== d3-geo@2: version "2.0.2" @@ -4888,9 +4717,9 @@ d3-interpolate@1, d3-interpolate@1.4.0, d3-interpolate@^1.1.4: d3-color "1 - 3" d3-octree@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/d3-octree/-/d3-octree-0.2.0.tgz#d3b3e578733cd0bbb7b6a15f80b0d7b38ab2e54c" - integrity sha512-yPoIxKr4xvZNyKK2bkJybafrNKtBVERbGTUVBovyWxWDQaWnJfWO4ai1jnyBrCeMzpVm/OTAJw2V+EJ9HCuLbQ== + version "0.2.2" + resolved "https://registry.yarnpkg.com/d3-octree/-/d3-octree-0.2.2.tgz#24c513d809252d14fd3b0bf7eb5af321c30bd69b" + integrity sha512-ysk9uSPAhZVb0Gq4GXzghl/Yqxu80dHrq55I53qaIMdGB65+0UfO84sr4Fci2JHumcgh6H4WE0r8LwxPagkE+g== d3-path@1: version "1.0.9" @@ -5026,9 +4855,9 @@ d3-time-format@2: d3-time "1 - 2" "d3-time-format@2 - 4": - version "4.0.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.0.0.tgz#930ded86a9de761702344760d8a25753467f28b7" - integrity sha512-nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A== + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== dependencies: d3-time "1 - 3" @@ -5179,9 +5008,9 @@ dashdash@^1.12.0: assert-plus "^1.0.0" data-joint@^1.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/data-joint/-/data-joint-1.2.4.tgz#4d8f443d7ae3d42626afef9da6945288e7db4390" - integrity sha512-CEHgReWct+ofD1rpIhLy2IBOWkS4J5KbgCulvrRQVMlgs7dFbvhPwJt+J0upA9e7w/x+MepG6MLANm+uo0nudQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/data-joint/-/data-joint-1.2.5.tgz#6a10b028fa3036d6733fe2549cf9c3d1683781f8" + integrity sha512-OcGbcTctTq7AdiWAzJdktyzi5wVzv7q6291BsKLdxVdyrsx9pZLb9QIpxavWHMd+OS5DgJgfhgoM4jjF//DRqg== dependencies: index-array-by "^1.3.1" @@ -5194,20 +5023,15 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-fns@2.28.0: +date-fns@2.28.0, date-fns@2.x: version "2.28.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== -date-fns@2.x: - version "2.27.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.27.0.tgz#e1ff3c3ddbbab8a2eaadbb6106be2929a5a2d92b" - integrity sha512-sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q== - dayjs@1.x, dayjs@^1.10.4, dayjs@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" - integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + version "1.11.0" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805" + integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== debounce@^1.2.1: version "1.2.1" @@ -5235,7 +5059,7 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@ngokevin/debug#noTimestamp: +"debug@github:ngokevin/debug#noTimestamp": version "2.2.0" resolved "https://codeload.github.com/ngokevin/debug/tar.gz/ef5f8e66d49ce8bc64c6f282c15f8b7164409e3a" @@ -5392,10 +5216,10 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== diff@^4.0.1: version "4.0.2" @@ -5443,14 +5267,14 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -document-register-element@dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90: +"document-register-element@github:dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90": version "0.5.4" resolved "https://codeload.github.com/dmarcos/document-register-element/tar.gz/8ccc532b7f3744be954574caf3072a5fd260ca90" dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.10" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" - integrity sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g== + version "0.5.13" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz#102ee5f25eacce09bdf1cfa5a298f86da473be4b" + integrity sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw== dom-align@^1.7.0: version "1.12.2" @@ -5490,14 +5314,14 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@^4.0.0, domhandler@^4.2.0: +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== dependencies: domelementtype "^2.2.0" -domutils@^2.5.2, domutils@^2.6.0: +domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -5547,10 +5371,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.896: - version "1.4.8" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.8.tgz#e1b7752ac1a75e39b5dd90cc7e29ea08b351c484" - integrity sha512-Cu5+dbg55+1E3ohlsa8HT0s4b8D0gBewXEGG8s5wBl8ynWv60VuvYW25GpsOeTVXpulhyU/U8JYZH+yxASSJBQ== +electron-to-chromium@^1.4.84: + version "1.4.85" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.85.tgz#a3666ba42147026b9f34d4d8d4caf0740e80f751" + integrity sha512-K9AsQ41WS2bjZUFpRWfvaS4RjEcRCamEkBJN1Z1TQILBfP1H8QnJ9ti0wiLiMv0sRjX3EHKzgs9jDnmGFx2jXg== emitter-component@^1.1.1: version "1.1.1" @@ -5589,10 +5413,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== +enhanced-resolve@^5.7.0, enhanced-resolve@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" + integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5713,9 +5537,9 @@ escodegen@^2.0.0: source-map "~0.6.1" eslint-config-prettier@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== eslint-config-standard@^16.0.3: version "16.0.3" @@ -5730,14 +5554,13 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" - integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== +eslint-module-utils@^2.7.2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" find-up "^2.1.0" - pkg-dir "^2.0.0" eslint-plugin-es@^3.0.0: version "3.0.1" @@ -5748,23 +5571,23 @@ eslint-plugin-es@^3.0.0: regexpp "^3.0.0" eslint-plugin-import@^2.23.4: - version "2.25.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" - integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== + version "2.25.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" + integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== dependencies: array-includes "^3.1.4" array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.1" + eslint-module-utils "^2.7.2" has "^1.0.3" is-core-module "^2.8.0" is-glob "^4.0.3" minimatch "^3.0.4" object.values "^1.1.5" resolve "^1.20.0" - tsconfig-paths "^3.11.0" + tsconfig-paths "^3.12.0" eslint-plugin-node@^11.1.0: version "11.1.0" @@ -5796,21 +5619,21 @@ eslint-plugin-react-hooks@^4.3.0: integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== eslint-plugin-react@^7.24.0: - version "7.27.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz#469202442506616f77a854d91babaae1ec174b45" - integrity sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA== + version "7.29.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" + integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== dependencies: array-includes "^3.1.4" array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" + minimatch "^3.1.2" object.entries "^1.1.5" object.fromentries "^2.0.5" object.hasown "^1.1.0" object.values "^1.1.5" - prop-types "^15.7.2" + prop-types "^15.8.1" resolve "^2.0.0-next.3" semver "^6.3.0" string.prototype.matchall "^4.0.6" @@ -6057,16 +5880,16 @@ expect@^26.6.2: jest-regex-util "^26.0.0" express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + version "4.17.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" + integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== dependencies: - accepts "~1.3.7" + accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" + body-parser "1.19.2" + content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.0" + cookie "0.4.2" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" @@ -6080,13 +5903,13 @@ express@^4.17.1: on-finished "~2.3.0" parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" + proxy-addr "~2.0.7" + qs "6.9.7" range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" + safe-buffer "5.2.1" + send "0.17.2" + serve-static "1.14.2" + setprototypeof "1.2.0" statuses "~1.5.0" type-is "~1.6.18" utils-merge "1.0.1" @@ -6157,10 +5980,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.1.1, fast-glob@^3.2.5: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@^3.2.5, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -6333,9 +6156,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== flatten-vertex-data@^1.0.0: version "1.0.2" @@ -6345,9 +6168,9 @@ flatten-vertex-data@^1.0.0: dtype "^2.0.0" follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + version "1.14.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" + integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== for-in@^1.0.2: version "1.0.2" @@ -6355,13 +6178,13 @@ for-in@^1.0.2: integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= force-graph@^1.42: - version "1.42.4" - resolved "https://registry.yarnpkg.com/force-graph/-/force-graph-1.42.4.tgz#4be856f043922d455c1c1e04ffec20837b982a60" - integrity sha512-IIfgOjrK83BTb77vGmYf0xF/Pr6Bp5Xdtra6Ggk3uvhlTXVWcC+Gj2nR0dMj8N06lXmH/I53bMN1Vp5WQ8iv3A== + version "1.42.8" + resolved "https://registry.yarnpkg.com/force-graph/-/force-graph-1.42.8.tgz#e14d614e9746b617f8ef38e39a1a8343de67c42f" + integrity sha512-PVBmO0iJtXGnmPVUx+JHy/09gQWf8QwwgtzJT/8yPstZ/BEBwy6PooNJasY2Z6th0OZOUMyKbq5Zc20xM+oDgQ== dependencies: "@tweenjs/tween.js" "18" accessor-fn "1" - bezier-js "3 - 4" + bezier-js "3 - 6" canvas-color-tracker "1" d3-array "1 - 3" d3-drag "2 - 3" @@ -6461,7 +6284,7 @@ generic-names@^1.0.2: dependencies: loader-utils "^0.2.16" -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -6599,28 +6422,28 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== dependencies: type-fest "^0.20.2" globby@^11.0.1, globby@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== growly@^1.3.0: version "1.3.0" @@ -6655,9 +6478,9 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" @@ -6805,16 +6628,16 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +http-errors@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== dependencies: depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" + inherits "2.0.4" + setprototypeof "1.2.0" statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + toidentifier "1.0.1" http-errors@~1.6.2: version "1.6.3" @@ -6826,21 +6649,10 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== + version "0.5.6" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" + integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== http-proxy-agent@^4.0.1: version "4.0.1" @@ -6852,11 +6664,11 @@ http-proxy-agent@^4.0.1: debug "4" http-proxy-middleware@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" - integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg== + version "2.0.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" + integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== dependencies: - "@types/http-proxy" "^1.17.5" + "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" is-glob "^4.0.1" is-plain-obj "^3.0.0" @@ -6955,10 +6767,10 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8: - version "5.1.9" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" - integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== image-size@~0.5.0: version "0.5.5" @@ -6970,7 +6782,7 @@ immutable@^4.0.0: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -6979,9 +6791,9 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -6997,9 +6809,9 @@ indent-string@^4.0.0: integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== index-array-by@1, index-array-by@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/index-array-by/-/index-array-by-1.3.1.tgz#48595af44efb32f514efd2e46b88de05a508344c" - integrity sha512-e3RmATJZXJWZg9obaLdgPZcz42mzCrr4RuxB/6YaVds7tkUjPRw3Zaebs5YXo4WPyCA0Y9ZKcGYHRqGbGhoU8Q== + version "1.3.2" + resolved "https://registry.yarnpkg.com/index-array-by/-/index-array-by-1.3.2.tgz#d3f208af6f1e2776b00560e4ae572368405d4c28" + integrity sha512-OIiTTJ4bfAcHTcMUZp3nmSpxAES+nARZNADnGBhg7OjywT8caxm3FR8fdnSnZIF1LvKDk5wN05oBF6qkVk2ZFg== inflight@^1.0.4: version "1.0.6" @@ -7070,11 +6882,6 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -7153,10 +6960,10 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.2.0, is-core-module@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== +is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" @@ -7252,9 +7059,9 @@ is-installed-globally@~0.4.0: is-path-inside "^3.0.2" is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.6" @@ -7325,11 +7132,6 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -7370,13 +7172,13 @@ is-unicode-supported@^0.1.0: integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" -is-what@^3.12.0: +is-what@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== @@ -7470,17 +7272,17 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.1.tgz#7085857f17d2441053c6ce5c3b8fdf6882289397" - integrity sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw== + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" jerrypick@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/jerrypick/-/jerrypick-1.0.4.tgz#4599d37f8fece29c24d7768613f03e0cc39d27d0" - integrity sha512-eNgRGF+jSaoLXT6NoQLnnS6BHDdjigEpQR+UyVSGxBxoRMfvVJMoQmcdn2niRARBP9ZSxslxx+GOHsh0gq2gMA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/jerrypick/-/jerrypick-1.0.5.tgz#808a2a53acd332b1d972a097c510c5d28fb8e3e2" + integrity sha512-95dIyL2QXqevDDJ70rmiqKLsTi+riZftLQo708tSFR/O5pQOf6VscDhjnN8mkNQwqnQmGhw+6dfZ5d4bmH/yww== jest-changed-files@^26.6.2: version "26.6.2" @@ -7544,15 +7346,15 @@ jest-diff@^26.0.0, jest-diff@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-diff@^27.0.0: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.2.tgz#786b2a5211d854f848e2dcc1e324448e9481f36f" - integrity sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q== +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== dependencies: chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.2" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" jest-docblock@^26.0.0: version "26.0.0" @@ -7602,10 +7404,10 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== jest-haste-map@^26.6.2: version "26.6.2" @@ -7670,6 +7472,16 @@ jest-matcher-utils@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" +jest-matcher-utils@^27.0.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + jest-message-util@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" @@ -7861,10 +7673,10 @@ jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.0.2, jest-worker@^27.0.6: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.2.tgz#0fb123d50955af1a450267787f340a1bf7e12bc4" - integrity sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag== +jest-worker@^27.0.2, jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -8039,9 +7851,9 @@ jsprim@^2.0.2: object.assign "^4.1.2" kapsule@^1.13: - version "1.13.4" - resolved "https://registry.yarnpkg.com/kapsule/-/kapsule-1.13.4.tgz#0fe37264556d9b222c39e849eb48ca8766fcf0c9" - integrity sha512-WZz+NTLKrnAfOkWw+o94HdlO+6QqBretdr8EcNSRVxFPxxyOnnBdpoczwZxYzGZqLJDCJJm9P0gRyds+FT+UDA== + version "1.13.7" + resolved "https://registry.yarnpkg.com/kapsule/-/kapsule-1.13.7.tgz#63d7e48ef7cf7232374dce53a3650a30d28610ee" + integrity sha512-CKhyHyKyz5bYehAzz95U0ji5T9f4P0RXXPqQ2tGKjuTz3bJnHIUj8vCzGjnhFZ4XYtVT2wMvIq8D8Awb5rawcQ== dependencies: debounce "^1.2.1" @@ -8183,16 +7995,16 @@ lint-staged@10.5.3: stringify-object "^3.3.0" listr2@^3.2.2, listr2@^3.8.3: - version "3.13.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.13.5.tgz#105a813f2eb2329c4aae27373a281d610ee4985f" - integrity sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA== + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== dependencies: cli-truncate "^2.1.0" colorette "^2.0.16" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.4.0" + rxjs "^7.5.1" through "^2.3.8" wrap-ansi "^7.0.0" @@ -8323,7 +8135,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.21, lodash@^4, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@4.17.21, lodash@^4, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8443,10 +8255,10 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.2.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.0.tgz#8bc12062b973be6b295d4340595736a656f0a257" - integrity sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA== +memfs@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" + integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== dependencies: fs-monkey "1.0.3" @@ -8465,7 +8277,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -8502,17 +8314,17 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.51.0" + mime-db "1.52.0" mime@1.6.0, mime@^1.3.4, mime@^1.4.1: version "1.6.0" @@ -8561,10 +8373,10 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -8605,11 +8417,6 @@ moment@2.29.1, "moment@>= 2.9.0", moment@>=2.13.0, moment@^2.24.0, moment@^2.25. resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== -monaco-editor@^0.30.0: - version "0.30.1" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.30.1.tgz#47f8d18a0aa2264fc5654581741ab8d7bec01689" - integrity sha512-B/y4+b2O5G2gjuxIFtCE2EkM17R2NM7/3F8x0qcPsqy4V83bitJTIO4TIeZpYlzu/xy6INiY/+84BEm6+7Cmzg== - mrmime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" @@ -8620,17 +8427,12 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -8667,12 +8469,7 @@ nanoid@^2.0.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== -nanoid@^3.1.30: - version "3.1.30" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" - integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== - -nanoid@^3.2.0: +nanoid@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== @@ -8708,10 +8505,10 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.6.2: version "2.6.2" @@ -8728,19 +8525,19 @@ ngraph.events@^1.0.0, ngraph.events@^1.2.1: resolved "https://registry.yarnpkg.com/ngraph.events/-/ngraph.events-1.2.1.tgz#6e40425ef9dec1e074bbef6da56c8d79b9188fd8" integrity sha512-D4C+nXH/RFxioGXQdHu8ELDtC6EaCiNsZtih0IvyGN81OZSUby4jXoJ5+RNWasfsd0FnKxxpAROyUMzw64QNsw== -ngraph.forcelayout@^3.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ngraph.forcelayout/-/ngraph.forcelayout-3.2.0.tgz#2fa61223b01f399f4a7fa97ad31027305c2e1208" - integrity sha512-CfDwAFdYSfiyMwL3BXfPOnuF5QSnjeyJJem7O1Csk48y7jI0yTNu18MzGoOO3fpa7hWRiFP7uPOqXNwbHn0Wqw== +ngraph.forcelayout@^3.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.0.tgz#d268da24289b0704257121a2351b81292ef8e04e" + integrity sha512-EWqG8oSEueByuisyFl/c77M0+ts8g+dpNseafXFO71f0PvvZgzQ1zac1yO9CJVK6e94kbkvztgjDX3oQZ/4lVA== dependencies: ngraph.events "^1.0.0" ngraph.merge "^1.0.0" ngraph.random "^1.0.0" -ngraph.graph@^19.1: - version "19.1.0" - resolved "https://registry.yarnpkg.com/ngraph.graph/-/ngraph.graph-19.1.0.tgz#88910ed53f6b4bc374f1b67296f4f81aab814e24" - integrity sha512-9cws84qfPkrYa7BaBtT+KgZfLXrd6pNL9Gl5Do+MBO/0Hm6rOM7qK78MZaO1uEoIK6p2pgUs6lu29zn/6tP59w== +ngraph.graph@^20.0: + version "20.0.0" + resolved "https://registry.yarnpkg.com/ngraph.graph/-/ngraph.graph-20.0.0.tgz#96dcce92c74405085d6c27a86218f336769b4472" + integrity sha512-tJqmik6U5geNDSbmTSwm4R6coTMDbkfFFHD8wdeSJtKU/cxIWFsKtXuwMva/wTk6tQQl1C2//lrzmwfPJXAXHw== dependencies: ngraph.events "^1.2.1" @@ -8777,21 +8574,16 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" + integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - node-notifier@^8.0.0: version "8.0.2" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" @@ -8804,10 +8596,10 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== normalize-package-data@^2.5.0: version "2.5.0" @@ -8860,7 +8652,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nth-check@^2.0.0: +nth-check@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== @@ -8892,9 +8684,9 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== object-is@^1.0.1: version "1.1.5" @@ -9206,9 +8998,9 @@ parse-bmfont-xml@^1.1.4: xml2js "^0.4.5" parse-headers@^2.0.0, parse-headers@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" - integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== parse-json@^5.0.0: version "5.2.0" @@ -9280,7 +9072,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -9340,10 +9132,10 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.2.0: version "2.3.0" @@ -9356,18 +9148,9 @@ pify@^4.0.1: integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^3.0.0: version "3.0.0" @@ -9398,11 +9181,11 @@ please-upgrade-node@^3.2.0: semver-compare "^1.0.0" polished@4: - version "4.1.3" - resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.3.tgz#7a3abf2972364e7d97770b827eec9a9e64002cfc" - integrity sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA== + version "4.1.4" + resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.4.tgz#640293ba834109614961a700fdacbb6599fb12d0" + integrity sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg== dependencies: - "@babel/runtime" "^7.14.0" + "@babel/runtime" "^7.16.7" portfinder-sync@^0.0.2: version "0.0.2" @@ -9426,50 +9209,50 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" -postcss-colormin@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" - integrity sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA== +postcss-colormin@^*: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" colord "^2.9.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-convert-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" - integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== +postcss-convert-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10" + integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-discard-comments@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" - integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== +postcss-discard-comments@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369" + integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ== -postcss-discard-duplicates@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" - integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== +postcss-discard-duplicates@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== -postcss-discard-empty@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" - integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== +postcss-discard-empty@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== -postcss-discard-overridden@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" - integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== +postcss-discard-overridden@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-filter-plugins@^3.0.1: version "3.0.1" @@ -9506,56 +9289,54 @@ postcss-load-config@^3.0.1: lilconfig "^2.0.4" yaml "^1.10.2" -postcss-merge-longhand@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz#41f4f3270282ea1a145ece078b7679f0cef21c32" - integrity sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw== +postcss-merge-longhand@^*: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.2.tgz#fe3002f38ad5827c1d6f7d5bb3f71d2566a2a138" + integrity sha512-18/bp9DZnY1ai9RlahOfLBbmIUKfKFPASxRCiZ1vlpZqWPCn8qWPFlEozqmWL+kBtcEQmG8W9YqGCstDImvp/Q== dependencies: - postcss-value-parser "^4.1.0" - stylehacks "^5.0.1" + postcss-value-parser "^4.2.0" + stylehacks "^*" -postcss-merge-rules@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" - integrity sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg== +postcss-merge-rules@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz#a2d5117eba09c8686a5471d97bd9afcf30d1b41f" + integrity sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" - cssnano-utils "^2.0.1" + cssnano-utils "^3.1.0" postcss-selector-parser "^6.0.5" -postcss-minify-font-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" - integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== +postcss-minify-font-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-gradients@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" - integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== +postcss-minify-gradients@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz#de0260a67a13b7b321a8adc3150725f2c6612377" + integrity sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg== dependencies: colord "^2.9.1" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-params@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" - integrity sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg== +postcss-minify-params@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.1.tgz#c5f8e7dac565e577dd99904787fbec576cbdbfb2" + integrity sha512-WCpr+J9Uz8XzMpAfg3UL8z5rde6MifBbh5L8bn8S2F5hq/YDJJzASYCnCHvAB4Fqb94ys8v95ULQkW2EhCFvNg== dependencies: - alphanum-sort "^1.0.2" browserslist "^4.16.6" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-minify-selectors@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" - integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== +postcss-minify-selectors@^*: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" + integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== dependencies: - alphanum-sort "^1.0.2" postcss-selector-parser "^6.0.5" postcss-modules-extract-imports@^2.0.0: @@ -9591,119 +9372,113 @@ postcss-modules-values@^3.0.0: icss-utils "^4.0.0" postcss "^7.0.6" -postcss-normalize-charset@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" - integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== +postcss-normalize-charset@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -postcss-normalize-display-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" - integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== +postcss-normalize-display-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-positions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" - integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== +postcss-normalize-positions@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" + integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" - integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== +postcss-normalize-repeat-style@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" + integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-string@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" - integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== +postcss-normalize-string@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-timing-functions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" - integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== +postcss-normalize-timing-functions@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" - integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== +postcss-normalize-unicode@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" + integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" + browserslist "^4.16.6" + postcss-value-parser "^4.2.0" -postcss-normalize-url@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz#42eca6ede57fe69075fab0f88ac8e48916ef931c" - integrity sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg== +postcss-normalize-url@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: - is-absolute-url "^3.0.3" normalize-url "^6.0.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-normalize-whitespace@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" - integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== +postcss-normalize-whitespace@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-ordered-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" - integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== +postcss-ordered-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz#04ef429e0991b0292bc918b135cd4c038f7b889f" + integrity sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -postcss-reduce-initial@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz#fa424ce8aa88a89bc0b6d0f94871b24abe94c048" - integrity sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw== +postcss-reduce-initial@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" + integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" -postcss-reduce-transforms@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" - integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== +postcss-reduce-transforms@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" - integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== +postcss-svgo@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" svgo "^2.7.0" -postcss-unique-selectors@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" - integrity sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA== +postcss-unique-selectors@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: - alphanum-sort "^1.0.2" postcss-selector-parser "^6.0.5" postcss-value-parser@^3.3.0: @@ -9711,19 +9486,11 @@ postcss-value-parser@^3.3.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -"postcss@5 - 7", postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - postcss@^6.0.14, postcss@^6.0.2: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" @@ -9733,33 +9500,23 @@ postcss@^6.0.14, postcss@^6.0.2: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^8.3.0: - version "8.4.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" - integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== +postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - nanoid "^3.2.0" + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.3.0, postcss@^8.3.5, postcss@^8.3.7: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== + dependencies: + nanoid "^3.3.1" picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.3.5: - version "8.4.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" - integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - -postcss@^8.3.7: - version "8.4.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" - integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9810,12 +9567,11 @@ pretty-format@^26.0.0, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.2.tgz#e4ce92ad66c3888423d332b40477c87d1dac1fb8" - integrity sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw== +pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: - "@jest/types" "^27.4.2" ansi-regex "^5.0.1" ansi-styles "^5.0.0" react-is "^17.0.1" @@ -9855,21 +9611,21 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" - react-is "^16.8.1" + react-is "^16.13.1" protocol-buffers-schema@^3.3.1: version "3.6.0" resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== -proxy-addr@~2.0.5: +proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== @@ -9910,15 +9666,15 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@6.9.7: + version "6.9.7" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" + integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== quad-indices@^2.0.1: version "2.0.1" @@ -9961,9 +9717,9 @@ raf@^3.1.0: performance-now "^2.1.0" ramda@~0.27.1: - version "0.27.1" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" - integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== + version "0.27.2" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1" + integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== randombytes@^2.1.0: version "2.1.0" @@ -9977,13 +9733,13 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== +raw-body@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" + integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== dependencies: - bytes "3.1.0" - http-errors "1.7.2" + bytes "3.1.2" + http-errors "1.8.1" iconv-lite "0.4.24" unpipe "1.0.0" @@ -10056,16 +9812,7 @@ rc-drawer@~4.4.2: classnames "^2.2.6" rc-util "^5.7.0" -rc-dropdown@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.2.0.tgz#da6c2ada403842baee3a9e909a0b1a91ba3e1090" - integrity sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-trigger "^5.0.4" - -rc-dropdown@~3.3.2: +rc-dropdown@^3.2.0, rc-dropdown@~3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.3.3.tgz#17ba32ebd066ae397b00e9e4d570c7c21daed88f" integrity sha512-UNe68VpvtrpU0CS4jh5hD4iGqzi4Pdp7uOya6+H3QIEZxe7K+Xs11BNjZm6W4MaL0jTmzUj+bxvnq5bP3rRoVQ== @@ -10113,9 +9860,9 @@ rc-input@~0.0.1-alpha.5: rc-util "^5.18.1" rc-mentions@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae" - integrity sha512-LDzGI8jJVGnkhpTZxZuYBhMz3avcZZqPGejikchh97xPni/g4ht714Flh7DVvuzHQ+BoKHhIjobHnw1rcP8erg== + version "1.6.4" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.4.tgz#b1c3c3864cee7a12bd51067f93eec24ba1000c70" + integrity sha512-fhY6i39oATTW0F3+zXJKc2wyFVGu14j/HT0eQKf963JBwunuTRXpwbsB4XxxNjl3ZyV6KecPCfRGBAHR8cLHnQ== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.6" @@ -10124,20 +9871,7 @@ rc-mentions@~1.6.1: rc-trigger "^5.0.4" rc-util "^5.0.1" -rc-menu@^9.0.0: - version "9.0.14" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.0.14.tgz#289bda4a2f6c5ebb3248e2e305d52cf0c73cb9d5" - integrity sha512-CIox5mZeLDAi32SlHrV7UeSjv7tmJJhwRyxQtZCKt351w3q59XlL4WMFOmtT9gwIfP9h0XoxdBZUMe/xzkp78A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.2.0" - rc-trigger "^5.1.2" - rc-util "^5.12.0" - shallowequal "^1.1.0" - -rc-menu@~9.3.2: +rc-menu@^9.0.0, rc-menu@~9.3.2: version "9.3.2" resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz#bb842d37ebf71da912bea201cf7ef0a27267ad49" integrity sha512-h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ== @@ -10151,13 +9885,13 @@ rc-menu@~9.3.2: shallowequal "^1.1.0" rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" - integrity sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ== + version "2.4.6" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.6.tgz#b9e07391927fb7bc14e62dcd839146958db6b2ef" + integrity sha512-nXIHve2EDQZ8BFHfgJI3HYMMOZ7HGsolCfA9ozP99/gc1UqpgKys1TYrQWdXa2trff0V3JLhgn2zz+w9VsyktA== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" - rc-util "^5.2.1" + rc-util "^5.19.2" rc-notification@~4.5.7: version "4.5.7" @@ -10170,19 +9904,19 @@ rc-notification@~4.5.7: rc-util "^5.0.1" rc-overflow@^1.0.0, rc-overflow@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.2.tgz#95b0222016c0cdbdc0db85f569c262e7706a5f22" - integrity sha512-X5kj9LDU1ue5wHkqvCprJWLKC+ZLs3p4He/oxjZ1Q4NKaqKBaYf5OdSzRSgh3WH8kSdrfU8LjvlbWnHgJOEkNQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.4.tgz#e25cd3c4a98b4f8233a8dab7172ab2dbcc83b45e" + integrity sha512-nIeelyYfdS+mQBK1++FisLZEvZ8xVAzC+duG+TC4TmqNN+kTHraiGntV9/zxDGA1ruyQ91YRJ549JjFodCBnsw== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" rc-resize-observer "^1.0.0" - rc-util "^5.5.1" + rc-util "^5.19.2" rc-pagination@~3.1.9: - version "3.1.14" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.14.tgz#1f7d0342edb80dca0989e4ddbe937b1d4657d88d" - integrity sha512-tcugvxrtPiVU00Uh0IwC8NIUlxa4KtA9pXcaMNJdSHeO2uQqVkHEwllsULTAWRF3zRV2ozo2weP/DRKIUrX+Zg== + version "3.1.15" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.15.tgz#e05eddf4c15717a5858290bed0857e27e2f957ff" + integrity sha512-4L3fot8g4E+PjWEgoVGX0noFCg+8ZFZmeLH4vsnZpB3O2T2zThtakjNxG+YvSaYtyMVT4B+GLayjKrKbXQpdAg== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" @@ -10219,17 +9953,7 @@ rc-rate@~2.9.0: classnames "^2.2.5" rc-util "^5.0.1" -rc-resize-observer@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.1.1.tgz#ef666e38065f550730176404bae2ce8ca5fb1ac4" - integrity sha512-5A3B9ha297ItltzXl812WFE36SyRDTNclfrXE3FL1pEwXkBh7iSEzxjzfwsPeMcF9ahy3ZoxLgLuRksXBGGD6A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.15.0" - resize-observer-polyfill "^1.5.1" - -rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== @@ -10240,9 +9964,9 @@ rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: resize-observer-polyfill "^1.5.1" rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8, rc-select@~14.0.2: - version "14.0.3" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.3.tgz#4b6ce3232e7d546b3455b38d99c775e32487f200" - integrity sha512-f7FZMySpEvuu6ey2ruTER092vfmCtM3q7vkATO65VMy9jqGgicRxDfJw2IsDOgXWOq3bDQpgkoJuZpNe0WhngA== + version "14.0.5" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.5.tgz#145c42e7fd66a7fc6c5c56f6b0cf35d8b50f9e23" + integrity sha512-5X1bcktpE9++7Ef9Uq7f35kobGBNnddaDhkECjeICWIkCsl9xfYtujQiK1YEYXO5EIYoTVLV30PwN/E3mWAKOQ== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -10293,9 +10017,9 @@ rc-table@~7.23.0: shallowequal "^1.1.0" rc-tabs@~11.10.0: - version "11.10.4" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.10.4.tgz#36ea00a02466c90d8f843322660c713c2a45e6ed" - integrity sha512-FXihSD9DEF7G/C5iIHNon5jzIO66Two0aeB6uHCmSYibasCsnuBFslHXb9Pa4woqs+vVNjiKRgoDZfurwx1rzg== + version "11.10.7" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.10.7.tgz#7d8b5dcc17f1608cf3b9425d80069f1415479335" + integrity sha512-7IKmcU7QU3CdYnJTabeXs2DDeLiXLyALC8fvOtgyWWFXUD47G5vG+4bFO3f9+AI+rcFAPpfwapZbXxgmiRuWYQ== dependencies: "@babel/runtime" "^7.11.2" classnames "2.x" @@ -10305,14 +10029,15 @@ rc-tabs@~11.10.0: rc-util "^5.5.0" rc-textarea@^0.3.0, rc-textarea@~0.3.0: - version "0.3.5" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.3.5.tgz#07ed445dddb94e5ae6764676923a49bddad9b2ec" - integrity sha512-qa+k5vDn9ct65qr+SgD2KwJ9Xz6P84lG2z+TDht/RBr71WnM/K61PqHUAcUyU6YqTJD26IXgjPuuhZR7HMw7eA== + version "0.3.7" + resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.3.7.tgz#987142891efdedb774883c07e2f51b318fde5a11" + integrity sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" rc-resize-observer "^1.0.0" rc-util "^5.7.0" + shallowequal "^1.1.0" rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: version "5.1.1" @@ -10345,35 +10070,26 @@ rc-tree@~5.4.3: rc-virtual-list "^3.4.2" rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10: - version "5.2.10" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1" - integrity sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA== + version "5.2.11" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.11.tgz#8ce469751fb86eafd82d2bea28176bfa299ff637" + integrity sha512-YS+BA4P2aqp9qU7dcTQwsK56SOLJk7XDaFynnXg96obJOUVFiQ6Lfomq9em2dlB4uSjd7Z/gjriZdUY8S2CPQw== dependencies: "@babel/runtime" "^7.11.2" classnames "^2.2.6" rc-align "^4.0.0" rc-motion "^2.0.0" - rc-util "^5.5.0" + rc-util "^5.19.2" rc-upload@~4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.2.tgz#3b56c8bdf7b25eab357e65453e032b7b10c6f3cc" - integrity sha512-v0HdwC/19xKAn1OYZ4hTMUSqSs/IA0n1v4p/cioSSnKubHrdpcCXC45N+TFMSOZtBlf4+xMNCFo3KDih31lAMg== + version "4.3.3" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.3.tgz#e237aa525e5313fa16f4d04d27f53c2f0e157bb8" + integrity sha512-YoJ0phCRenMj1nzwalXzciKZ9/FAaCrFu84dS5pphwucTC8GUWClcDID/WWNGsLFcM97NqIboDqrV82rVRhW/w== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" rc-util "^5.2.0" -rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: - version "5.16.0" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.16.0.tgz#3d169d36c2d0fc0e456fa3fb7fd058725985db05" - integrity sha512-Pp3C9WMc7LvLy/V4BtkRZRENizrbQInvy61muxsIA7beC44D1G8w6hcKrcQ4ujeZA4qhvUT0jLgOok2OhxBTRQ== - dependencies: - "@babel/runtime" "^7.12.5" - react-is "^16.12.0" - shallowequal "^1.1.0" - -rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.3: +rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.19.3, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: version "5.19.3" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.19.3.tgz#5f6aa854820f6d5824451d80771035b013eaf6d8" integrity sha512-S28epi9E2s7Nir05q8Ffl3hzDLwkavTGi0PGH1cTqCmkpG1AeBEuZgQDpksYeU6IgHcds5hWIPE5PUcdFiZl8w== @@ -10382,16 +10098,7 @@ rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.3: react-is "^16.12.0" shallowequal "^1.1.0" -rc-virtual-list@^3.2.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.2.tgz#1078327aa7230b5e456d679ed2ce99f3c036ebd1" - integrity sha512-OyVrrPvvFcHvV0ssz5EDZ+7Rf5qLat/+mmujjchNw5FfbJWNDwkpQ99EcVE6+FtNRmX9wFa1LGNpZLUTvp/4GQ== - dependencies: - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.0.7" - -rc-virtual-list@^3.4.2: +rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.2: version "3.4.4" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.4.tgz#be42832edecdcffc56260df131e437a2e0473bca" integrity sha512-Zb2h0B+ZhA/aysZNEUkQYaqx0hd8hq7WMIUegII+1KfFjh99GtHZ4ZMWB+SlpdVadskKJZzUWWzIq5N1mE6AVg== @@ -10427,15 +10134,15 @@ react-draggable@^4.0.0, react-draggable@^4.0.3: prop-types "^15.6.0" react-force-graph@^1.41.0: - version "1.41.7" - resolved "https://registry.yarnpkg.com/react-force-graph/-/react-force-graph-1.41.7.tgz#9f3d3a99688193551596bc5af749986f22e83385" - integrity sha512-8zeP7AEl9NQLZRmM3ad/yGuPfrsgpNiwZ5xcTc3mdujVNtV8ItGDeWdmBRxkzVtYnbzqDJBGQoPmRMX/mV/Txg== + version "1.41.12" + resolved "https://registry.yarnpkg.com/react-force-graph/-/react-force-graph-1.41.12.tgz#ceffca39f50f3cf0528b48df846ae667058dc98c" + integrity sha512-YeC2uAZkZTwZFbA4iYNAtxZ1YWzv+VdOwgzMN5vm/+uNHMcQ9yquJ3IHsgDgs65r6KlegedE/WA/rGBNJdSLWw== dependencies: "3d-force-graph" "^1.70" "3d-force-graph-ar" "^1.7" "3d-force-graph-vr" "^2.0" force-graph "^1.42" - prop-types "^15.7" + prop-types "^15.8" react-kapsule "^2.2" react-graph-vis@^1.0.5: @@ -10450,13 +10157,13 @@ react-graph-vis@^1.0.5: vis-network "^9.0.0" react-grid-layout@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.0.tgz#ca8a3e13e62ee2162fa658b1eec4b8eec0203dbd" - integrity sha512-WqFwybAItXu0AaSt9YL8+9xE5YotIzMcCYE0Q9XBqSKNyShTxPbC0LjObV/tOWZoADNWJ+osseVfRoZsjzwWXg== + version "1.3.4" + resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.4.tgz#4fa819be24a1ba9268aa11b82d63afc4762a32ff" + integrity sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw== dependencies: - classnames "2.3.1" + clsx "^1.1.1" lodash.isequal "^4.0.0" - prop-types "^15.0.0" + prop-types "^15.8.1" react-draggable "^4.0.0" react-resizable "^3.0.4" @@ -10474,7 +10181,7 @@ react-hot-loader@^4.13.0: shallowequal "^1.1.0" source-map "^0.7.3" -react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -10485,9 +10192,9 @@ react-is@^17.0.1, react-is@^17.0.2: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-kapsule@^2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-kapsule/-/react-kapsule-2.2.2.tgz#b1158b132a2d0d79ac5c33c71aa83e6f4b9e20d5" - integrity sha512-/dl8dTszQxhGXqlJ10VeOY8upbWRwx9WsBR9cIx1upW0bGmCPkxG2snT6JZiuG+m9QcURf0eRQF8gz1W9upCYQ== + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-kapsule/-/react-kapsule-2.2.3.tgz#ce86f7c8ead88756d124b31fd68fd777ed18505f" + integrity sha512-mAG/4/7ZPDOKz2fsWVncRLCwPGCfEB6H3YCsqQonWV65egmX60lInyuNmibi/7w7vwG/qy8mJHPLnFta21qyBw== dependencies: fromentries "^1.3.2" jerrypick "^1.0.4" @@ -10695,10 +10402,10 @@ redux@*, redux@^4.0.0, redux@^4.0.5: dependencies: "@babel/runtime" "^7.9.2" -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== dependencies: regenerate "^1.4.2" @@ -10728,9 +10435,9 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" @@ -10740,27 +10447,27 @@ regexpp@^3.0.0, regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== dependencies: jsesc "~0.5.0" @@ -10866,13 +10573,14 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.9.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.3: version "2.0.0-next.3" @@ -10953,19 +10661,19 @@ rxjs@7.5.1: dependencies: tslib "^2.1.0" -rxjs@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" - integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w== +rxjs@^7.5.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== dependencies: - tslib "~2.1.0" + tslib "^2.1.0" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -10998,9 +10706,9 @@ sane@^4.0.3: walker "~1.0.5" sass@^1.32.13: - version "1.49.7" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" - integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11060,9 +10768,9 @@ screenfull@^5.1.0: integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== scroll-into-view-if-needed@^2.2.25: - version "2.2.28" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" - integrity sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w== + version "2.2.29" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz#551791a84b7e2287706511f8c68161e4990ab885" + integrity sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg== dependencies: compute-scroll-into-view "^1.0.17" @@ -11071,12 +10779,12 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selfsigned@^1.10.11: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== +selfsigned@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b" + integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ== dependencies: - node-forge "^0.10.0" + node-forge "^1.2.0" semver-compare@^1.0.0: version "1.0.0" @@ -11088,7 +10796,7 @@ semver-regex@^3.1.2: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -11110,10 +10818,10 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== +send@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" + integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== dependencies: debug "2.6.9" depd "~1.1.2" @@ -11122,9 +10830,9 @@ send@0.17.1: escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.7.2" + http-errors "1.8.1" mime "1.6.0" - ms "2.1.1" + ms "2.1.3" on-finished "~2.3.0" range-parser "~1.2.1" statuses "~1.5.0" @@ -11156,15 +10864,15 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== +serve-static@1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" + integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.1" + send "0.17.2" set-blocking@^2.0.0: version "2.0.0" @@ -11191,10 +10899,10 @@ setprototypeof@1.1.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" @@ -11247,9 +10955,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== simple-concat@^1.0.0: version "1.0.1" @@ -11257,9 +10965,9 @@ simple-concat@^1.0.0: integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== simple-get@^2.7.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" - integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== dependencies: decompress-response "^3.3.0" once "^1.3.1" @@ -11340,12 +11048,12 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" - uuid "^3.4.0" + uuid "^8.3.2" websocket-driver "^0.7.4" sort-asc@^0.1.0: @@ -11376,11 +11084,6 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" - integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== - source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -11500,9 +11203,9 @@ sprintf-js@~1.0.2: integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.14.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -11555,6 +11258,11 @@ stacktrace-js@^2.0.2: stack-generator "^2.0.5" stacktrace-gps "^3.0.4" +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -11737,12 +11445,12 @@ styled-components@^5.2.1: shallowequal "^1.1.0" supports-color "^5.5.0" -stylehacks@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" - integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== +stylehacks@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" + integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== dependencies: - browserslist "^4.16.0" + browserslist "^4.16.6" postcss-selector-parser "^6.0.4" stylis@^4.0.6: @@ -11769,10 +11477,10 @@ super-animejs@^3.1.0: resolved "https://registry.yarnpkg.com/super-animejs/-/super-animejs-3.1.0.tgz#59435946faafe880710e348cf24ad3126e45aed1" integrity sha512-6MFAFJDRuvwkovxQZPruuyHinTa4rgj4hNLOndjcYYhZLckoXtVRY9rJPuq8p6c/tgZJrFYEAYAfJ2/hhNtUCA== -super-three@^0.125.1: - version "0.125.1" - resolved "https://registry.yarnpkg.com/super-three/-/super-three-0.125.1.tgz#b4d440ea2e69a1f575994c412ab39b465831c8d1" - integrity sha512-poTMpd0fa5tWVJDtWKSFWuqbb+h2Z0m1Eop66hRsfaeOE2p9xnl78MDJmj0S/jYI0Ly4iMQOWIkS0LyKCZe0SA== +super-three@^0.137.0: + version "0.137.0" + resolved "https://registry.yarnpkg.com/super-three/-/super-three-0.137.0.tgz#e09d19656afc3812ed7104627bfbe2f8012daed9" + integrity sha512-8jM8DiYiXQoalUoeFRxKWbW6KFQo3GFwgw+3vE2y6SJU/einw+JvuvgK+WhbIYRfz4LQV68nyOQ2eEZqAuouGw== supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" @@ -11803,6 +11511,11 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + svgo@^2.7.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" @@ -11822,9 +11535,9 @@ symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^6.0.9: - version "6.7.5" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.5.tgz#f04478c351ef3d8c7904f0e8be90a1b62417d238" - integrity sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw== + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" @@ -11846,11 +11559,11 @@ terminal-link@^2.0.0: supports-hyperlinks "^2.0.0" terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: - version "5.2.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" - integrity sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g== + version "5.3.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" + integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== dependencies: - jest-worker "^27.0.6" + jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" source-map "^0.6.1" @@ -11866,10 +11579,11 @@ terser@^4.6.3: source-map-support "~0.5.12" terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== dependencies: + acorn "^8.5.0" commander "^2.20.0" source-map "~0.7.2" source-map-support "~0.5.20" @@ -11900,9 +11614,9 @@ threads@^1.7.0: optionalDependencies: tiny-worker ">= 2" -three-bmfont-text@dmarcos/three-bmfont-text#1babdf8507c731a18f8af3b807292e2b9740955e: - version "2.3.0" - resolved "https://codeload.github.com/dmarcos/three-bmfont-text/tar.gz/1babdf8507c731a18f8af3b807292e2b9740955e" +"three-bmfont-text@github:dmarcos/three-bmfont-text#21d017046216e318362c48abd1a48bddfb6e0733": + version "2.4.0" + resolved "https://codeload.github.com/dmarcos/three-bmfont-text/tar.gz/21d017046216e318362c48abd1a48bddfb6e0733" dependencies: array-shuffle "^1.0.1" inherits "^2.0.1" @@ -11918,10 +11632,10 @@ three-buffer-vertex-data@dmarcos/three-buffer-vertex-data#69378fc58daf27d3b1d930 dependencies: flatten-vertex-data "^1.0.0" -three-forcegraph@^1.37, three-forcegraph@^1.39: - version "1.39.1" - resolved "https://registry.yarnpkg.com/three-forcegraph/-/three-forcegraph-1.39.1.tgz#8e4b95d059a43d9c7c03305e0690eb138e6f5550" - integrity sha512-IRmp4nAkmuJ84igSRazz05wwgckyjHbrMHBmZlhPw3HbpZMv0V8WtQ5aRE4vuqBdJX2wNexR/RZJu9khg1OhXQ== +three-forcegraph@^1.39: + version "1.39.4" + resolved "https://registry.yarnpkg.com/three-forcegraph/-/three-forcegraph-1.39.4.tgz#d9b6615ba5b8211f447f077a8517bda7a53ed8f7" + integrity sha512-kbycJcG98q/mwMJ5YIHIDz0nH2Fd8smpudc3QM2eoQPlf2cT7o1dzmrHWggUNnako4sWn7OybWypDSGf/S5/wg== dependencies: accessor-fn "1" d3-array "1 - 3" @@ -11930,8 +11644,8 @@ three-forcegraph@^1.37, three-forcegraph@^1.39: d3-scale-chromatic "1 - 3" data-joint "^1.2" kapsule "^1.13" - ngraph.forcelayout "^3.1" - ngraph.graph "^19.1" + ngraph.forcelayout "^3.3" + ngraph.graph "^20.0" tinycolor2 "^1.4" three-pathfinding@^0.7.0: @@ -11940,9 +11654,9 @@ three-pathfinding@^0.7.0: integrity sha512-UwWvzgio1UFe81n5jKHNzB4B+AG3wfZ54OKp7bTb1MHuC3cy6RTtr0dbbiPQQoqxzr+DRArR2DUwQSEknw5+nw== three-render-objects@^1.26: - version "1.26.4" - resolved "https://registry.yarnpkg.com/three-render-objects/-/three-render-objects-1.26.4.tgz#7bac7b8965d75fc09b07e1b01cb1c855f168b0fe" - integrity sha512-ndzGCJaGUZ8bj2ysfBGMu2IeRqAfR9NcrjLlGuf93XTy8nm95jJ+lz4QZmxPGVnky4xI+3LlhUceEn7zcJ2TWQ== + version "1.26.7" + resolved "https://registry.yarnpkg.com/three-render-objects/-/three-render-objects-1.26.7.tgz#bad9a86dc73d7ae7ebc5ef1e8fbb5835d80f68b4" + integrity sha512-wSSFJG635wYq8QjI6UDdN/2/jQ59HQLB3/ZTASdDjOeqKn/T5kr6469Ww2GuFu5iaZ36LLVN1ANqfpOhE8dJ2w== dependencies: "@tweenjs/tween.js" "18" accessor-fn "1" @@ -11950,9 +11664,9 @@ three-render-objects@^1.26: polished "4" "three@>=0.118 <1": - version "0.135.0" - resolved "https://registry.yarnpkg.com/three/-/three-0.135.0.tgz#cff4ec8edd3c51ce9bc7e88d13e8eafed4d0ddfc" - integrity sha512-kuEpuuxRzLv0MDsXai9huCxOSQPZ4vje6y0gn80SRmQvgz6/+rI0NAvCRAw56zYaWKMGMfqKWsxF9Qa2Z9xymQ== + version "0.138.3" + resolved "https://registry.yarnpkg.com/three/-/three-0.138.3.tgz#7be5153d79dcbf9e9baad82e7faf8c29edda4ed0" + integrity sha512-4t1cKC8gimNyJChJbaklg8W/qj3PpsLJUIFm5LIuAy/hVxxNm1ru2FGTSfbTSsuHmC/7ipsyuGKqrSAKLNtkzg== throat@^5.0.0: version "5.0.0" @@ -12065,10 +11779,10 @@ toggle-selection@^1.0.6: resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== totalist@^1.0.0: version "1.1.0" @@ -12105,9 +11819,9 @@ ts-easing@^0.2.0: integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== ts-node@^10.2.1: - version "10.4.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" - integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -12120,6 +11834,7 @@ ts-node@^10.2.1: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" + v8-compile-cache-lib "^3.0.0" yn "3.1.1" tsconfig-paths-webpack-plugin@^3.5.1: @@ -12131,10 +11846,10 @@ tsconfig-paths-webpack-plugin@^3.5.1: enhanced-resolve "^5.7.0" tsconfig-paths "^3.9.0" -tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== +tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" + integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -12151,11 +11866,6 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -12214,7 +11924,7 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -12249,9 +11959,9 @@ typescript-plugin-css-modules@^3.4.0: tsconfig-paths "^3.9.0" typescript@^4.0.5: - version "4.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" - integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== unbox-primitive@^1.0.1: version "1.0.1" @@ -12379,16 +12089,16 @@ uuid@^2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= -uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +v8-compile-cache-lib@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" + integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" @@ -12431,9 +12141,9 @@ verror@1.10.0: extsprintf "^1.2.0" vis-data@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/vis-data/-/vis-data-7.1.2.tgz#b7d076ac79cb54f7c5e9c80f5b03b93cc8cc1fda" - integrity sha512-RPSegFxEcnp3HUEJSzhS2vBdbJ2PSsrYYuhRlpHp2frO/MfRtTYbIkkLZmPkA/Sg3pPfBlR235gcoKbtdm4mbw== + version "7.1.4" + resolved "https://registry.yarnpkg.com/vis-data/-/vis-data-7.1.4.tgz#90e5e796a79e1901de14c0808fb32a1a0735c1dc" + integrity sha512-usy+ePX1XnArNvJ5BavQod7YRuGQE1pjFl+pu7IS6rCom2EBoG0o1ZzCqf3l5US6MW51kYkLR+efxRbnjxNl7w== vis-network@^9.0.0: version "9.1.0" @@ -12461,10 +12171,10 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -watchpack@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" - integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw== +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -12512,14 +12222,14 @@ webpack-bundle-analyzer@^4.5.0: ws "^7.3.1" webpack-cli@^4.5.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== + version "4.9.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d" + integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" + "@webpack-cli/configtest" "^1.1.1" + "@webpack-cli/info" "^1.4.1" + "@webpack-cli/serve" "^1.6.1" colorette "^2.0.14" commander "^7.0.0" execa "^5.0.0" @@ -12529,25 +12239,31 @@ webpack-cli@^4.5.0: rechoir "^0.7.0" webpack-merge "^5.7.3" -webpack-dev-middleware@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" - integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== +webpack-dev-middleware@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" + integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== dependencies: colorette "^2.0.10" - memfs "^3.2.2" + memfs "^3.4.1" mime-types "^2.1.31" range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.3.1: - version "4.6.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a" - integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg== +webpack-dev-server@*, webpack-dev-server@^4.3.1: + version "4.7.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" + integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.2.2" ansi-html-community "^0.0.8" bonjour "^3.5.0" - chokidar "^3.5.2" + chokidar "^3.5.3" colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^1.6.0" @@ -12562,14 +12278,13 @@ webpack-dev-server@^4.3.1: p-retry "^4.5.0" portfinder "^1.0.28" schema-utils "^4.0.0" - selfsigned "^1.10.11" + selfsigned "^2.0.0" serve-index "^1.9.1" sockjs "^0.3.21" spdy "^4.0.2" strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" - ws "^8.1.0" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" webpack-log@^3.0.1: version "3.0.2" @@ -12596,18 +12311,18 @@ webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack-sources@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@*, webpack@^5, webpack@^5.1.0, webpack@^5.23.0, webpack@^5.38.1, webpack@^5.51.0: - version "5.64.4" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.4.tgz#e1454b6a13009f57cc2c78e08416cd674622937b" - integrity sha512-LWhqfKjCLoYJLKJY8wk2C3h77i8VyHowG3qYNZiIqD6D0ZS40439S/KVuc/PY48jp2yQmy0mhMknq8cys4jFMw== +webpack@^5, webpack@^5.1.0, webpack@^5.23.0: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" @@ -12615,12 +12330,12 @@ webpack@*, webpack@^5, webpack@^5.1.0, webpack@^5.23.0, webpack@^5.38.1, webpack acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" + enhanced-resolve "^5.9.2" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" @@ -12628,8 +12343,8 @@ webpack@*, webpack@^5, webpack@^5.1.0, webpack@^5.23.0, webpack@^5.38.1, webpack schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.0" - webpack-sources "^3.2.2" + watchpack "^2.3.1" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -12695,9 +12410,9 @@ which-module@^2.0.0: integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== which@^1.2.9: version "1.3.1" @@ -12762,14 +12477,14 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^7.3.1, ws@^7.4.6: - version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== -ws@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.3.0.tgz#7185e252c8973a60d57170175ff55fdbd116070d" - integrity sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw== +ws@^8.4.2: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== xhr-request@^1.0.1: version "1.1.0" @@ -12850,7 +12565,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From e28733d246272171bed25f080e51af36bae2e81d Mon Sep 17 00:00:00 2001 From: palash-signoz Date: Wed, 16 Mar 2022 23:26:45 +0530 Subject: [PATCH 33/52] feat: onClick in new tab is added (#842) --- frontend/src/container/MetricsTable/index.tsx | 3 +-- frontend/src/container/Trace/TraceTable/index.tsx | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/frontend/src/container/MetricsTable/index.tsx b/frontend/src/container/MetricsTable/index.tsx index 63a2d94439..48d1eb2d7b 100644 --- a/frontend/src/container/MetricsTable/index.tsx +++ b/frontend/src/container/MetricsTable/index.tsx @@ -3,7 +3,6 @@ import localStorageGet from 'api/browser/localstorage/get'; import localStorageSet from 'api/browser/localstorage/set'; import { SKIP_ONBOARDING } from 'constants/onboarding'; import ROUTES from 'constants/routes'; -import history from 'lib/history'; import React, { useState } from 'react'; import { useSelector } from 'react-redux'; import { servicesListItem } from 'store/actions/MetricsActions/metricsInterfaces'; @@ -28,7 +27,7 @@ const Metrics = (): JSX.Element => { }; const onClickHandler = (to: string): void => { - history.push(to); + window.open(to, '_blank'); }; if ( diff --git a/frontend/src/container/Trace/TraceTable/index.tsx b/frontend/src/container/Trace/TraceTable/index.tsx index 9a1155a5c7..1aae8018b7 100644 --- a/frontend/src/container/Trace/TraceTable/index.tsx +++ b/frontend/src/container/Trace/TraceTable/index.tsx @@ -119,10 +119,7 @@ const TraceTable = ({ getSpansAggregate }: TraceProps): JSX.Element => { columns={columns} onRow={(record) => ({ onClick: (): void => { - history.push({ - pathname: ROUTES.TRACE + '/' + record.traceID, - search: '?' + 'spanId=' + record.spanID, - }); + window.open(`${ROUTES.TRACE}/${record.traceID}?spanId=${record.spanID}`); }, })} size="middle" From ab10a699b1a67e7b7c13f52c7cabbabb3ba57e91 Mon Sep 17 00:00:00 2001 From: palash-signoz Date: Thu, 17 Mar 2022 11:56:25 +0530 Subject: [PATCH 34/52] feat: timestamp is updated for selected start time (#852) * feat: timestamp is updated for selected start time * feat: startTime for the tree is updated --- frontend/src/container/Timeline/index.tsx | 18 +++++++++++++----- frontend/src/container/TraceDetail/index.tsx | 5 +++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/frontend/src/container/Timeline/index.tsx b/frontend/src/container/Timeline/index.tsx index 9ce598b679..5f8dbe7ffa 100644 --- a/frontend/src/container/Timeline/index.tsx +++ b/frontend/src/container/Timeline/index.tsx @@ -35,7 +35,8 @@ const Timeline = ({ for (let idx = 0; idx < INTERVAL_UNITS.length; idx++) { const standard_interval = INTERVAL_UNITS[idx]; if (baseSpread * standard_interval.multiplier < 1) { - if (idx > 1) intervalUnit = INTERVAL_UNITS[idx - 1]; + const index = parseInt(idx, 10); + if (index > 1) intervalUnit = INTERVAL_UNITS[index - 1]; break; } } @@ -69,9 +70,10 @@ const Timeline = ({ {intervals && intervals.map((interval, index) => ( @@ -91,10 +93,16 @@ const Timeline = ({ }; interface TimelineProps { - traceMetaData: object; + traceMetaData: { + globalStart: number; + globalEnd: number; + spread: number; + totalSpans: number; + levels: number; + }; globalTraceMetadata: Record; intervalUnit: IIntervalUnit; - setIntervalUnit: VoidFunction; + setIntervalUnit: React.Dispatch>; } export default Timeline; diff --git a/frontend/src/container/TraceDetail/index.tsx b/frontend/src/container/TraceDetail/index.tsx index e89d78530a..59c6162fac 100644 --- a/frontend/src/container/TraceDetail/index.tsx +++ b/frontend/src/container/TraceDetail/index.tsx @@ -48,7 +48,8 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { ); const { treeData: tree, ...traceMetaData } = useMemo(() => { - return getSpanTreeMetadata(getSortedData(treeData), spanServiceColors); + const tree = getSortedData(treeData); + return getSpanTreeMetadata(tree, spanServiceColors); }, [treeData, spanServiceColors]); const [globalTraceMetadata] = useState>({ @@ -119,7 +120,7 @@ const TraceDetail = ({ response }: TraceDetailProps): JSX.Element => { justifyContent: 'center', }} > - {dayjs(traceMetaData.globalStart / 1e6).format('hh:mm:ssa MM/DD')} + {tree && dayjs(tree.startTime).format('hh:mm:ss a MM/DD')} Date: Mon, 21 Mar 2022 20:39:53 +0530 Subject: [PATCH 35/52] =?UTF-8?q?chore(telemetry):=20=E2=9C=A8=20add=20dep?= =?UTF-8?q?loyment=20type=20(#875)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Prashant Shahi --- .../docker-swarm/clickhouse-setup/docker-compose.yaml | 5 +++++ deploy/docker/clickhouse-setup/docker-compose.arm.yaml | 2 ++ deploy/docker/clickhouse-setup/docker-compose.yaml | 2 ++ pkg/query-service/telemetry/telemetry.go | 10 ++++++++++ 4 files changed, 19 insertions(+) diff --git a/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml b/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml index 7313a96251..46980c9a61 100644 --- a/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml +++ b/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml @@ -37,6 +37,11 @@ services: - STORAGE=clickhouse - POSTHOG_API_KEY=H-htDCae7CR3RV57gUzmol6IAKtm5IMCvbcm_fwnL-w - GODEBUG=netdns=go + - TELEMETRY_ENABLED=true + - DEPLOYMENT_TYPE=docker-swarm + deploy: + restart_policy: + condition: on-failure depends_on: - clickhouse diff --git a/deploy/docker/clickhouse-setup/docker-compose.arm.yaml b/deploy/docker/clickhouse-setup/docker-compose.arm.yaml index defed773e8..32375e83c9 100644 --- a/deploy/docker/clickhouse-setup/docker-compose.arm.yaml +++ b/deploy/docker/clickhouse-setup/docker-compose.arm.yaml @@ -35,6 +35,8 @@ services: - STORAGE=clickhouse - GODEBUG=netdns=go - TELEMETRY_ENABLED=true + - DEPLOYMENT_TYPE=docker-standalone-arm + restart: on-failure depends_on: clickhouse: condition: service_healthy diff --git a/deploy/docker/clickhouse-setup/docker-compose.yaml b/deploy/docker/clickhouse-setup/docker-compose.yaml index fff3535dd7..2a73859312 100644 --- a/deploy/docker/clickhouse-setup/docker-compose.yaml +++ b/deploy/docker/clickhouse-setup/docker-compose.yaml @@ -38,6 +38,8 @@ services: - STORAGE=clickhouse - GODEBUG=netdns=go - TELEMETRY_ENABLED=true + - DEPLOYMENT_TYPE=docker-standalone-amd + restart: on-failure depends_on: clickhouse: condition: service_healthy diff --git a/pkg/query-service/telemetry/telemetry.go b/pkg/query-service/telemetry/telemetry.go index 8a60be19da..9dea99f94f 100644 --- a/pkg/query-service/telemetry/telemetry.go +++ b/pkg/query-service/telemetry/telemetry.go @@ -3,6 +3,7 @@ package telemetry import ( "io/ioutil" "net/http" + "os" "sync" "time" @@ -111,6 +112,7 @@ func (a *Telemetry) SendEvent(event string, data map[string]interface{}) { // zap.S().Info(data) properties := analytics.NewProperties() properties.Set("version", version.GetVersion()) + properties.Set("deploymentType", getDeploymentType()) for k, v := range data { properties.Set(k, v) @@ -159,3 +161,11 @@ func GetInstance() *Telemetry { return telemetry } + +func getDeploymentType() string { + deploymentType := os.Getenv("DEPLOYMENT_TYPE") + if deploymentType == "" { + return "unknown" + } + return deploymentType +} From 044f02c7c7a3f392f75418cb34a81f9770b19e2d Mon Sep 17 00:00:00 2001 From: Ankit Nayan Date: Mon, 21 Mar 2022 20:40:43 +0530 Subject: [PATCH 36/52] chore: version bumped for forked prometheus with clickhouse storage (#870) --- pkg/query-service/app/clickhouseReader/reader.go | 4 ---- pkg/query-service/go.mod | 2 +- pkg/query-service/go.sum | 4 ++-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pkg/query-service/app/clickhouseReader/reader.go b/pkg/query-service/app/clickhouseReader/reader.go index d424762293..e0da46f1de 100644 --- a/pkg/query-service/app/clickhouseReader/reader.go +++ b/pkg/query-service/app/clickhouseReader/reader.go @@ -55,10 +55,6 @@ const ( signozMetricDBName = "signoz_metrics" signozSampleName = "samples" signozTSName = "time_series" - - minTimespanForProgressiveSearch = time.Hour - minTimespanForProgressiveSearchMargin = time.Minute - maxProgressiveSteps = 4 ) var ( diff --git a/pkg/query-service/go.mod b/pkg/query-service/go.mod index 8de66373db..abe17444e8 100644 --- a/pkg/query-service/go.mod +++ b/pkg/query-service/go.mod @@ -74,4 +74,4 @@ require ( ) -replace github.com/prometheus/prometheus => github.com/SigNoz/prometheus v1.9.68 +replace github.com/prometheus/prometheus => github.com/SigNoz/prometheus v1.9.69 diff --git a/pkg/query-service/go.sum b/pkg/query-service/go.sum index 622b35ce3b..23445c1300 100644 --- a/pkg/query-service/go.sum +++ b/pkg/query-service/go.sum @@ -64,8 +64,8 @@ github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpz github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/SigNoz/prometheus v1.9.68 h1:YeouJ2bLUksLtOPVutKFWLVgLDI0CRldosihPZtFCJY= -github.com/SigNoz/prometheus v1.9.68/go.mod h1:BHEawFYBYkVr9BjPXsz9Ye6QVVQ+2a99m6r/S8hO/lA= +github.com/SigNoz/prometheus v1.9.69 h1:DJogqPVErWpXG4rFz8euICdS7x/GFmMKRT7f4MJVw1I= +github.com/SigNoz/prometheus v1.9.69/go.mod h1:BHEawFYBYkVr9BjPXsz9Ye6QVVQ+2a99m6r/S8hO/lA= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= From 86bdb9a5adda7e2786f6daceca7988309a0d7be3 Mon Sep 17 00:00:00 2001 From: Prashant Shahi Date: Mon, 21 Mar 2022 20:43:43 +0530 Subject: [PATCH 37/52] chore: deployment config changes (#869) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(install-script): 🔧 include missed sudo_cmd variable Signed-off-by: Prashant Shahi * chore: 🔧 add .gitkeep in folders to mount Signed-off-by: Prashant Shahi * chore(docker-swarm): 🔧 Update deploy configurations Signed-off-by: Prashant Shahi * chore(compose-yaml): 🔧 expose otlp ports and restart on failure policy Signed-off-by: Prashant Shahi Co-authored-by: Ankit Nayan --- .gitignore | 3 + .../clickhouse-setup/alertmanager.yml | 35 ++++++ .../docker-swarm/clickhouse-setup/alerts.yml | 11 ++ .../data/alertmanager/.gitkeep | 0 .../clickhouse-setup/docker-compose.yaml | 117 +++++++++--------- .../otel-collector-config-hostmetrics.yaml | 72 ----------- .../otel-collector-config.yaml | 44 +++++-- .../otel-collector-metrics-config.yaml | 44 +++++++ .../clickhouse-setup/prometheus.yml | 3 +- .../data/alertmanager/.gitkeep | 0 .../clickhouse-setup/data/clickhouse/.gitkeep | 0 .../clickhouse-setup/data/signoz/.gitkeep | 0 .../clickhouse-setup/docker-compose.arm.yaml | 15 ++- .../clickhouse-setup/docker-compose.yaml | 15 ++- deploy/install.sh | 20 +-- 15 files changed, 223 insertions(+), 156 deletions(-) create mode 100644 deploy/docker-swarm/clickhouse-setup/alertmanager.yml create mode 100644 deploy/docker-swarm/clickhouse-setup/alerts.yml create mode 100644 deploy/docker-swarm/clickhouse-setup/data/alertmanager/.gitkeep delete mode 100644 deploy/docker-swarm/clickhouse-setup/otel-collector-config-hostmetrics.yaml create mode 100644 deploy/docker-swarm/clickhouse-setup/otel-collector-metrics-config.yaml create mode 100644 deploy/docker/clickhouse-setup/data/alertmanager/.gitkeep create mode 100644 deploy/docker/clickhouse-setup/data/clickhouse/.gitkeep create mode 100644 deploy/docker/clickhouse-setup/data/signoz/.gitkeep diff --git a/.gitignore b/.gitignore index 1556564080..cb49cc98ef 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,7 @@ frontend/cypress.env.json frontend/*.env pkg/query-service/signoz.db + +# local data /deploy/docker/clickhouse-setup/data/ +/deploy/docker-swarm/clickhouse-setup/data/ diff --git a/deploy/docker-swarm/clickhouse-setup/alertmanager.yml b/deploy/docker-swarm/clickhouse-setup/alertmanager.yml new file mode 100644 index 0000000000..d69357f9dd --- /dev/null +++ b/deploy/docker-swarm/clickhouse-setup/alertmanager.yml @@ -0,0 +1,35 @@ +global: + resolve_timeout: 1m + slack_api_url: 'https://hooks.slack.com/services/xxx' + +route: + receiver: 'slack-notifications' + +receivers: +- name: 'slack-notifications' + slack_configs: + - channel: '#alerts' + send_resolved: true + icon_url: https://avatars3.githubusercontent.com/u/3380462 + title: |- + [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }} + {{- if gt (len .CommonLabels) (len .GroupLabels) -}} + {{" "}}( + {{- with .CommonLabels.Remove .GroupLabels.Names }} + {{- range $index, $label := .SortedPairs -}} + {{ if $index }}, {{ end }} + {{- $label.Name }}="{{ $label.Value -}}" + {{- end }} + {{- end -}} + ) + {{- end }} + text: >- + {{ range .Alerts -}} + *Alert:* {{ .Annotations.title }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }} + + *Description:* {{ .Annotations.description }} + + *Details:* + {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}` + {{ end }} + {{ end }} \ No newline at end of file diff --git a/deploy/docker-swarm/clickhouse-setup/alerts.yml b/deploy/docker-swarm/clickhouse-setup/alerts.yml new file mode 100644 index 0000000000..810a20750c --- /dev/null +++ b/deploy/docker-swarm/clickhouse-setup/alerts.yml @@ -0,0 +1,11 @@ +groups: +- name: ExampleCPULoadGroup + rules: + - alert: HighCpuLoad + expr: system_cpu_load_average_1m > 0.1 + for: 0m + labels: + severity: warning + annotations: + summary: High CPU load + description: "CPU load is > 0.1\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" diff --git a/deploy/docker-swarm/clickhouse-setup/data/alertmanager/.gitkeep b/deploy/docker-swarm/clickhouse-setup/data/alertmanager/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml b/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml index 46980c9a61..f00a6d3ca0 100644 --- a/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml +++ b/deploy/docker-swarm/clickhouse-setup/docker-compose.yaml @@ -1,30 +1,35 @@ -version: "3" +version: "3.9" services: clickhouse: - image: yandex/clickhouse-server - expose: - - 8123 - - 9000 - ports: - - 9001:9000 - - 8123:8123 - volumes: - - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml - - ./docker-entrypoint-initdb.d/init-db.sql:/docker-entrypoint-initdb.d/init-db.sql - - ./data/clickhouse/:/var/lib/clickhouse/ + image: yandex/clickhouse-server:21.12.3.32 + volumes: + - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml + - ./data/clickhouse/:/var/lib/clickhouse/ + deploy: + restart_policy: + condition: on-failure + healthcheck: + # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" + test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] + interval: 30s + timeout: 5s + retries: 3 - healthcheck: - # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" - test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] - interval: 30s - timeout: 5s - retries: 3 + alertmanager: + image: signoz/alertmanager:0.5.0 + volumes: + - ./alertmanager.yml:/prometheus/alertmanager.yml + - ./data/alertmanager:/data + command: + - '--config.file=/prometheus/alertmanager.yml' + - '--storage.path=/data' + deploy: + restart_policy: + condition: on-failure query-service: - image: signoz/query-service:0.4.1 - container_name: query-service - restart: always + image: signoz/query-service:0.7.1 command: ["-config=/root/config/prometheus.yml"] ports: - "8080:8080" @@ -35,77 +40,75 @@ services: environment: - ClickHouseUrl=tcp://clickhouse:9000 - STORAGE=clickhouse - - POSTHOG_API_KEY=H-htDCae7CR3RV57gUzmol6IAKtm5IMCvbcm_fwnL-w - GODEBUG=netdns=go - TELEMETRY_ENABLED=true - DEPLOYMENT_TYPE=docker-swarm + deploy: restart_policy: condition: on-failure depends_on: - clickhouse - frontend: - image: signoz/frontend:0.4.1 - container_name: frontend - + image: signoz/frontend:0.7.1 depends_on: - query-service - links: - - "query-service" ports: - "3301:3301" volumes: - ../common/nginx-config.conf:/etc/nginx/conf.d/default.conf - otel-collector: - image: signoz/otelcontribcol:0.4.0 - command: ["--config=/etc/otel-collector-config.yaml", "--mem-ballast-size-mib=2000"] + image: signoz/otelcontribcol:0.43.0 + command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - - "1777:1777" # pprof extension - - "8887:8888" # Prometheus metrics exposed by the agent - - "14268:14268" # Jaeger receiver - - "55678" # OpenCensus receiver - - "55680:55680" # OTLP HTTP/2.0 legacy port - - "55681:55681" # OTLP HTTP/1.0 receiver - - "4317:4317" # OTLP GRPC receiver - - "55679:55679" # zpages extension - - "13133" # health_check + - "4317:4317" # OTLP gRPC receiver + - "4318:4318" # OTLP HTTP receiver + # - "8889:8889" # Prometheus metrics exposed by the agent + # - "13133" # health_check + # - "14268:14268" # Jaeger receiver + # - "55678:55678" # OpenCensus receiver + # - "55679:55679" # zpages extension + # - "55680:55680" # OTLP gRPC legacy receiver + # - "55681:55681" # OTLP HTTP legacy receiver deploy: mode: replicated replicas: 3 + restart_policy: + condition: on-failure + resources: + limits: + memory: 2000m depends_on: - - clickhouse + - clickhouse - otel-collector-hostmetrics: - image: signoz/otelcontribcol:0.4.0 - command: ["--config=/etc/otel-collector-config-hostmetrics.yaml", "--mem-ballast-size-mib=683"] + otel-collector-metrics: + image: signoz/otelcontribcol:0.43.0 + command: ["--config=/etc/otel-collector-metrics-config.yaml"] volumes: - - ./otel-collector-config-hostmetrics.yaml:/etc/otel-collector-config-hostmetrics.yaml + - ./otel-collector-metrics-config.yaml:/etc/otel-collector-metrics-config.yaml + deploy: + restart_policy: + condition: on-failure depends_on: - - clickhouse - + - clickhouse hotrod: - image: jaegertracing/example-hotrod:latest - container_name: hotrod - ports: - - "9000:8080" + image: jaegertracing/example-hotrod:1.30 command: ["all"] environment: - - JAEGER_ENDPOINT=http://otel-collector:14268/api/traces - + - JAEGER_ENDPOINT=http://otel-collector:14268/api/traces + logging: + options: + max-size: 50m + max-file: "3" load-hotrod: image: "grubykarol/locust:1.2.3-python3.9-alpine3.12" - container_name: load-hotrod hostname: load-hotrod - ports: - - "8089:8089" environment: ATTACKED_HOST: http://hotrod:8080 LOCUST_MODE: standalone @@ -115,4 +118,4 @@ services: QUIET_MODE: "${QUIET_MODE:-false}" LOCUST_OPTS: "--headless -u 10 -r 1" volumes: - - ../common/locust-scripts:/locust \ No newline at end of file + - ../common/locust-scripts:/locust diff --git a/deploy/docker-swarm/clickhouse-setup/otel-collector-config-hostmetrics.yaml b/deploy/docker-swarm/clickhouse-setup/otel-collector-config-hostmetrics.yaml deleted file mode 100644 index 28033e9f2e..0000000000 --- a/deploy/docker-swarm/clickhouse-setup/otel-collector-config-hostmetrics.yaml +++ /dev/null @@ -1,72 +0,0 @@ -receivers: - otlp: - protocols: - grpc: - http: - jaeger: - protocols: - grpc: - thrift_http: - - hostmetrics: - collection_interval: 60s - scrapers: - cpu: - load: - memory: - disk: - filesystem: - network: - - # Data sources: metrics - prometheus: - config: - scrape_configs: - - job_name: "otel-collector" - dns_sd_configs: - - names: - - 'tasks.signoz_otel-collector' - type: 'A' - port: 8888 - - job_name: "otel-collector-hostmetrics" - scrape_interval: 10s - static_configs: - - targets: ["otel-collector-hostmetrics:8888"] -processors: - batch: - send_batch_size: 1000 - timeout: 10s - memory_limiter: - # Same as --mem-ballast-size-mib CLI argument - ballast_size_mib: 683 - # 80% of maximum memory up to 2G - limit_mib: 1500 - # 25% of limit up to 2G - spike_limit_mib: 512 - check_interval: 5s - # queued_retry: - # num_workers: 4 - # queue_size: 100 - # retry_on_failure: true -extensions: - health_check: {} - zpages: {} -exporters: - clickhouse: - datasource: tcp://clickhouse:9000 - clickhousemetricswrite: - endpoint: tcp://clickhouse:9000/?database=signoz_metrics - resource_to_telemetry_conversion: - enabled: true - -service: - extensions: [health_check, zpages] - pipelines: - traces: - receivers: [jaeger, otlp] - processors: [batch] - exporters: [clickhouse] - metrics: - receivers: [otlp, prometheus, hostmetrics] - processors: [batch] - exporters: [clickhousemetricswrite] \ No newline at end of file diff --git a/deploy/docker-swarm/clickhouse-setup/otel-collector-config.yaml b/deploy/docker-swarm/clickhouse-setup/otel-collector-config.yaml index 7d41a4cb83..a4a2641daa 100644 --- a/deploy/docker-swarm/clickhouse-setup/otel-collector-config.yaml +++ b/deploy/docker-swarm/clickhouse-setup/otel-collector-config.yaml @@ -1,4 +1,8 @@ receivers: + otlp/spanmetrics: + protocols: + grpc: + endpoint: "localhost:12345" otlp: protocols: grpc: @@ -7,18 +11,30 @@ receivers: protocols: grpc: thrift_http: + hostmetrics: + collection_interval: 30s + scrapers: + cpu: + load: + memory: + disk: + filesystem: + network: processors: batch: send_batch_size: 1000 timeout: 10s - memory_limiter: - # Same as --mem-ballast-size-mib CLI argument - ballast_size_mib: 683 - # 80% of maximum memory up to 2G - limit_mib: 1500 - # 25% of limit up to 2G - spike_limit_mib: 512 - check_interval: 5s + signozspanmetrics/prometheus: + metrics_exporter: prometheus + latency_histogram_buckets: [100us, 1ms, 2ms, 6ms, 10ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 1400ms, 2000ms, 5s, 10s, 20s, 40s, 60s ] + # memory_limiter: + # # Same as --mem-ballast-size-mib CLI argument + # ballast_size_mib: 683 + # # 80% of maximum memory up to 2G + # limit_mib: 1500 + # # 25% of limit up to 2G + # spike_limit_mib: 512 + # check_interval: 5s # queued_retry: # num_workers: 4 # queue_size: 100 @@ -33,15 +49,19 @@ exporters: endpoint: tcp://clickhouse:9000/?database=signoz_metrics resource_to_telemetry_conversion: enabled: true - + prometheus: + endpoint: "0.0.0.0:8889" service: extensions: [health_check, zpages] pipelines: traces: receivers: [jaeger, otlp] - processors: [batch] + processors: [signozspanmetrics/prometheus, batch] exporters: [clickhouse] metrics: - receivers: [otlp] + receivers: [otlp, hostmetrics] processors: [batch] - exporters: [clickhousemetricswrite] \ No newline at end of file + exporters: [clickhousemetricswrite] + metrics/spanmetrics: + receivers: [otlp/spanmetrics] + exporters: [prometheus] \ No newline at end of file diff --git a/deploy/docker-swarm/clickhouse-setup/otel-collector-metrics-config.yaml b/deploy/docker-swarm/clickhouse-setup/otel-collector-metrics-config.yaml new file mode 100644 index 0000000000..3af039268c --- /dev/null +++ b/deploy/docker-swarm/clickhouse-setup/otel-collector-metrics-config.yaml @@ -0,0 +1,44 @@ +receivers: + otlp: + protocols: + grpc: + http: + + # Data sources: metrics + prometheus: + config: + scrape_configs: + - job_name: "otel-collector" + scrape_interval: 30s + static_configs: + - targets: ["otel-collector:8889"] +processors: + batch: + send_batch_size: 1000 + timeout: 10s + # memory_limiter: + # # Same as --mem-ballast-size-mib CLI argument + # ballast_size_mib: 683 + # # 80% of maximum memory up to 2G + # limit_mib: 1500 + # # 25% of limit up to 2G + # spike_limit_mib: 512 + # check_interval: 5s + # queued_retry: + # num_workers: 4 + # queue_size: 100 + # retry_on_failure: true +extensions: + health_check: {} + zpages: {} +exporters: + clickhousemetricswrite: + endpoint: tcp://clickhouse:9000/?database=signoz_metrics + +service: + extensions: [health_check, zpages] + pipelines: + metrics: + receivers: [otlp, prometheus] + processors: [batch] + exporters: [clickhousemetricswrite] \ No newline at end of file diff --git a/deploy/docker-swarm/clickhouse-setup/prometheus.yml b/deploy/docker-swarm/clickhouse-setup/prometheus.yml index 7d04428a42..16e65ff18c 100644 --- a/deploy/docker-swarm/clickhouse-setup/prometheus.yml +++ b/deploy/docker-swarm/clickhouse-setup/prometheus.yml @@ -9,12 +9,13 @@ alerting: alertmanagers: - static_configs: - targets: - # - alertmanager:9093 + - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" + - 'alerts.yml' # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. diff --git a/deploy/docker/clickhouse-setup/data/alertmanager/.gitkeep b/deploy/docker/clickhouse-setup/data/alertmanager/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deploy/docker/clickhouse-setup/data/clickhouse/.gitkeep b/deploy/docker/clickhouse-setup/data/clickhouse/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deploy/docker/clickhouse-setup/data/signoz/.gitkeep b/deploy/docker/clickhouse-setup/data/signoz/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deploy/docker/clickhouse-setup/docker-compose.arm.yaml b/deploy/docker/clickhouse-setup/docker-compose.arm.yaml index 32375e83c9..c6616a10bb 100644 --- a/deploy/docker/clickhouse-setup/docker-compose.arm.yaml +++ b/deploy/docker/clickhouse-setup/docker-compose.arm.yaml @@ -6,6 +6,7 @@ services: volumes: - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml - ./data/clickhouse/:/var/lib/clickhouse/ + restart: on-failure healthcheck: # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] @@ -36,6 +37,7 @@ services: - GODEBUG=netdns=go - TELEMETRY_ENABLED=true - DEPLOYMENT_TYPE=docker-standalone-arm + restart: on-failure depends_on: clickhouse: @@ -57,9 +59,17 @@ services: volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - - "4317:4317" # OTLP GRPC receiver + - "4317:4317" # OTLP gRPC receiver + - "4318:4318" # OTLP HTTP receiver + # - "8889:8889" # Prometheus metrics exposed by the agent + # - "13133" # health_check + # - "14268:14268" # Jaeger receiver + # - "55678:55678" # OpenCensus receiver + # - "55679:55679" # zpages extension + # - "55680:55680" # OTLP gRPC legacy port + # - "55681:55681" # OTLP HTTP legacy receiver mem_limit: 2000m - restart: always + restart: on-failure depends_on: clickhouse: condition: service_healthy @@ -69,6 +79,7 @@ services: command: ["--config=/etc/otel-collector-metrics-config.yaml"] volumes: - ./otel-collector-metrics-config.yaml:/etc/otel-collector-metrics-config.yaml + restart: on-failure depends_on: clickhouse: condition: service_healthy diff --git a/deploy/docker/clickhouse-setup/docker-compose.yaml b/deploy/docker/clickhouse-setup/docker-compose.yaml index 2a73859312..94f579bc84 100644 --- a/deploy/docker/clickhouse-setup/docker-compose.yaml +++ b/deploy/docker/clickhouse-setup/docker-compose.yaml @@ -6,6 +6,7 @@ services: volumes: - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml - ./data/clickhouse/:/var/lib/clickhouse/ + restart: on-failure healthcheck: # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] @@ -39,6 +40,7 @@ services: - GODEBUG=netdns=go - TELEMETRY_ENABLED=true - DEPLOYMENT_TYPE=docker-standalone-amd + restart: on-failure depends_on: clickhouse: @@ -60,9 +62,17 @@ services: volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - - "4317:4317" # OTLP GRPC receiver + - "4317:4317" # OTLP gRPC receiver + - "4318:4318" # OTLP HTTP receiver + # - "8889:8889" # Prometheus metrics exposed by the agent + # - "13133" # health_check + # - "14268:14268" # Jaeger receiver + # - "55678:55678" # OpenCensus receiver + # - "55679:55679" # zpages extension + # - "55680:55680" # OTLP gRPC legacy port + # - "55681:55681" # OTLP HTTP legacy receiver mem_limit: 2000m - restart: always + restart: on-failure depends_on: clickhouse: condition: service_healthy @@ -72,6 +82,7 @@ services: command: ["--config=/etc/otel-collector-metrics-config.yaml"] volumes: - ./otel-collector-metrics-config.yaml:/etc/otel-collector-metrics-config.yaml + restart: on-failure depends_on: clickhouse: condition: service_healthy diff --git a/deploy/install.sh b/deploy/install.sh index 6fc59ceba1..27f80d4331 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -143,7 +143,7 @@ install_docker() { echo "Installing docker" $apt_cmd install docker-ce docker-ce-cli containerd.io elif [[ $package_manager == zypper ]]; then - zypper_cmd="zypper --quiet --no-gpg-checks --non-interactive" + zypper_cmd="$sudo_cmd zypper --quiet --no-gpg-checks --non-interactive" echo "Installing docker" if [[ $os == sles ]]; then os_sp="$(cat /etc/*-release | awk -F= '$1 == "VERSION_ID" { gsub(/"/, ""); print $2; exit }')" @@ -151,19 +151,19 @@ install_docker() { SUSEConnect -p sle-module-containers/$os_sp/$os_arch -r '' fi $zypper_cmd install docker docker-runc containerd - systemctl enable docker.service + $sudo_cmd systemctl enable docker.service elif [[ $package_manager == yum && $os == 'amazon linux' ]]; then echo echo "Amazon Linux detected ... " echo # yum install docker # service docker start - amazon-linux-extras install docker + $sudo_cmd amazon-linux-extras install docker else - yum_cmd="yum --assumeyes --quiet" + yum_cmd="$sudo_cmd yum --assumeyes --quiet" $yum_cmd install yum-utils - yum-config-manager --add-repo https://download.docker.com/linux/$os/docker-ce.repo + $sudo_cmd yum-config-manager --add-repo https://download.docker.com/linux/$os/docker-ce.repo echo "Installing docker" $yum_cmd install docker-ce docker-ce-cli containerd.io @@ -176,9 +176,9 @@ install_docker_compose() { if [[ ! -f /usr/bin/docker-compose ]];then echo "++++++++++++++++++++++++" echo "Installing docker-compose" - curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose + $sudo_cmd curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + $sudo_cmd chmod +x /usr/local/bin/docker-compose + $sudo_cmd ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose echo "docker-compose installed!" echo "" fi @@ -198,9 +198,9 @@ start_docker() { if [ $os = "Mac" ]; then open --background -a Docker && while ! docker system info > /dev/null 2>&1; do sleep 1; done else - if ! systemctl is-active docker.service > /dev/null; then + if ! $sudo_cmd systemctl is-active docker.service > /dev/null; then echo "Starting docker service" - systemctl start docker.service + $sudo_cmd systemctl start docker.service fi if [ -z $sudo_cmd ]; then docker ps > /dev/null && true From c00f0f159b49723f996bfb9f23d5beaca2054ea1 Mon Sep 17 00:00:00 2001 From: palash-signoz Date: Mon, 21 Mar 2022 21:04:32 +0530 Subject: [PATCH 38/52] fix: save layout bug is resolved (#840) * fix: save layout bug is resolved * chore: onClick is also added in the component slider * chore: dashboard Id is added * chore: non dashboard widget is filtered out * chore: panel layout stack issue is resolved --- .../container/GridGraphLayout/Graph/index.tsx | 4 +- .../src/container/GridGraphLayout/index.tsx | 116 ++++++++++++------ .../src/container/GridGraphLayout/utils.ts | 66 ++++++++++ .../NewDashboard/ComponentsSlider/index.tsx | 54 ++++++-- .../NewWidget/LeftContainer/index.tsx | 2 +- frontend/src/container/NewWidget/index.tsx | 23 ++-- .../store/actions/dashboard/saveDashboard.ts | 2 + frontend/src/types/api/dashboard/getAll.ts | 1 + 8 files changed, 211 insertions(+), 57 deletions(-) create mode 100644 frontend/src/container/GridGraphLayout/utils.ts diff --git a/frontend/src/container/GridGraphLayout/Graph/index.tsx b/frontend/src/container/GridGraphLayout/Graph/index.tsx index f6386e09f6..40a4db6ea7 100644 --- a/frontend/src/container/GridGraphLayout/Graph/index.tsx +++ b/frontend/src/container/GridGraphLayout/Graph/index.tsx @@ -48,7 +48,7 @@ const GridCardGraph = ({ (async (): Promise => { try { const getMaxMinTime = GetMaxMinTime({ - graphType: widget.panelTypes, + graphType: widget?.panelTypes, maxTime, minTime, }); @@ -125,7 +125,7 @@ const GridCardGraph = ({ [], ); - const getModals = () => { + const getModals = (): JSX.Element => { return ( <> { - const { push } = useHistory(); - const { pathname } = useLocation(); - const { dashboards, loading } = useSelector( (state) => state.dashboards, ); @@ -50,6 +48,7 @@ const GridGraph = (): JSX.Element => { return []; } + // when the layout is not present if (data.layout === undefined) { return widgets.map((e, index) => { return { @@ -69,17 +68,24 @@ const GridGraph = (): JSX.Element => { }; }); } else { - return data.layout.map((e, index) => ({ - ...e, - y: 0, - Component: (): JSX.Element => ( - - ), - })); + return data.layout + .filter((_, index) => widgets[index]) + .map((e, index) => ({ + ...e, + Component: (): JSX.Element => { + if (widgets[index]) { + return ( + + ); + } + return <>; + }, + })); } }, [widgets, data.layout]); @@ -89,21 +95,34 @@ const GridGraph = (): JSX.Element => { (isMounted.current === true || isDeleted.current === true) ) { const preLayouts = getPreLayouts(); - setLayout(() => [ - ...preLayouts, - { - i: (preLayouts.length + 1).toString(), - x: (preLayouts.length % 2) * 6, - y: Infinity, - w: 6, - h: 2, - Component: AddWidgetWrapper, - maxW: 6, - isDraggable: false, - isResizable: false, - isBounded: true, - }, - ]); + setLayout(() => { + const getX = (): number => { + if (preLayouts && preLayouts?.length > 0) { + const last = preLayouts[preLayouts?.length - 1]; + + return (last.w + last.x) % 12; + } + return 0; + }; + + console.log({ x: getX() }); + + return [ + ...preLayouts, + { + i: (preLayouts.length + 1).toString(), + x: getX(), + y: Infinity, + w: 6, + h: 2, + Component: AddWidgetWrapper, + maxW: 6, + isDraggable: false, + isResizable: false, + isBounded: true, + }, + ]; + }); } return (): void => { @@ -112,18 +131,39 @@ const GridGraph = (): JSX.Element => { }, [widgets, layouts.length, AddWidgetWrapper, loading, getPreLayouts]); const onDropHandler = useCallback( - (allLayouts: Layout[], currectLayout: Layout, event: DragEvent) => { + async (allLayouts: Layout[], currentLayout: Layout, event: DragEvent) => { event.preventDefault(); if (event.dataTransfer) { - const graphType = event.dataTransfer.getData('text') as GRAPH_TYPES; - const generateWidgetId = v4(); - push(`${pathname}/new?graphType=${graphType}&widgetId=${generateWidgetId}`); + try { + const graphType = event.dataTransfer.getData('text') as GRAPH_TYPES; + const generateWidgetId = v4(); + + await updateDashboard({ + data, + generateWidgetId, + graphType, + selectedDashboard: selectedDashboard, + layout: allLayouts + .map((e, index) => ({ + ...e, + i: index.toString(), + // when a new element drops + w: e.i === '__dropping-elem__' ? 6 : e.w, + h: e.i === '__dropping-elem__' ? 2 : e.h, + })) + .filter((e) => e.maxW === undefined), + }); + } catch (error) { + notification.error({ + message: error.toString() || 'Something went wrong', + }); + } } }, - [pathname, push], + [data, selectedDashboard], ); - const onLayoutSaveHanlder = async (): Promise => { + const onLayoutSaveHandler = async (): Promise => { setSaveLayoutState((state) => ({ ...state, error: false, @@ -175,7 +215,7 @@ const GridGraph = (): JSX.Element => { ); -}; +} export default NotFound; diff --git a/frontend/src/components/RouteTab/index.tsx b/frontend/src/components/RouteTab/index.tsx index 2ed51b65b8..4d6f42d6d9 100644 --- a/frontend/src/components/RouteTab/index.tsx +++ b/frontend/src/components/RouteTab/index.tsx @@ -1,15 +1,15 @@ import { Tabs, TabsProps } from 'antd'; +import history from 'lib/history'; import React from 'react'; const { TabPane } = Tabs; -import history from 'lib/history'; -const RouteTab = ({ +function RouteTab({ routes, activeKey, onChangeHandler, ...rest -}: RouteTabProps & TabsProps): JSX.Element => { +}: RouteTabProps & TabsProps): JSX.Element { const onChange = (activeRoute: string) => { onChangeHandler && onChangeHandler(); @@ -36,7 +36,7 @@ const RouteTab = ({ )} ); -}; +} interface RouteTabProps { routes: { diff --git a/frontend/src/components/Spinner/index.tsx b/frontend/src/components/Spinner/index.tsx index affb7712d4..622e8e2d43 100644 --- a/frontend/src/components/Spinner/index.tsx +++ b/frontend/src/components/Spinner/index.tsx @@ -4,11 +4,13 @@ import React from 'react'; import { SpinerStyle } from './styles'; -const Spinner = ({ size, tip, height }: SpinnerProps): JSX.Element => ( - - } /> - -); +function Spinner({ size, tip, height }: SpinnerProps): JSX.Element { + return ( + + } /> + + ); +} interface SpinnerProps { size?: SpinProps['size']; diff --git a/frontend/src/components/Styled/index.ts b/frontend/src/components/Styled/index.ts index bff30f653e..317a0f660e 100644 --- a/frontend/src/components/Styled/index.ts +++ b/frontend/src/components/Styled/index.ts @@ -2,9 +2,7 @@ import * as AntD from 'antd'; import { TextProps } from 'antd/lib/typography/Text'; import { TitleProps } from 'antd/lib/typography/Title'; import React from 'react'; -import styled, { - FlattenSimpleInterpolation, -} from 'styled-components'; +import styled, { FlattenSimpleInterpolation } from 'styled-components'; import { IStyledClass } from './types'; diff --git a/frontend/src/components/TextToolTip/index.tsx b/frontend/src/components/TextToolTip/index.tsx index 470e61a642..25edbf9b00 100644 --- a/frontend/src/components/TextToolTip/index.tsx +++ b/frontend/src/components/TextToolTip/index.tsx @@ -2,22 +2,24 @@ import { QuestionCircleFilled } from '@ant-design/icons'; import { Tooltip } from 'antd'; import React from 'react'; -const TextToolTip = ({ text, url }: TextToolTipProps) => ( - { - return ( -
- {`${text} `} - - here - -
- ); - }} - > - -
-); +function TextToolTip({ text, url }: TextToolTipProps) { + return ( + { + return ( +
+ {`${text} `} + + here + +
+ ); + }} + > + +
+ ); +} interface TextToolTipProps { url: string; diff --git a/frontend/src/components/TimePreferenceDropDown/index.tsx b/frontend/src/components/TimePreferenceDropDown/index.tsx index 02b75c1e2b..497ae9e616 100644 --- a/frontend/src/components/TimePreferenceDropDown/index.tsx +++ b/frontend/src/components/TimePreferenceDropDown/index.tsx @@ -7,10 +7,10 @@ import React, { useCallback } from 'react'; import { TextContainer } from './styles'; -const TimePreference = ({ +function TimePreference({ setSelectedTime, selectedTime, -}: TimePreferenceDropDownProps): JSX.Element => { +}: TimePreferenceDropDownProps): JSX.Element { const timeMenuItemOnChangeHandler = useCallback( (event: TimeMenuItemOnChangeHandlerEvent) => { const selectedTime = timeItems.find((e) => e.enum === event.key); @@ -38,7 +38,7 @@ const TimePreference = ({ ); -}; +} interface TimeMenuItemOnChangeHandlerEvent { key: timePreferenceType | string; diff --git a/frontend/src/components/ValueGraph/index.tsx b/frontend/src/components/ValueGraph/index.tsx index c25fd60e15..c5de1785c6 100644 --- a/frontend/src/components/ValueGraph/index.tsx +++ b/frontend/src/components/ValueGraph/index.tsx @@ -2,9 +2,9 @@ import React from 'react'; import { Value } from './styles'; -const ValueGraph = ({ value }: ValueGraphProps): JSX.Element => ( - {value} -); +function ValueGraph({ value }: ValueGraphProps): JSX.Element { + return {value}; +} interface ValueGraphProps { value: string; diff --git a/frontend/src/container/AllAlertChannels/AlertChannels.tsx b/frontend/src/container/AllAlertChannels/AlertChannels.tsx index c83bb1f9fa..e88ed0276d 100644 --- a/frontend/src/container/AllAlertChannels/AlertChannels.tsx +++ b/frontend/src/container/AllAlertChannels/AlertChannels.tsx @@ -9,7 +9,7 @@ import { Channels, PayloadProps } from 'types/api/channels/getAll'; import Delete from './Delete'; -const AlertChannels = ({ allChannels }: AlertChannelsProps): JSX.Element => { +function AlertChannels({ allChannels }: AlertChannelsProps): JSX.Element { const [notifications, Element] = notification.useNotification(); const [channels, setChannels] = useState(allChannels); @@ -55,7 +55,7 @@ const AlertChannels = ({ allChannels }: AlertChannelsProps): JSX.Element => { ); -}; +} interface AlertChannelsProps { allChannels: PayloadProps; diff --git a/frontend/src/container/AllAlertChannels/Delete.tsx b/frontend/src/container/AllAlertChannels/Delete.tsx index 2b08892ff8..6f767d8bd1 100644 --- a/frontend/src/container/AllAlertChannels/Delete.tsx +++ b/frontend/src/container/AllAlertChannels/Delete.tsx @@ -4,11 +4,7 @@ import deleteAlert from 'api/channels/delete'; import React, { useState } from 'react'; import { Channels } from 'types/api/channels/getAll'; -const Delete = ({ - notifications, - setChannels, - id, -}: DeleteProps): JSX.Element => { +function Delete({ notifications, setChannels, id }: DeleteProps): JSX.Element { const [loading, setLoading] = useState(false); const onClickHandler = async (): Promise => { @@ -50,7 +46,7 @@ const Delete = ({ Delete ); -}; +} interface DeleteProps { notifications: NotificationInstance; diff --git a/frontend/src/container/AllAlertChannels/index.tsx b/frontend/src/container/AllAlertChannels/index.tsx index ca40c78254..4aeaba3354 100644 --- a/frontend/src/container/AllAlertChannels/index.tsx +++ b/frontend/src/container/AllAlertChannels/index.tsx @@ -7,12 +7,13 @@ import ROUTES from 'constants/routes'; import useFetch from 'hooks/useFetch'; import history from 'lib/history'; import React, { useCallback } from 'react'; -const { Paragraph } = Typography; import AlertChannlesComponent from './AlertChannels'; import { Button, ButtonContainer } from './styles'; -const AlertChannels = (): JSX.Element => { +const { Paragraph } = Typography; + +function AlertChannels(): JSX.Element { const onToggleHandler = useCallback(() => { history.push(ROUTES.CHANNELS_NEW); }, []); @@ -24,7 +25,7 @@ const AlertChannels = (): JSX.Element => { } if (loading || payload === undefined) { - return ; + return ; } return ( @@ -36,7 +37,7 @@ const AlertChannels = (): JSX.Element => {
@@ -49,6 +50,6 @@ const AlertChannels = (): JSX.Element => { ); -}; +} export default AlertChannels; diff --git a/frontend/src/container/AppLayout/index.tsx b/frontend/src/container/AppLayout/index.tsx index 5e0163b355..09a431e2d8 100644 --- a/frontend/src/container/AppLayout/index.tsx +++ b/frontend/src/container/AppLayout/index.tsx @@ -20,10 +20,8 @@ const AppLayout: React.FC = ({ children }) => { if (!isLoggedIn) { setIsSignUpPage(true); history.push(ROUTES.SIGN_UP); - } else { - if (isSignUpPage) { - setIsSignUpPage(false); - } + } else if (isSignUpPage) { + setIsSignUpPage(false); } }, [isLoggedIn, isSignUpPage]); diff --git a/frontend/src/container/CreateAlertChannels/index.tsx b/frontend/src/container/CreateAlertChannels/index.tsx index a317d934a8..416f9e4cc4 100644 --- a/frontend/src/container/CreateAlertChannels/index.tsx +++ b/frontend/src/container/CreateAlertChannels/index.tsx @@ -7,9 +7,9 @@ import React, { useCallback, useState } from 'react'; import { ChannelType, SlackChannel } from './config'; -const CreateAlertChannels = ({ +function CreateAlertChannels({ preType = 'slack', -}: CreateAlertChannelsProps): JSX.Element => { +}: CreateAlertChannelsProps): JSX.Element { const [formInstance] = Form.useForm(); const [selectedConfig, setSelectedConfig] = useState>({ text: ` {{ range .Alerts -}} @@ -87,27 +87,25 @@ const CreateAlertChannels = ({ ); return ( - <> - - + ...selectedConfig, + }, + }} + /> ); -}; +} interface CreateAlertChannelsProps { preType?: ChannelType; diff --git a/frontend/src/container/EditAlertChannels/index.tsx b/frontend/src/container/EditAlertChannels/index.tsx index 033b861a4a..dfe46f4971 100644 --- a/frontend/src/container/EditAlertChannels/index.tsx +++ b/frontend/src/container/EditAlertChannels/index.tsx @@ -11,9 +11,9 @@ import { Store } from 'rc-field-form/lib/interface'; import React, { useCallback, useState } from 'react'; import { useParams } from 'react-router'; -const EditAlertChannels = ({ +function EditAlertChannels({ initialValue, -}: EditAlertChannelsProps): JSX.Element => { +}: EditAlertChannelsProps): JSX.Element { const [formInstance] = Form.useForm(); const [selectedConfig, setSelectedConfig] = useState>({ ...initialValue, @@ -72,25 +72,23 @@ const EditAlertChannels = ({ }, []); return ( - <> - - + ); -}; +} interface EditAlertChannelsProps { initialValue: Store; diff --git a/frontend/src/container/EditRules/index.tsx b/frontend/src/container/EditRules/index.tsx index 78eb4438a8..342fd5c494 100644 --- a/frontend/src/container/EditRules/index.tsx +++ b/frontend/src/container/EditRules/index.tsx @@ -1,6 +1,5 @@ import { SaveFilled } from '@ant-design/icons'; -import { Button } from 'antd'; -import { notification } from 'antd'; +import { Button, notification } from 'antd'; import put from 'api/alerts/put'; import Editor from 'components/Editor'; import ROUTES from 'constants/routes'; @@ -12,7 +11,7 @@ import { PayloadProps as PutPayloadProps } from 'types/api/alerts/put'; import { ButtonContainer } from './styles'; -const EditRules = ({ initialData, ruleId }: EditRulesProps): JSX.Element => { +function EditRules({ initialData, ruleId }: EditRulesProps): JSX.Element { const value = useRef(initialData); const [notifications, Element] = notification.useNotification(); const [editButtonState, setEditButtonState] = useState>( @@ -93,7 +92,7 @@ const EditRules = ({ initialData, ruleId }: EditRulesProps): JSX.Element => { ); -}; +} interface EditRulesProps { initialData: PayloadProps['data']; diff --git a/frontend/src/container/FormAlertChannels/Settings/Slack.tsx b/frontend/src/container/FormAlertChannels/Settings/Slack.tsx index bd16bd0fcd..738546c58e 100644 --- a/frontend/src/container/FormAlertChannels/Settings/Slack.tsx +++ b/frontend/src/container/FormAlertChannels/Settings/Slack.tsx @@ -6,62 +6,62 @@ import { SlackChannel } from '../../CreateAlertChannels/config'; const { TextArea } = Input; -const Slack = ({ setSelectedConfig }: SlackProps): JSX.Element => ( - <> - - { - setSelectedConfig((value) => ({ - ...value, - api_url: event.target.value, - })); - }} - /> - +function Slack({ setSelectedConfig }: SlackProps): JSX.Element { + return ( + <> + + { + setSelectedConfig((value) => ({ + ...value, + api_url: event.target.value, + })); + }} + /> + - - - setSelectedConfig((value) => ({ - ...value, - channel: event.target.value, - })) - } - /> - + + + setSelectedConfig((value) => ({ + ...value, + channel: event.target.value, + })) + } + /> + - - + /> ); -}; +} interface DescriptionProps { description: string; diff --git a/frontend/src/container/NewDashboard/DescriptionOfDashboard/NameOfTheDashboard/index.tsx b/frontend/src/container/NewDashboard/DescriptionOfDashboard/NameOfTheDashboard/index.tsx index 528028bffb..a8b8871190 100644 --- a/frontend/src/container/NewDashboard/DescriptionOfDashboard/NameOfTheDashboard/index.tsx +++ b/frontend/src/container/NewDashboard/DescriptionOfDashboard/NameOfTheDashboard/index.tsx @@ -1,10 +1,10 @@ import Input from 'components/Input'; import React, { useCallback } from 'react'; -const NameOfTheDashboard = ({ +function NameOfTheDashboard({ setName, name, -}: NameOfTheDashboardProps): JSX.Element => { +}: NameOfTheDashboardProps): JSX.Element { const onChangeHandler = useCallback( (e: React.ChangeEvent) => { setName(e.target.value); @@ -20,7 +20,7 @@ const NameOfTheDashboard = ({ onChangeHandler={onChangeHandler} /> ); -}; +} interface NameOfTheDashboardProps { name: string; diff --git a/frontend/src/container/NewDashboard/DescriptionOfDashboard/index.tsx b/frontend/src/container/NewDashboard/DescriptionOfDashboard/index.tsx index 797ae3e383..7ee3132d37 100644 --- a/frontend/src/container/NewDashboard/DescriptionOfDashboard/index.tsx +++ b/frontend/src/container/NewDashboard/DescriptionOfDashboard/index.tsx @@ -18,19 +18,19 @@ import DashboardReducer from 'types/reducer/dashboards'; import Description from './Description'; import { Button, Container } from './styles'; -const DescriptionOfDashboard = ({ +function DescriptionOfDashboard({ updateDashboardTitleDescriptionTags, toggleEditMode, -}: DescriptionOfDashboardProps): JSX.Element => { +}: DescriptionOfDashboardProps): JSX.Element { const { dashboards, isEditMode } = useSelector( (state) => state.dashboards, ); const [selectedDashboard] = dashboards; const selectedData = selectedDashboard.data; - const title = selectedData.title; - const tags = selectedData.tags; - const description = selectedData.description; + const { title } = selectedData; + const { tags } = selectedData; + const { description } = selectedData; const [updatedTitle, setUpdatedTitle] = useState(title); const [updatedTags, setUpdatedTags] = useState(tags || []); @@ -67,46 +67,42 @@ const DescriptionOfDashboard = ({ ]); return ( - <> - - - {!isEditMode ? ( - <> -
- {title} - - {tags?.map((e) => ( - {e} - ))} - - - {description} - - - - ) : ( - - - - - - )} + + + {!isEditMode ? ( - + {title} + + {tags?.map((e) => ( + {e} + ))} + + + {description} + - - - + ) : ( + + + + + + )} + + + + + ); -}; +} interface DispatchProps { updateDashboardTitleDescriptionTags: ( diff --git a/frontend/src/container/NewDashboard/GridGraphs/index.tsx b/frontend/src/container/NewDashboard/GridGraphs/index.tsx index 569a50968e..5436f43704 100644 --- a/frontend/src/container/NewDashboard/GridGraphs/index.tsx +++ b/frontend/src/container/NewDashboard/GridGraphs/index.tsx @@ -7,20 +7,18 @@ import DashboardReducer from 'types/reducer/dashboards'; import { GridComponentSliderContainer } from './styles'; -const GridGraphs = (): JSX.Element => { +function GridGraphs(): JSX.Element { const { isAddWidget } = useSelector( (state) => state.dashboards, ); return ( - <> - - {isAddWidget && } + + {isAddWidget && } - - - + + ); -}; +} export default GridGraphs; diff --git a/frontend/src/container/NewDashboard/index.tsx b/frontend/src/container/NewDashboard/index.tsx index a4607fbc1d..8fbe49de84 100644 --- a/frontend/src/container/NewDashboard/index.tsx +++ b/frontend/src/container/NewDashboard/index.tsx @@ -3,13 +3,13 @@ import React from 'react'; import Description from './DescriptionOfDashboard'; import GridGraphs from './GridGraphs'; -const NewDashboard = (): JSX.Element => { +function NewDashboard(): JSX.Element { return ( <> ); -}; +} export default NewDashboard; diff --git a/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx b/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx index 1a7a70aaba..1bc4a2ba90 100644 --- a/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/QuerySection/Query.tsx @@ -22,13 +22,13 @@ import { QueryWrapper, } from './styles'; -const Query = ({ +function Query({ currentIndex, preLegend, preQuery, updateQuery, deleteQuery, -}: QueryProps): JSX.Element => { +}: QueryProps): JSX.Element { const [promqlQuery, setPromqlQuery] = useState(preQuery); const [legendFormat, setLegendFormat] = useState(preLegend); const { search } = useLocation(); @@ -54,7 +54,7 @@ const Query = ({ const onDeleteQueryHandler = (): void => { deleteQuery({ - widgetId: widgetId, + widgetId, currentIndex, }); }; @@ -70,7 +70,7 @@ const Query = ({ } size="middle" value={promqlQuery} - addonBefore={'PromQL Query'} + addonBefore="PromQL Query" onBlur={(): void => onBlurHandler()} /> @@ -82,7 +82,7 @@ const Query = ({ } size="middle" value={legendFormat} - addonBefore={'Legend Format'} + addonBefore="Legend Format" onBlur={(): void => onBlurHandler()} /> @@ -102,7 +102,7 @@ const Query = ({ ); -}; +} interface DispatchProps { updateQuery: ( diff --git a/frontend/src/container/NewWidget/LeftContainer/QuerySection/index.tsx b/frontend/src/container/NewWidget/LeftContainer/QuerySection/index.tsx index 61fcc1b4d2..f4935ba533 100644 --- a/frontend/src/container/NewWidget/LeftContainer/QuerySection/index.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/QuerySection/index.tsx @@ -14,16 +14,13 @@ import DashboardReducer from 'types/reducer/dashboards'; import Query from './Query'; import { QueryButton } from './styles'; -const QuerySection = ({ - selectedTime, - createQuery, -}: QueryProps): JSX.Element => { +function QuerySection({ selectedTime, createQuery }: QueryProps): JSX.Element { const { dashboards } = useSelector( (state) => state.dashboards, ); const [selectedDashboards] = dashboards; const { search } = useLocation(); - const widgets = selectedDashboards.data.widgets; + const { widgets } = selectedDashboards.data; const urlQuery = useMemo(() => { return new URLSearchParams(search); @@ -63,7 +60,7 @@ const QuerySection = ({ ); -}; +} interface DispatchProps { createQuery: ({ diff --git a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx index 9f334ff25e..9c11b15bc4 100644 --- a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/WidgetGraph.tsx @@ -10,7 +10,10 @@ import DashboardReducer from 'types/reducer/dashboards'; import { NotFoundContainer } from './styles'; -const WidgetGraph = ({ selectedGraph,yAxisUnit }: WidgetGraphProps): JSX.Element => { +function WidgetGraph({ + selectedGraph, + yAxisUnit, +}: WidgetGraphProps): JSX.Element { const { dashboards } = useSelector( (state) => state.dashboards, ); @@ -54,7 +57,7 @@ const WidgetGraph = ({ selectedGraph,yAxisUnit }: WidgetGraphProps): JSX.Element yAxisUnit={yAxisUnit} /> ); -}; +} type WidgetGraphProps = NewWidgetProps; diff --git a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx index c84c5e6bb1..df58ca6cf1 100644 --- a/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/WidgetGraph/index.tsx @@ -11,7 +11,10 @@ import { NewWidgetProps } from '../../index'; import { AlertIconContainer, Container, NotFoundContainer } from './styles'; import WidgetGraphComponent from './WidgetGraph'; -const WidgetGraph = ({ selectedGraph, yAxisUnit }: WidgetGraphProps): JSX.Element => { +function WidgetGraph({ + selectedGraph, + yAxisUnit, +}: WidgetGraphProps): JSX.Element { const { dashboards, isQueryFired } = useSelector( (state) => state.dashboards, ); @@ -47,10 +50,12 @@ const WidgetGraph = ({ selectedGraph, yAxisUnit }: WidgetGraphProps): JSX.Elemen )} - {isQueryFired && } + {isQueryFired && ( + + )} ); -}; +} type WidgetGraphProps = NewWidgetProps; diff --git a/frontend/src/container/NewWidget/LeftContainer/index.tsx b/frontend/src/container/NewWidget/LeftContainer/index.tsx index 6ca056d68d..33c1bcaeaa 100644 --- a/frontend/src/container/NewWidget/LeftContainer/index.tsx +++ b/frontend/src/container/NewWidget/LeftContainer/index.tsx @@ -6,11 +6,11 @@ import QuerySection from './QuerySection'; import { QueryContainer } from './styles'; import WidgetGraph from './WidgetGraph'; -const LeftContainer = ({ +function LeftContainer({ selectedGraph, selectedTime, yAxisUnit, -}: LeftContainerProps): JSX.Element => { +}: LeftContainerProps): JSX.Element { return ( <> @@ -20,7 +20,7 @@ const LeftContainer = ({ ); -}; +} interface LeftContainerProps extends NewWidgetProps { selectedTime: timePreferance; diff --git a/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx b/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx index 4d8687e074..d8202d6fdb 100644 --- a/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx +++ b/frontend/src/container/NewWidget/RightContainer/YAxisUnitSelector.tsx @@ -9,7 +9,7 @@ const findCategoryById = (searchValue) => const findCategoryByName = (searchValue) => find(flattenedCategories, (option) => option.name == searchValue); -const YAxisUnitSelector = ({ defaultValue, onSelect }): JSX.Element => { +function YAxisUnitSelector({ defaultValue, onSelect }): JSX.Element { const onSelectHandler = (selectedValue: string): void => { onSelect(findCategoryByName(selectedValue)?.id); }; @@ -34,6 +34,6 @@ const YAxisUnitSelector = ({ defaultValue, onSelect }): JSX.Element => { ); -}; +} export default YAxisUnitSelector; diff --git a/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts b/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts index e308ac0175..fce3f9361c 100644 --- a/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts +++ b/frontend/src/container/NewWidget/RightContainer/dataFormatCategories.ts @@ -382,7 +382,6 @@ export const dataTypeCategories = [ }, ]; - export const flattenedCategories = flattenDeep( dataTypeCategories.map((category) => { return category.formats; diff --git a/frontend/src/container/NewWidget/RightContainer/index.tsx b/frontend/src/container/NewWidget/RightContainer/index.tsx index c3cf3af033..660451b439 100644 --- a/frontend/src/container/NewWidget/RightContainer/index.tsx +++ b/frontend/src/container/NewWidget/RightContainer/index.tsx @@ -6,25 +6,24 @@ import { // Typography, } from 'antd'; import InputComponent from 'components/Input'; +import TimePreference from 'components/TimePreferenceDropDown'; import { GRAPH_TYPES } from 'container/NewDashboard/ComponentsSlider'; import GraphTypes from 'container/NewDashboard/ComponentsSlider/menuItems'; import React, { useCallback } from 'react'; import { dataTypeCategories } from './dataFormatCategories'; -// import {ca} from '@grafana/data' -import { timePreferance } from './timeItems'; -import YAxisUnitSelector from './YAxisUnitSelector'; - -const { TextArea } = Input; -import TimePreference from 'components/TimePreferenceDropDown'; - import { Container, // NullButtonContainer, TextContainer, Title, } from './styles'; +// import {ca} from '@grafana/data' +import { timePreferance } from './timeItems'; +import YAxisUnitSelector from './YAxisUnitSelector'; -const RightContainer = ({ +const { TextArea } = Input; + +function RightContainer({ description, // opacity, // selectedNullZeroValue, @@ -40,7 +39,7 @@ const RightContainer = ({ selectedTime, yAxisUnit, setYAxisUnit, -}: RightContainerProps): JSX.Element => { +}: RightContainerProps): JSX.Element { const onChangeHandler = useCallback( (setFunc: React.Dispatch>, value: string) => { setFunc(value); @@ -89,7 +88,7 @@ const RightContainer = ({ value={title} /> - Description + Description