From d3d7411e36bdc3d04babb0c54687d9b1cca12c7b Mon Sep 17 00:00:00 2001 From: Ashley Harrison Date: Wed, 9 Feb 2022 12:41:39 +0000 Subject: [PATCH] Chore: Add betterer test to track conversion of enzyme tests (#45055) * Add betterer test for number of enzyme tests * emit metric for number of enzyme tests * update frontend metrics script * Merge... * Switch order of betterer/lint * Update version of betterer * kick levitate * Update lockfile --- .betterer.results | 381 ++++++++++++++++++++++++++++ .betterer.ts | 5 + package.json | 9 +- scripts/ci-frontend-metrics.sh | 3 + yarn.lock | 438 +++++++++++++++++++++++++++++++-- 5 files changed, 813 insertions(+), 23 deletions(-) create mode 100644 .betterer.results create mode 100644 .betterer.ts diff --git a/.betterer.results b/.betterer.results new file mode 100644 index 00000000000..71cb49a714d --- /dev/null +++ b/.betterer.results @@ -0,0 +1,381 @@ +// BETTERER RESULTS V2. +// +// If this file contains merge conflicts, use `betterer merge` to automatically resolve them: +// https://phenomnomnominal.github.io/betterer/docs/results-file/#merge +// +exports[`no enzyme tests`] = { + value: `{ + "packages/grafana-ui/src/components/BarGauge/BarGauge.test.tsx:2315765050": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/BigValue/BigValue.test.tsx:261212211": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/CallToActionCard/CallToActionCard.test.tsx:2771878691": [ + [1, 18, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/ColorPicker/NamedColorsPalette.test.tsx:1355456933": [ + [1, 31, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.test.tsx:3194817479": [ + [2, 33, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/ConfirmModal/ConfirmModal.test.tsx:3838344574": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/FileUpload/FileUpload.test.tsx:3475964456": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/FormField/FormField.test.tsx:2387359174": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Forms/Legacy/Input/Input.test.tsx:4019574269": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Gauge/Gauge.test.tsx:1435004725": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Graph/Graph.test.tsx:2882401917": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Graph/GraphTooltip/MultiModeGraphTooltip.test.tsx:3734531523": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/List/AbstractList.test.tsx:2210654375": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Logs/LogDetails.test.tsx:1917110956": [ + [3, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Logs/LogLabels.test.tsx:1113070745": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx:1478948568": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Logs/LogRowContextProvider.test.tsx:636540759": [ + [3, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Logs/LogRows.test.tsx:2288254498": [ + [3, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Modal/Modal.test.tsx:4235780832": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/QueryField/QueryField.test.tsx:1906163280": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Slider/Slider.test.tsx:2110443485": [ + [3, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Typeahead/PartialHighlighter.test.tsx:3831493850": [ + [1, 31, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Typeahead/Typeahead.test.tsx:1026793168": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/components/Typeahead/TypeaheadInfo.test.tsx:3968135869": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/slate-plugins/braces.test.tsx:2551821825": [ + [3, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/slate-plugins/clear.test.tsx:4145618392": [ + [3, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/slate-plugins/runner.test.tsx:2165687770": [ + [3, 19, 13, "RegExp match", "2409514259"] + ], + "packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:4138775391": [ + [1, 18, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/CanvasSpanGraph.test.js:3515574241": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/GraphTicks.test.js:1837731860": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:1200884350": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:3094256278": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/ViewingLayer.test.js:2643658696": [ + [14, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/index.test.js:4118842298": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/TracePageHeader.test.js:3669774385": [ + [15, 26, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TracePageHeader/TracePageSearchBar.test.js:1298620967": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/ListView/index.test.js:793239444": [ + [15, 26, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/ReferencesButton.test.js:2288177454": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBar.test.js:2545268168": [ + [15, 17, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js:2454947085": [ + [15, 26, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianKeyValues.test.js:2200354834": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianLogs.test.js:3242453659": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianReferences.test.js:3043344541": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianText.test.js:2881451220": [ + [15, 17, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js:2159985979": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/TextList.test.js:3713828679": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/index.test.js:3788127934": [ + [17, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetailRow.test.js:1119974018": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/SpanTreeOffset.test.js:232429058": [ + [14, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/Ticks.test.js:2626977087": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineCollapser.test.js:954294244": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.test.js:208811948": [ + [15, 17, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineHeaderRow.test.js:1197952226": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.test.js:3714128222": [ + [15, 17, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/VirtualizedTraceView.test.js:2249890922": [ + [14, 26, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/TraceTimelineViewer/index.test.js:4107025050": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/common/CopyIcon.test.js:3119664776": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/common/NewWindowIcon.test.js:3878561197": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/common/UiFindInput.test.js:2258975438": [ + [15, 19, 13, "RegExp match", "2409514259"] + ], + "packages/jaeger-ui-components/src/url/ReferenceLink.test.js:830986413": [ + [15, 26, 13, "RegExp match", "2409514259"] + ], + "public/app/core/components/PageActionBar/PageActionBar.test.tsx:2111991019": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:1284778262": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:4115956163": [ + [2, 26, 13, "RegExp match", "2409514259"] + ], + "public/app/core/components/Select/FolderPicker.test.tsx:3389713532": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/core/components/Select/MetricSelect.test.tsx:3409251428": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/core/specs/OrgSwitcher.test.tsx:848670248": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/alerting/AlertRuleList.test.tsx:1800339390": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/alerting/TestRuleResult.test.tsx:4118445705": [ + [3, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/api-keys/ApiKeysAddedModal.test.tsx:3516294961": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:2934056165": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.test.tsx:2536713486": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx:4134073823": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/components/ShareModal/ShareLink.test.tsx:1141305288": [ + [1, 35, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx:1798654441": [ + [1, 35, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.test.tsx:3293585799": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/datasources/DashboardsTable.test.tsx:1799076152": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/datasources/DataSourceDashboards.test.tsx:3705773301": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/datasources/DataSourcesListPage.test.tsx:1470540840": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/datasources/settings/BasicSettings.test.tsx:3867031406": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/datasources/settings/ButtonRow.test.tsx:1546608090": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:2556927610": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/ErrorContainer.test.tsx:2082593062": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/Explore.test.tsx:1509039437": [ + [11, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/ExploreDrawer.test.tsx:2094071178": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/LiveLogs.test.tsx:1667605379": [ + [2, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/MetaInfoText.test.tsx:802018588": [ + [1, 27, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistory.test.tsx:409631018": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistoryCard.test.tsx:357697997": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistoryContainer.test.tsx:396471778": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistoryQueriesTab.test.tsx:3436519226": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistorySettings.test.tsx:538589654": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:3948011811": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/RunButton.test.tsx:138299098": [ + [3, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/SecondaryActions.test.tsx:2096700362": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/explore/TimeSyncButton.test.tsx:4230066214": [ + [2, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/features/folders/FolderSettingsPage.test.tsx:1751147194": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/org/OrgDetailsPage.test.tsx:2540662821": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/org/OrgProfile.test.tsx:4200739179": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/CreateTeam.test.tsx:262744099": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamGroupSync.test.tsx:1549471437": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamList.test.tsx:3009556824": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamMemberRow.test.tsx:7032440": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamMembers.test.tsx:3993436101": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamPages.test.tsx:2493626076": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/teams/TeamSettings.test.tsx:2628968507": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/users/InviteesTable.test.tsx:2271264692": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/users/UsersActionBar.test.tsx:4031641375": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/users/UsersListPage.test.tsx:2523261097": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/features/users/UsersTable.test.tsx:3051231816": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:2813729913": [ + [2, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:2974837543": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:4272466995": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:1089831034": [ + [1, 26, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:2916632804": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/grafana-azure-monitor-datasource/components/InsightsConfig.test.tsx:866257119": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:767000341": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:2608233977": [ + [1, 26, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx:2337402520": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/configuration/ConfigEditor.test.tsx:1661240493": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx:2317141020": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/configuration/DerivedField.test.tsx:1527527456": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/loki/configuration/DerivedFields.test.tsx:2923116422": [ + [1, 17, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.test.tsx:1231427": [ + [1, 19, 13, "RegExp match", "2409514259"] + ], + "public/app/plugins/panel/bargauge/BarGaugePanel.test.tsx:1206229922": [ + [1, 31, 13, "RegExp match", "2409514259"] + ] + }` +}; diff --git a/.betterer.ts b/.betterer.ts new file mode 100644 index 00000000000..d793f9b4c5f --- /dev/null +++ b/.betterer.ts @@ -0,0 +1,5 @@ +import { regexp } from '@betterer/regexp'; + +export default { + 'no enzyme tests': () => regexp(/from 'enzyme'/g).include('**/*.test.*') +}; diff --git a/package.json b/package.json index 7f031eef273..4dad98152dc 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "lint": "yarn run lint:ts && yarn run lint:sass", "lint:ts": "eslint . --ext .js,.tsx,.ts --cache", "lint:sass": "yarn stylelint '{public/sass,packages}/**/*.scss' --cache", - "test:ci": "mkdir -p reports/junit && JEST_JUNIT_OUTPUT_DIR=reports/junit jest --ci --reporters=default --reporters=jest-junit -w ${TEST_MAX_WORKERS:-100%}", + "test:ci": "betterer ci && mkdir -p reports/junit && JEST_JUNIT_OUTPUT_DIR=reports/junit jest --ci --reporters=default --reporters=jest-junit -w ${TEST_MAX_WORKERS:-100%}", "lint:fix": "yarn lint --fix", "packages:build": "lerna run clean && lerna run build --ignore @grafana-plugins/input-datasource", "packages:docsExtract": "rm -rf ./reports/docs && lerna run docsExtract", @@ -34,7 +34,7 @@ "packages:publishDev": "lerna publish from-package --contents dist --dist-tag dev --yes --registry http://grafana-npm.local:4873 --force-publish=*", "packages:typecheck": "lerna run typecheck", "packages:clean": "lerna run clean", - "precommit": "yarn run lint-staged", + "precommit": "betterer precommit && yarn run lint-staged", "prettier:check": "prettier --check --list-different=false --loglevel=warn \"**/*.{scss,md,mdx}\"", "prettier:write": "prettier --list-different \"**/*.{scss,md,mdx}\" --write", "start": "yarn themes:generate && yarn dev --watch", @@ -50,7 +50,8 @@ "ci:test-frontend": "yarn run test:ci && yarn grafana-toolkit node-version-check", "i18n:extract": "lingui extract", "i18n:compile": "lingui compile", - "postinstall": "husky install" + "postinstall": "husky install", + "betterer": "betterer" }, "grafana": { "whatsNewUrl": "https://grafana.com/docs/grafana/next/whatsnew/whats-new-in-v8-4/", @@ -79,6 +80,8 @@ "@babel/preset-env": "7.16.11", "@babel/preset-react": "7.16.7", "@babel/preset-typescript": "7.16.7", + "@betterer/cli": "5.1.6", + "@betterer/regexp": "5.1.6", "@emotion/eslint-plugin": "11.7.0", "@grafana/api-documenter": "7.11.2", "@grafana/e2e": "workspace:*", diff --git a/scripts/ci-frontend-metrics.sh b/scripts/ci-frontend-metrics.sh index 0cb268d5d6a..b24a37762f3 100755 --- a/scripts/ci-frontend-metrics.sh +++ b/scripts/ci-frontend-metrics.sh @@ -8,6 +8,7 @@ CONTROLLERS="$(grep -r -oP 'class .*Ctrl' public/app/ | wc -l)" STORIES_COUNT="$(find ./packages/grafana-ui/src/components -name "*.story.tsx" | wc -l)" MDX_COUNT="$(find ./packages/grafana-ui/src/components -name "*.mdx" | wc -l)" LEGACY_FORMS="$(grep -r -oP 'LegacyForms;' public/app | wc -l)" +ENZYME_TEST_COUNT="$(grep -l -R --include="*.test.*" "from 'enzyme'" public packages | wc -l)" STRICT_LINT_RESULTS="$(yarn run eslint --rule '@typescript-eslint/no-explicit-any: ["error"]' --format unix --ext .ts,.tsx ./public || true)" STRICT_LINT_EXPLICIT_ANY="$(echo "${STRICT_LINT_RESULTS}" | grep -o "no-explicit-any" | wc -l)" @@ -35,6 +36,7 @@ echo -e "Low vulnerabilities: $LOW_VULNERABILITIES" echo -e "Med vulnerabilities: $MED_VULNERABILITIES" echo -e "High vulnerabilities: $HIGH_VULNERABILITIES" echo -e "Critical vulnerabilities: $CRITICAL_VULNERABILITIES" +echo -e "Number of enzyme tests: $ENZYME_TEST_COUNT" echo "Metrics: { \"grafana.ci-code.strictErrors\": \"${ERROR_COUNT}\", @@ -47,4 +49,5 @@ echo "Metrics: { \"grafana.ci-code.strictLint.noExplicitAny\": \"${STRICT_LINT_EXPLICIT_ANY}\", \"grafana.ci-code.bundleFolderSize\": \"${TOTAL_BUNDLE}\", \"grafana.ci-code.dependencies.outdated\": \"${OUTDATED_DEPENDENCIES}\" + \"grafana.ci-code.enzymeTests\": \"${ENZYME_TEST_COUNT}\" }" diff --git a/yarn.lock b/yarn.lock index ea9eeca1245..7e06a9f9d85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,6 +32,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.10.3, @babel/code-frame@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/code-frame@npm:7.16.7" + dependencies: + "@babel/highlight": ^7.16.7 + checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.16.0": version: 7.16.0 resolution: "@babel/code-frame@npm:7.16.0" @@ -41,15 +50,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/code-frame@npm:7.16.7" - dependencies: - "@babel/highlight": ^7.16.7 - checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.13.0, @babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.12, @babel/compat-data@npm:^7.15.0": version: 7.15.0 resolution: "@babel/compat-data@npm:7.15.0" @@ -3246,6 +3246,131 @@ __metadata: languageName: node linkType: hard +"@betterer/betterer@npm:^5.1.6": + version: 5.1.6 + resolution: "@betterer/betterer@npm:5.1.6" + dependencies: + "@betterer/constraints": ^5.0.0 + "@betterer/errors": ^5.0.0 + "@betterer/logger": ^5.1.5 + "@betterer/reporter": ^5.1.6 + "@phenomnomnominal/debug": ^0.2.5 + "@phenomnomnominal/worker-require": ^0.0.34 + chokidar: ^3.3.1 + djb2a: ^1.2.0 + fast-memoize: ^2.5.2 + lines-and-columns: ^1.1.6 + minimatch: ^3.0.4 + prettier: ^2.3.2 + simple-git: ^2.44.0 + ts-node: ^10.2.1 + tslib: ^2.3.1 + typescript: ">=2.7" + dependenciesMeta: + typescript: + optional: true + checksum: 28bcb5434c476b131b60072ae665b77217fd83d03fbec96f5ea18ec145a2aef1572d1026123868cace7fc6b1d7df610faf1b0f1aec93eed5aad9548dcbfd1a06 + languageName: node + linkType: hard + +"@betterer/cli@npm:5.1.6": + version: 5.1.6 + resolution: "@betterer/cli@npm:5.1.6" + dependencies: + "@betterer/betterer": ^5.1.6 + "@betterer/errors": ^5.0.0 + "@betterer/tasks": ^5.1.5 + "@phenomnomnominal/tsquery": ^4.1.1 + "@phenomnomnominal/tstemplate": ^0.1.0 + "@phenomnomnominal/worker-require": ^0.0.34 + chalk: ^4.1.2 + commander: ^8.3.0 + find-up: ^5.0.0 + ink: ^3.0.9 + jest-diff: ^27.1.0 + prettier: ^2.3.2 + react: ">=16.8.4 || >=17.0.0" + react-dom: ">=16.8.4 || >=17.0.0" + tslib: ^2.3.1 + bin: + betterer: bin/betterer + checksum: 43e367d6af9ebca3db8f60ce6a9ee68090811ace78a23f16a891d7db5095f79108688b110181ba36f06bd2ca73d15d9512bf3a4f5484816159029fb61511dece + languageName: node + linkType: hard + +"@betterer/constraints@npm:^5.0.0": + version: 5.0.0 + resolution: "@betterer/constraints@npm:5.0.0" + dependencies: + tslib: ^2.3.1 + checksum: 6b6560ea7f68f5909e40e444c0a394b299968b0c2b533aea69d8c0bd9e3239952507df1f6665952dde03a1fd90d9786ea4e18b207af37b3d6e331c2f369e696d + languageName: node + linkType: hard + +"@betterer/errors@npm:^5.0.0": + version: 5.0.0 + resolution: "@betterer/errors@npm:5.0.0" + checksum: d4245427d15305df047bd656820ea492f055237f3cf6e2e971b087f6df404fff1b8bc07ddc353e00d2ffe3aea99ae9edfa471436dccd5a187b93092d9e659217 + languageName: node + linkType: hard + +"@betterer/logger@npm:^5.1.5": + version: 5.1.5 + resolution: "@betterer/logger@npm:5.1.5" + dependencies: + "@babel/code-frame": ^7.10.3 + jest-diff: ^27.0.6 + lines-and-columns: ^1.1.6 + react: ">=16.8.4 || >=17.0.0" + react-dom: ">=16.8.4 || >=17.0.0" + tslib: ^2.3.1 + checksum: ce0e6847049e2132b527003b4732e4ee3e80464651c7882bf94c308f2a2a9f5495013837809743b2a16a11a844d534f8b84fc29cab22ec7fbe40c628c1759cec + languageName: node + linkType: hard + +"@betterer/regexp@npm:5.1.6": + version: 5.1.6 + resolution: "@betterer/regexp@npm:5.1.6" + dependencies: + "@betterer/betterer": ^5.1.6 + "@betterer/errors": ^5.0.0 + tslib: ^2.3.1 + checksum: d0739860b4b6606a598f38af0bbf6e34947b067c069ab3e886b6479b212497d0526827977d02704c4035a898d8b3009bb2182172e668f8eb2fa44b25436269c0 + languageName: node + linkType: hard + +"@betterer/reporter@npm:^5.1.6": + version: 5.1.6 + resolution: "@betterer/reporter@npm:5.1.6" + dependencies: + "@betterer/betterer": ^5.1.6 + "@betterer/errors": ^5.0.0 + "@betterer/logger": ^5.1.5 + "@betterer/tasks": ^5.1.5 + ink: ^3.0.9 + ink-text-input: ^4.0.1 + react: ">=16.8.4 || >=17.0.0" + react-dom: ">=16.8.4 || >=17.0.0" + tslib: ^2.3.1 + checksum: 666863f84c91e849d2d68c969254d279074d765ae55351b35ee60e51241b632af643ec1effd63b520a380df2b6f76e3ca00a68b4c64c8d257a70a5403f675fba + languageName: node + linkType: hard + +"@betterer/tasks@npm:^5.1.5": + version: 5.1.5 + resolution: "@betterer/tasks@npm:5.1.5" + dependencies: + "@betterer/errors": ^5.0.0 + "@betterer/logger": ^5.1.5 + chalk: ^4.1.2 + ink: ^3.0.9 + react: ">=16.8.4 || >=17.0.0" + react-dom: ">=16.8.4 || >=17.0.0" + tslib: ^2.3.1 + checksum: 3792569bb720b98c86d0e869973f65f68c66aceaaa620ff44ea6443b67a56ed872546b6fdd844a0bc6077fc4fa676b6cbd04e089cf40f3122a916841f36ad078 + languageName: node + linkType: hard + "@braintree/sanitize-url@npm:*, @braintree/sanitize-url@npm:5.0.2": version: 5.0.2 resolution: "@braintree/sanitize-url@npm:5.0.2" @@ -6529,6 +6654,47 @@ __metadata: languageName: node linkType: hard +"@phenomnomnominal/debug@npm:^0.2.5": + version: 0.2.5 + resolution: "@phenomnomnominal/debug@npm:0.2.5" + dependencies: + callsite: ^1.0.0 + esprima: ^4.0.1 + esquery: ^1.3.1 + tslib: ^2.0.3 + checksum: af8edc142f7004d604b12964fd72ae27469ae223f6166175fd1177d7909ed67a582b41b2b3e0d83662127d32b37ae1c3a514d7dd810c5f1ced0a964f9c261cae + languageName: node + linkType: hard + +"@phenomnomnominal/tsquery@npm:^4.1.1": + version: 4.2.0 + resolution: "@phenomnomnominal/tsquery@npm:4.2.0" + dependencies: + esquery: ^1.0.1 + peerDependencies: + typescript: ^3 || ^4 + checksum: c55cdd8c5041a71c873a5f90cc7d14ce869558599dcd7b8f7a8d8517f2a06a6ca59c5a687709fa8ba4aaf396d33fda1870dd1d3e76f831e736f8ff31b8877654 + languageName: node + linkType: hard + +"@phenomnomnominal/tstemplate@npm:^0.1.0": + version: 0.1.0 + resolution: "@phenomnomnominal/tstemplate@npm:0.1.0" + checksum: ee8bac21d8a8b745bca971f6266209d1c9607d9c4f3c4a2d6ad64dcd223323ebe2bd09603481fee528334626048251213d2c31ffef4992c85b4f1cdc771da57e + languageName: node + linkType: hard + +"@phenomnomnominal/worker-require@npm:^0.0.34": + version: 0.0.34 + resolution: "@phenomnomnominal/worker-require@npm:0.0.34" + dependencies: + callsite: ^1.0.0 + comlink: ^4.3.0 + tslib: ^1.10.0 + checksum: b2c42f978ecd8a2f193d7b05479994007be05ed28048d999f2610bc86cfae0e88201483542d8ee7ed5871f961cca5e9f888f03e71e4928fdc5baa568e4f99974 + languageName: node + linkType: hard + "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.4": version: 0.5.4 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.4" @@ -10884,6 +11050,13 @@ __metadata: languageName: node linkType: hard +"@types/yoga-layout@npm:1.9.2": + version: 1.9.2 + resolution: "@types/yoga-layout@npm:1.9.2" + checksum: dbc3d6ab997d50fe1fcca5dd6822982c8fe586145ab648e0e97c3bc4ebc93d0b40c9edd75febaba374d61f60c1379b639f6be652965c776a901bf1068f2eac87 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:4.28.0": version: 4.28.0 resolution: "@typescript-eslint/eslint-plugin@npm:4.28.0" @@ -12867,6 +13040,13 @@ __metadata: languageName: node linkType: hard +"auto-bind@npm:4.0.0": + version: 4.0.0 + resolution: "auto-bind@npm:4.0.0" + checksum: 00cad71cce5742faccb7dd65c1b55ebc4f45add4b0c9a1547b10b05bab22813230133b0c892c67ba3eb969a4524710c5e43cc45c72898ec84e56f3a596e7a04f + languageName: node + linkType: hard + "autoprefixer@npm:10.4.2": version: 10.4.2 resolution: "autoprefixer@npm:10.4.2" @@ -14080,6 +14260,13 @@ __metadata: languageName: node linkType: hard +"callsite@npm:^1.0.0": + version: 1.0.0 + resolution: "callsite@npm:1.0.0" + checksum: 569686d622a288a4f0a827466c2f967b6d7a98f2ee1e6ada9dcf5a6802267a5e2a995d40f07113b5f95c7b2b2d5cbff4fdde590195f2a8bed24b829d048688f8 + languageName: node + linkType: hard + "callsites@npm:^2.0.0": version: 2.0.0 resolution: "callsites@npm:2.0.0" @@ -14359,7 +14546,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.5.3, chokidar@npm:^3.5.3": +"chokidar@npm:3.5.3, chokidar@npm:^3.3.1, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -14535,7 +14722,7 @@ __metadata: languageName: node linkType: hard -"cli-boxes@npm:^2.2.1": +"cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585 @@ -14695,6 +14882,15 @@ __metadata: languageName: node linkType: hard +"code-excerpt@npm:^3.0.0": + version: 3.0.0 + resolution: "code-excerpt@npm:3.0.0" + dependencies: + convert-to-spaces: ^1.0.1 + checksum: fa3a8ed15967076a43a4093b0c824cf0ada15d9aab12ea3c028851b72a69b56495aac1eadf18c3b6ae4baf0a95bb1e1faa9dbeeb0a2b2b5ae058da23328e9dd8 + languageName: node + linkType: hard + "code-point-at@npm:^1.0.0": version: 1.1.0 resolution: "code-point-at@npm:1.1.0" @@ -14842,7 +15038,7 @@ __metadata: languageName: node linkType: hard -"comlink@npm:4.3.1": +"comlink@npm:4.3.1, comlink@npm:^4.3.0": version: 4.3.1 resolution: "comlink@npm:4.3.1" checksum: 557360a6558708c55aff74a25f834bfb9bfca8a42444682c4d5aead57681534a0206202be2a2760b4de124c3ba6d485b08978b6d5469cb3d26bf1438ee28a4f1 @@ -15253,6 +15449,13 @@ __metadata: languageName: node linkType: hard +"convert-to-spaces@npm:^1.0.1": + version: 1.0.2 + resolution: "convert-to-spaces@npm:1.0.2" + checksum: e73f2ae39eb2b184f0796138eaab9c088b03b94937377d31be5b2282aef6a6ccce6b46f51bd99b3b7dfc70f516e2a6b16c0dd911883bfadf8d1073f462480224 + languageName: node + linkType: hard + "cookie-signature@npm:1.0.6": version: 1.0.6 resolution: "cookie-signature@npm:1.0.6" @@ -17071,6 +17274,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^27.5.1": + version: 27.5.1 + resolution: "diff-sequences@npm:27.5.1" + checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca + languageName: node + linkType: hard + "diff@npm:5.0.0, diff@npm:^5.0.0": version: 5.0.0 resolution: "diff@npm:5.0.0" @@ -17130,6 +17340,13 @@ __metadata: languageName: node linkType: hard +"djb2a@npm:^1.2.0": + version: 1.2.0 + resolution: "djb2a@npm:1.2.0" + checksum: 75fe594fad164634b08dc3878551aadf29fc206ba2767244ab9be323de8ffbd9c01b4dcfc1168ffb7dea0bd98a6f211966943a67aa815639fcaffbab7960ade0 + languageName: node + linkType: hard + "dns-equal@npm:^1.0.0": version: 1.0.0 resolution: "dns-equal@npm:1.0.0" @@ -18298,7 +18515,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0": +"esquery@npm:^1.0.1, esquery@npm:^1.3.1, esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" dependencies: @@ -18761,7 +18978,7 @@ __metadata: languageName: node linkType: hard -"fast-memoize@npm:^2.5.1": +"fast-memoize@npm:^2.5.1, fast-memoize@npm:^2.5.2": version: 2.5.2 resolution: "fast-memoize@npm:2.5.2" checksum: 79fa759719ba4eac7e8c22fb3b0eb3f18f4a31e218c00b1eb4a5b53c5781921133a6b84472d59ec5a6ea8f26ad57b43cd99a350c0547ccce51489bc9a5f0b28d @@ -20087,6 +20304,8 @@ __metadata: "@babel/preset-env": 7.16.11 "@babel/preset-react": 7.16.7 "@babel/preset-typescript": 7.16.7 + "@betterer/cli": 5.1.6 + "@betterer/regexp": 5.1.6 "@emotion/css": 11.7.1 "@emotion/eslint-plugin": 11.7.0 "@emotion/react": 11.7.1 @@ -21485,6 +21704,56 @@ __metadata: languageName: node linkType: hard +"ink-text-input@npm:^4.0.1": + version: 4.0.3 + resolution: "ink-text-input@npm:4.0.3" + dependencies: + chalk: ^4.1.0 + type-fest: ^0.15.1 + peerDependencies: + ink: ^3.0.0-3 + react: ^16.5.2 || ^17.0.0 + checksum: 2d309ec8ca386010d467822e317389e3c60b764fd04091df063a45c31f43104fd9f4a4e71a928a2c3c3cca461a9b8a526e90439616760f0f3726507132abbac5 + languageName: node + linkType: hard + +"ink@npm:^3.0.9": + version: 3.2.0 + resolution: "ink@npm:3.2.0" + dependencies: + ansi-escapes: ^4.2.1 + auto-bind: 4.0.0 + chalk: ^4.1.0 + cli-boxes: ^2.2.0 + cli-cursor: ^3.1.0 + cli-truncate: ^2.1.0 + code-excerpt: ^3.0.0 + indent-string: ^4.0.0 + is-ci: ^2.0.0 + lodash: ^4.17.20 + patch-console: ^1.0.0 + react-devtools-core: ^4.19.1 + react-reconciler: ^0.26.2 + scheduler: ^0.20.2 + signal-exit: ^3.0.2 + slice-ansi: ^3.0.0 + stack-utils: ^2.0.2 + string-width: ^4.2.2 + type-fest: ^0.12.0 + widest-line: ^3.1.0 + wrap-ansi: ^6.2.0 + ws: ^7.5.5 + yoga-layout-prebuilt: ^1.9.6 + peerDependencies: + "@types/react": ">=16.8.0" + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 35f1b733b94bf12cc0bf7acb4d3fcba9d961ede15cee9c64a7325606b74cee78e1009eaffbac127f4d7d28e758d8259dea8d0850bfacb991b8d93632f41d3fa2 + languageName: node + linkType: hard + "inline-style-parser@npm:0.1.1": version: 0.1.1 resolution: "inline-style-parser@npm:0.1.1" @@ -22775,6 +23044,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:^27.0.6, jest-diff@npm:^27.1.0": + version: 27.5.1 + resolution: "jest-diff@npm:27.5.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 + languageName: node + linkType: hard + "jest-diff@npm:^27.5.0": version: 27.5.0 resolution: "jest-diff@npm:27.5.0" @@ -22924,6 +23205,13 @@ __metadata: languageName: node linkType: hard +"jest-get-type@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-get-type@npm:27.5.1" + checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 + languageName: node + linkType: hard + "jest-haste-map@npm:^24.9.0": version: 24.9.0 resolution: "jest-haste-map@npm:24.9.0" @@ -27455,6 +27743,13 @@ __metadata: languageName: node linkType: hard +"patch-console@npm:^1.0.0": + version: 1.0.0 + resolution: "patch-console@npm:1.0.0" + checksum: 8cd738aa470f2e9463fca35da6a19403384ac555004f698ddd3dfdb69135ab60fe9bd2edd1dbdd8c09d92c0a2190fd0f7337fe48123013baf8ffec8532885a3a + languageName: node + linkType: hard + "path-browserify@npm:0.0.1": version: 0.0.1 resolution: "path-browserify@npm:0.0.1" @@ -28994,7 +29289,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.5.1": +"prettier@npm:2.5.1, prettier@npm:^2.3.2": version: 2.5.1 resolution: "prettier@npm:2.5.1" bin: @@ -29074,6 +29369,17 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^27.5.1": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 + languageName: node + linkType: hard + "pretty-hrtime@npm:^1.0.3": version: 1.0.3 resolution: "pretty-hrtime@npm:1.0.3" @@ -30050,6 +30356,16 @@ __metadata: languageName: node linkType: hard +"react-devtools-core@npm:^4.19.1": + version: 4.23.0 + resolution: "react-devtools-core@npm:4.23.0" + dependencies: + shell-quote: ^1.6.1 + ws: ^7 + checksum: 16c020149171c18039f366f43e305fdf5ec5991a40841e0ef83d5360b41c9a52cb072f22915b35732dd767954adbd65b6baf4f7f1bbcc785d9ffeb7f42bc1bb4 + languageName: node + linkType: hard + "react-diff-viewer@npm:^3.1.1": version: 3.1.1 resolution: "react-diff-viewer@npm:3.1.1" @@ -30131,7 +30447,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:17.0.2": +"react-dom@npm:17.0.2, react-dom@npm:>=16.8.4 || >=17.0.0": version: 17.0.2 resolution: "react-dom@npm:17.0.2" dependencies: @@ -30433,6 +30749,19 @@ __metadata: languageName: node linkType: hard +"react-reconciler@npm:^0.26.2": + version: 0.26.2 + resolution: "react-reconciler@npm:0.26.2" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + scheduler: ^0.20.2 + peerDependencies: + react: ^17.0.2 + checksum: 2ebceace56f547f51eaf142becefef9cca980eae4f42d90ee5a966f54a375f5082d78b71b00c40bbd9bca69e0e0f698c7d4e81cc7373437caa19831fddc1d01b + languageName: node + linkType: hard + "react-redux@npm:7.2.6, react-redux@npm:^7.2.0": version: 7.2.6 resolution: "react-redux@npm:7.2.6" @@ -30793,7 +31122,7 @@ __metadata: languageName: node linkType: hard -"react@npm:17.0.2": +"react@npm:17.0.2, react@npm:>=16.8.4 || >=17.0.0": version: 17.0.2 resolution: "react@npm:17.0.2" dependencies: @@ -32430,7 +32759,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.7.3": +"shell-quote@npm:^1.6.1, shell-quote@npm:^1.7.3": version: 1.7.3 resolution: "shell-quote@npm:1.7.3" checksum: aca58e73a3a5d933d02e0bdddedc53ee14f7c2ec264f97ac915b9d4482d077a38e422aa664631d60a672cd3cdb4054eb2e6c0303f54882453dacb6483e482d34 @@ -32462,6 +32791,17 @@ __metadata: languageName: node linkType: hard +"simple-git@npm:^2.44.0": + version: 2.48.0 + resolution: "simple-git@npm:2.48.0" + dependencies: + "@kwsites/file-exists": ^1.1.1 + "@kwsites/promise-deferred": ^1.1.1 + debug: ^4.3.2 + checksum: ba84b942ad5cebb9d43df2f147e414e348584f40023121896959f22d05e260ae71b862a93db5c473413f8d218f2122f2964d22f6b7bd77cc12dabc7e73b066be + languageName: node + linkType: hard + "simple-git@npm:^2.46.0": version: 2.47.0 resolution: "simple-git@npm:2.47.0" @@ -34716,7 +35056,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:10.5.0": +"ts-node@npm:10.5.0, ts-node@npm:^10.2.1": version: 10.5.0 resolution: "ts-node@npm:10.5.0" dependencies: @@ -34804,7 +35144,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.3.1, tslib@npm:^2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0": +"tslib@npm:2.3.1, tslib@npm:^2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1": version: 2.3.1 resolution: "tslib@npm:2.3.1" checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 @@ -34891,6 +35231,20 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.12.0": + version: 0.12.0 + resolution: "type-fest@npm:0.12.0" + checksum: 407d6c1a6fcc907f6124c37e977ba4966205014787a32a27579da6e47c3b1bd210b68cc1c7764d904c8aa55fb4efa6945586f9b4fae742c63ed026a4559da07d + languageName: node + linkType: hard + +"type-fest@npm:^0.15.1": + version: 0.15.1 + resolution: "type-fest@npm:0.15.1" + checksum: a1a0cdbd7f802d9784324f185df055739e97424ecb60914e9025574a4bc07e4a063c152e4510ebf5989de8a263220de1f6b5cf1b05f0b333dbd5b21d9b4a271b + languageName: node + linkType: hard + "type-fest@npm:^0.18.0": version: 0.18.1 resolution: "type-fest@npm:0.18.1" @@ -35014,6 +35368,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:>=2.7": + version: 4.5.5 + resolution: "typescript@npm:4.5.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 506f4c919dc8aeaafa92068c997f1d213b9df4d9756d0fae1a1e7ab66b585ab3498050e236113a1c9e57ee08c21ec6814ca7a7f61378c058d79af50a4b1f5a5e + languageName: node + linkType: hard + "typescript@npm:~4.5.2": version: 4.5.4 resolution: "typescript@npm:4.5.4" @@ -35044,6 +35408,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@>=2.7#~builtin": + version: 4.5.5 + resolution: "typescript@patch:typescript@npm%3A4.5.5#~builtin::version=4.5.5&hash=493e53" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: c05c318d79c690f101d7ffb34cd6c7d6bbd884d3af9cefe7749ad0cd6be43c7082f098280982ca945dcba23fde34a08fed9602bb26540936baf8c0520727d3ba + languageName: node + linkType: hard + "typescript@patch:typescript@~4.5.2#~builtin": version: 4.5.4 resolution: "typescript@patch:typescript@npm%3A4.5.4#~builtin::version=4.5.4&hash=493e53" @@ -36728,6 +37102,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7, ws@npm:^7.5.5": + version: 7.5.7 + resolution: "ws@npm:7.5.7" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 5c1f669a166fb57560b4e07f201375137fa31d9186afde78b1508926345ce546332f109081574ddc4e38cc474c5406b5fc71c18d71eb75f6e2d2245576976cba + languageName: node + linkType: hard + "ws@npm:^7.0.0, ws@npm:^7.3.1, ws@npm:^7.4.6": version: 7.5.5 resolution: "ws@npm:7.5.5" @@ -36971,6 +37360,15 @@ __metadata: languageName: node linkType: hard +"yoga-layout-prebuilt@npm:^1.9.6": + version: 1.10.0 + resolution: "yoga-layout-prebuilt@npm:1.10.0" + dependencies: + "@types/yoga-layout": 1.9.2 + checksum: 6954c7c7b04c585a1c974391bea4734611adb85702b5e9131549a1d3dc5b94e69bcfea34121cdaeb5e702663bf290fcce5374910128e54d1031503a57c062865 + languageName: node + linkType: hard + "z-schema@npm:~5.0.2": version: 5.0.2 resolution: "z-schema@npm:5.0.2"