From 264f5379776c36570f2a1485d532d11b38bd2406 Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Wed, 19 Jun 2024 00:11:02 -0400 Subject: [PATCH] add linting for peer deps Signed-off-by: aramissennyeydd --- .github/workflows/ci.yml | 3 + package.json | 1 + packages/app-defaults/package.json | 3 +- packages/app-next-example-plugin/package.json | 12 +- packages/core-app-api/package.json | 7 +- packages/core-compat-api/package.json | 6 +- packages/core-components/package.json | 3 +- packages/core-plugin-api/package.json | 3 +- packages/dev-utils/package.json | 1 + packages/frontend-app-api/package.json | 9 +- packages/frontend-plugin-api/package.json | 4 +- packages/frontend-test-utils/package.json | 4 +- packages/integration-react/package.json | 3 +- packages/repo-tools/src/commands/index.ts | 8 + .../src/commands/peer-deps/peer-deps.ts | 203 ++++++++ packages/test-utils/package.json | 3 +- packages/theme/package.json | 6 +- packages/version-bridge/package.json | 3 +- .../package.json | 3 +- plugins/api-docs/package.json | 3 +- plugins/app-visualizer/package.json | 3 +- plugins/auth-react/package.json | 7 +- plugins/catalog-graph/package.json | 3 +- plugins/catalog-import/package.json | 3 +- plugins/catalog-react/package.json | 1 + .../catalog-unprocessed-entities/package.json | 3 +- plugins/catalog/package.json | 1 + plugins/config-schema/package.json | 3 +- plugins/devtools/package.json | 3 +- plugins/example-todo-list/package.json | 3 +- plugins/home-react/package.json | 3 +- plugins/home/package.json | 3 +- plugins/kubernetes-cluster/package.json | 3 +- plugins/kubernetes-react/package.json | 7 +- plugins/kubernetes/package.json | 7 +- plugins/notifications/package.json | 6 +- plugins/org-react/package.json | 3 +- plugins/org/package.json | 3 +- plugins/permission-react/package.json | 3 +- plugins/scaffolder-react/package.json | 1 + plugins/scaffolder/package.json | 3 +- plugins/search-react/package.json | 3 +- plugins/search/package.json | 3 +- plugins/signals-react/package.json | 16 +- plugins/signals/package.json | 16 +- .../techdocs-addons-test-utils/package.json | 3 +- .../package.json | 3 +- plugins/techdocs-react/package.json | 3 +- plugins/techdocs/package.json | 3 +- plugins/user-settings/package.json | 3 +- yarn.lock | 470 ++++++++++++++++-- 51 files changed, 774 insertions(+), 109 deletions(-) create mode 100644 packages/repo-tools/src/commands/peer-deps/peer-deps.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18a401d479..2a94c6f857 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,6 +90,9 @@ jobs: - name: verify local dependency ranges run: node scripts/verify-local-dependencies.js + - name: verify peer dependency ranges + run: yarn lint:peer-deps + - name: check for missing repo fixes run: yarn fix --check diff --git a/package.json b/package.json index 72f7113331..a00c7fd721 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "lint": "backstage-cli repo lint --since origin/master", "lint:all": "backstage-cli repo lint", "lint:docs": "node ./scripts/check-docs-quality", + "lint:peer-deps": "backstage-repo-tools peer-deps", "lint:type-deps": "backstage-repo-tools type-deps", "new": "backstage-cli new --scope backstage --baseVersion 0.0.0 --no-private", "prepare": "husky", diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index 0dabc3d3e9..5865cb3f43 100644 --- a/packages/app-defaults/package.json +++ b/packages/app-defaults/package.json @@ -51,7 +51,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index 4f3342c100..dc477e31ec 100644 --- a/packages/app-next-example-plugin/package.json +++ b/packages/app-next-example-plugin/package.json @@ -47,12 +47,22 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", + "@types/react": "^18.0.0", "cross-fetch": "^4.0.0", - "msw": "^1.0.0" + "msw": "^1.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { + "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } } diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index c1adf50cd9..d1c9f0a053 100644 --- a/packages/core-app-api/package.json +++ b/packages/core-app-api/package.json @@ -51,13 +51,10 @@ "@backstage/types": "workspace:^", "@backstage/version-bridge": "workspace:^", "@types/prop-types": "^15.7.3", - "@types/react": "^18.0.0", "history": "^5.0.0", "i18next": "^22.4.15", "lodash": "^4.17.21", "prop-types": "^15.7.2", - "react": "^18.0.0", - "react-dom": "^18.0.0", "react-use": "^17.2.4", "zen-observable": "^0.10.0", "zod": "^3.22.4" @@ -70,9 +67,13 @@ "@testing-library/react": "^16.0.0", "@testing-library/react-hooks": "^8.0.0", "@testing-library/user-event": "^14.0.0", + "@types/react": "^18.0.0", "@types/zen-observable": "^0.8.0", "msw": "^1.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", "react-router-beta": "npm:react-router@6.0.0-beta.0", + "react-router-dom": "^6.3.0", "react-router-dom-beta": "npm:react-router-dom@6.0.0-beta.0", "react-router-dom-stable": "npm:react-router-dom@^6.3.0", "react-router-stable": "npm:react-router@^6.3.0" diff --git a/packages/core-compat-api/package.json b/packages/core-compat-api/package.json index d782afcc5d..d7f4848c4a 100644 --- a/packages/core-compat-api/package.json +++ b/packages/core-compat-api/package.json @@ -48,14 +48,16 @@ "@oriflame/backstage-plugin-score-card": "^0.8.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^16.0.0", - "zod": "^3.22.4", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", + "zod": "^3.22.4" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 407e7e791a..fc9ebc30e5 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -117,7 +117,8 @@ "history": "^5.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index 4c51f60555..e9e46a8064 100644 --- a/packages/core-plugin-api/package.json +++ b/packages/core-plugin-api/package.json @@ -65,7 +65,8 @@ "@testing-library/user-event": "^14.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 5ca2e55a36..d8fa50b1ee 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -58,6 +58,7 @@ "@types/react": "^18.0.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", "zen-observable": "^0.10.0" }, "peerDependencies": { diff --git a/packages/frontend-app-api/package.json b/packages/frontend-app-api/package.json index 23639e0af7..26473d0dea 100644 --- a/packages/frontend-app-api/package.json +++ b/packages/frontend-app-api/package.json @@ -40,11 +40,11 @@ "@backstage/frontend-plugin-api": "workspace:^", "@backstage/types": "workspace:^", "@backstage/version-bridge": "workspace:^", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "zod": "^3.22.4", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", - "lodash": "^4.17.21" + "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "lodash": "^4.17.21", + "zod": "^3.22.4" }, "devDependencies": { "@backstage/cli": "workspace:^", @@ -53,7 +53,8 @@ "@testing-library/react": "^15.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/frontend-plugin-api/package.json b/packages/frontend-plugin-api/package.json index 3bcad42a9d..43509a6132 100644 --- a/packages/frontend-plugin-api/package.json +++ b/packages/frontend-plugin-api/package.json @@ -50,11 +50,13 @@ "@types/react": "^18.0.0", "history": "^5.3.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { diff --git a/packages/frontend-test-utils/package.json b/packages/frontend-test-utils/package.json index ab98e8d4e1..7ebf1eb4f0 100644 --- a/packages/frontend-test-utils/package.json +++ b/packages/frontend-test-utils/package.json @@ -45,12 +45,14 @@ "@testing-library/jest-dom": "^6.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@testing-library/react": "^16.0.0", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index 98cf89bd24..f426ec4a01 100644 --- a/packages/integration-react/package.json +++ b/packages/integration-react/package.json @@ -49,7 +49,8 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/packages/repo-tools/src/commands/index.ts b/packages/repo-tools/src/commands/index.ts index 5116326eea..5a69a74ff3 100644 --- a/packages/repo-tools/src/commands/index.ts +++ b/packages/repo-tools/src/commands/index.ts @@ -224,6 +224,14 @@ export function registerCommands(program: Command) { .description('Find inconsistencies in types of all packages and plugins') .action(lazy(() => import('./type-deps/type-deps').then(m => m.default))); + program + .command('peer-deps') + .description( + 'Ensure your packages are using the correct peer dependency format.', + ) + .option('--fix', 'Fix the issues found') + .action(lazy(() => import('./peer-deps/peer-deps').then(m => m.default))); + program .command('generate-catalog-info') .option( diff --git a/packages/repo-tools/src/commands/peer-deps/peer-deps.ts b/packages/repo-tools/src/commands/peer-deps/peer-deps.ts new file mode 100644 index 0000000000..9544b3b457 --- /dev/null +++ b/packages/repo-tools/src/commands/peer-deps/peer-deps.ts @@ -0,0 +1,203 @@ +/* + * Copyright 2024 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { resolve as resolvePath } from 'path'; +import { getPackages, Package } from '@manypkg/get-packages'; +import { writeFileSync } from 'fs'; + +type ExtendedPackageJSON = Package['packageJson'] & { + peerDependenciesMeta?: Record; + backstage?: { + role: string; + }; +}; + +const desiredLocalVersionsOfDependencies = { + '@types/react': '^18.0.0', + react: '^18.0.0', + 'react-dom': '^18.0.0', + 'react-router-dom': '^6.3.0', +}; + +const peerDependencies = { + '@types/react': '^16.13.1 || ^17.0.0 || ^18.0.0', + react: '^16.13.1 || ^17.0.0 || ^18.0.0', + 'react-dom': '^16.13.1 || ^17.0.0 || ^18.0.0', + 'react-router-dom': '6.0.0-beta.0 || ^6.3.0', +}; + +const groupsOfPeerDependencies = [['@types/react', 'react', 'react-dom']]; + +const optionalPeerDependencies = new Set(['@types/react']); + +const isOptional = (dep: string) => { + return optionalPeerDependencies.has(dep); +}; + +const isMarkedAsOptional = (dep: string, packageJson: ExtendedPackageJSON) => { + return packageJson.peerDependenciesMeta?.[dep]?.optional; +}; + +const isDevDependency = (dep: string, packageJson: ExtendedPackageJSON) => { + return !!packageJson.devDependencies?.[dep]; +}; + +const isPeerDependency = (dep: string, packageJson: ExtendedPackageJSON) => { + return !!packageJson.peerDependencies?.[dep]; +}; + +const isStandaloneApplication = (packageJson: ExtendedPackageJSON) => { + return ['cli', 'frontend', 'backend'].includes( + packageJson.backstage?.role || '', + ); +}; + +const matchesPeerDependency = ( + dep: string, + packageJson: ExtendedPackageJSON, +) => { + return ( + packageJson.peerDependencies && + packageJson.peerDependencies[dep] === + peerDependencies[dep as keyof typeof peerDependencies] + ); +}; + +export default async ({ fix }: { fix: boolean }) => { + let failed = false; + const attemptToApplyFix = (fn: () => void) => { + if (fix) { + fn(); + } else { + failed = true; + } + }; + const { packages } = await getPackages(resolvePath('.')); + + const packagesWithRelevantDependencies = []; + + for (const pkg of packages) { + if (isStandaloneApplication(pkg.packageJson as ExtendedPackageJSON)) { + // Standalone applications are not expected to have peer dependencies. + continue; + } + + const dependencies = { + ...pkg.packageJson.dependencies, + ...pkg.packageJson.devDependencies, + ...pkg.packageJson.peerDependencies, + }; + for (const dep in peerDependencies) { + // Check against all packages that use dependencies that are in the peerDependencies list. + if (dependencies?.[dep]) { + packagesWithRelevantDependencies.push(pkg); + break; + } + } + } + + for (const pkg of packagesWithRelevantDependencies) { + const packageJson = pkg.packageJson as ExtendedPackageJSON; + for (const dep of Object.keys(peerDependencies)) { + // Validate that the peer dependencies are present. + if (isPeerDependency(dep, packageJson)) { + if (isOptional(dep) && !isMarkedAsOptional(dep, packageJson)) { + console.error( + `Optional peer dependency ${dep} in ${pkg.packageJson.name} is not marked as optional`, + ); + attemptToApplyFix(() => { + packageJson.peerDependenciesMeta = + packageJson.peerDependenciesMeta || {}; + packageJson.peerDependenciesMeta[dep] = { optional: true }; + }); + } else if (!isOptional(dep) && isMarkedAsOptional(dep, packageJson)) { + console.error( + `Peer dependency ${dep} in ${pkg.packageJson.name} is marked as optional but should not be`, + ); + attemptToApplyFix(() => { + packageJson.peerDependenciesMeta = + packageJson.peerDependenciesMeta || {}; + delete packageJson.peerDependenciesMeta[dep]; + }); + } + if (!isDevDependency(dep, packageJson)) { + console.error( + `Peer dependency ${dep} in ${pkg.packageJson.name} is not listed as a devDependency`, + ); + attemptToApplyFix(() => { + packageJson.devDependencies = packageJson.devDependencies || {}; + packageJson.devDependencies[dep] = + desiredLocalVersionsOfDependencies[ + dep as keyof typeof desiredLocalVersionsOfDependencies + ]; + }); + } + + const groups = groupsOfPeerDependencies.filter(group => + group.includes(dep), + ); + if (groups.length) { + for (const group of groups) { + for (const groupDep of group) { + if (!isPeerDependency(groupDep, packageJson)) { + console.error( + `Peer dependency ${groupDep} in ${pkg.packageJson.name} is missing`, + ); + attemptToApplyFix(() => { + packageJson.peerDependencies = + packageJson.peerDependencies || {}; + packageJson.peerDependencies[groupDep] = + peerDependencies[groupDep as keyof typeof peerDependencies]; + }); + } + } + } + } + + if (!matchesPeerDependency(dep, packageJson)) { + console.error( + `Incorrect peer dependency ${dep} in ${pkg.packageJson.name}`, + ); + attemptToApplyFix(() => { + packageJson.peerDependencies = packageJson.peerDependencies || {}; + packageJson.peerDependencies[dep] = + peerDependencies[dep as keyof typeof peerDependencies]; + }); + } + } else { + console.error( + `Missing peer dependency ${dep} in ${pkg.packageJson.name}`, + ); + attemptToApplyFix(() => { + packageJson.peerDependencies = packageJson.peerDependencies || {}; + packageJson.peerDependencies[dep] = + peerDependencies[dep as keyof typeof peerDependencies]; + }); + } + } + if (fix) { + writeFileSync( + resolvePath(pkg.dir, 'package.json'), + JSON.stringify(packageJson, null, 4), + ); + } + } + + if (failed) { + console.error('Some packages have incorrect peer dependencies'); + process.exit(1); + } +}; diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index a99028fdf7..dc2713ff09 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -68,7 +68,8 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@testing-library/react": "^16.0.0", diff --git a/packages/theme/package.json b/packages/theme/package.json index e875ad7963..435f517326 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -47,13 +47,15 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@material-ui/core": "^4.12.2", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0" + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { "@types/react": { diff --git a/packages/version-bridge/package.json b/packages/version-bridge/package.json index 524b5545a0..50a5883b15 100644 --- a/packages/version-bridge/package.json +++ b/packages/version-bridge/package.json @@ -41,7 +41,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json index e5877f468c..f41fe2f9fb 100644 --- a/plugins/api-docs-module-protoc-gen-doc/package.json +++ b/plugins/api-docs-module-protoc-gen-doc/package.json @@ -44,7 +44,8 @@ "@testing-library/jest-dom": "^6.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 3597f9468e..f9888ed99c 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -87,7 +87,8 @@ "@types/react": "^18.0.0", "@types/swagger-ui-react": "^4.18.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/app-visualizer/package.json b/plugins/app-visualizer/package.json index 6d4fd47661..53720d560a 100644 --- a/plugins/app-visualizer/package.json +++ b/plugins/app-visualizer/package.json @@ -44,7 +44,8 @@ "@backstage/cli": "workspace:^", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/auth-react/package.json b/plugins/auth-react/package.json index 58c3f58e5b..995d9adecf 100644 --- a/plugins/auth-react/package.json +++ b/plugins/auth-react/package.json @@ -53,11 +53,14 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { "@types/react": { diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index 4f2161141f..e6e4b5651d 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -78,7 +78,8 @@ "@testing-library/user-event": "^14.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index ca3175a46b..1dbfac3179 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -90,7 +90,8 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index eed14b2589..5d8d0e7da6 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -97,6 +97,7 @@ "@types/zen-observable": "^0.8.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", "react-test-renderer": "^16.13.1" }, "peerDependencies": { diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json index 64f4441cb9..a0e652bc03 100644 --- a/plugins/catalog-unprocessed-entities/package.json +++ b/plugins/catalog-unprocessed-entities/package.json @@ -54,7 +54,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 1247d14ca3..2b8e0484b7 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -100,6 +100,7 @@ "@types/react": "^18.0.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", "swr": "^2.2.5" }, "peerDependencies": { diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index a7ddec3885..643f7ac765 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -56,7 +56,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json index e20cda27eb..62a838f8fa 100644 --- a/plugins/devtools/package.json +++ b/plugins/devtools/package.json @@ -70,7 +70,8 @@ "@testing-library/jest-dom": "^6.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index 1190b29363..4776fc2553 100644 --- a/plugins/example-todo-list/package.json +++ b/plugins/example-todo-list/package.json @@ -52,7 +52,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 1389386075..0a3edf65d4 100644 --- a/plugins/home-react/package.json +++ b/plugins/home-react/package.json @@ -53,7 +53,8 @@ "@types/react": "^18.0.0", "@types/react-grid-layout": "^1.3.2", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/home/package.json b/plugins/home/package.json index 8a57f31bbe..8dc5bc3b68 100644 --- a/plugins/home/package.json +++ b/plugins/home/package.json @@ -92,7 +92,8 @@ "@types/react": "^18.0.0", "@types/react-grid-layout": "^1.3.2", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/kubernetes-cluster/package.json b/plugins/kubernetes-cluster/package.json index d7054f33a7..21087fd0b7 100644 --- a/plugins/kubernetes-cluster/package.json +++ b/plugins/kubernetes-cluster/package.json @@ -67,7 +67,8 @@ "@types/node": "^16.11.26", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/kubernetes-react/package.json b/plugins/kubernetes-react/package.json index 6231807ceb..879507fbe4 100644 --- a/plugins/kubernetes-react/package.json +++ b/plugins/kubernetes-react/package.json @@ -73,11 +73,14 @@ "jest-websocket-mock": "^2.5.0", "msw": "^1.3.1", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { "@types/react": { diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index fb653cbc62..940054aa65 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -88,14 +88,15 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { + "@testing-library/react": "^16.0.0", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0", - "@testing-library/react": "^16.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { "@types/react": { diff --git a/plugins/notifications/package.json b/plugins/notifications/package.json index e3acc0d667..aafdf2476e 100644 --- a/plugins/notifications/package.json +++ b/plugins/notifications/package.json @@ -66,11 +66,13 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react": "^16.13.1 || ^17.0.0", + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "peerDependenciesMeta": { diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index 3685e78ff8..e31864e158 100644 --- a/plugins/org-react/package.json +++ b/plugins/org-react/package.json @@ -60,7 +60,8 @@ "@testing-library/user-event": "^14.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/org/package.json b/plugins/org/package.json index a02533a455..cae8a2d11a 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -83,7 +83,8 @@ "@testing-library/user-event": "^14.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 3dbed0beaa..65732d8c89 100644 --- a/plugins/permission-react/package.json +++ b/plugins/permission-react/package.json @@ -54,7 +54,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index ed1a587100..f3e8eccdbb 100644 --- a/plugins/scaffolder-react/package.json +++ b/plugins/scaffolder-react/package.json @@ -109,6 +109,7 @@ "@types/react": "^18.0.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", "swr": "^2.0.0" }, "peerDependencies": { diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index e708cd6f89..e69cf0e223 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -117,12 +117,13 @@ "@testing-library/user-event": "^14.0.0", "@types/humanize-duration": "^3.18.1", "@types/json-schema": "^7.0.9", + "@types/react": "^18.0.0", "@types/react-resizable": "^3.0.8", "@types/react-window": "^1.8.8", - "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0", "swr": "^2.0.0" }, "peerDependencies": { diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index b5bd4f2b27..6df72cee7d 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -82,7 +82,8 @@ "@testing-library/user-event": "^14.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/search/package.json b/plugins/search/package.json index f7516ccee0..dba2742ca2 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -85,7 +85,8 @@ "@types/react": "^18.0.0", "history": "^5.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/signals-react/package.json b/plugins/signals-react/package.json index 96a54b3fed..dad70cff02 100644 --- a/plugins/signals-react/package.json +++ b/plugins/signals-react/package.json @@ -47,9 +47,21 @@ "@backstage/cli": "workspace:^", "@backstage/test-utils": "workspace:^", "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^16.0.0" + "@testing-library/react": "^16.0.0", + "@types/react": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" + "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } } diff --git a/plugins/signals/package.json b/plugins/signals/package.json index 471aecc4eb..f87647d356 100644 --- a/plugins/signals/package.json +++ b/plugins/signals/package.json @@ -57,10 +57,22 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.0.0", + "@types/react": "^18.0.0", "jest-websocket-mock": "^2.5.0", - "msw": "^1.0.0" + "msw": "^1.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" + "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", + "react-router-dom": "6.0.0-beta.0 || ^6.3.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } } diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 14693e104e..4984bbdced 100644 --- a/plugins/techdocs-addons-test-utils/package.json +++ b/plugins/techdocs-addons-test-utils/package.json @@ -57,7 +57,8 @@ "@testing-library/jest-dom": "^6.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@testing-library/react": "^16.0.0", diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index b2fb21e930..59976dde8c 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -59,7 +59,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 7e28a64e9d..73cab1645e 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -65,7 +65,8 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 365cae46ad..dec637779c 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -102,7 +102,8 @@ "@types/react": "^18.0.0", "canvas": "^2.10.2", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 1b7797c03c..ee79710815 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -84,7 +84,8 @@ "@types/react": "^18.0.0", "msw": "^1.0.0", "react": "^18.0.0", - "react-dom": "^18.0.0" + "react-dom": "^18.0.0", + "react-router-dom": "^6.3.0" }, "peerDependencies": { "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", diff --git a/yarn.lock b/yarn.lock index 57d2d1539c..f449544643 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3451,11 +3451,18 @@ __metadata: "@material-ui/icons": ^4.9.1 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4121,14 +4128,17 @@ __metadata: "@testing-library/react-hooks": ^8.0.0 "@testing-library/user-event": ^14.0.0 "@types/prop-types": ^15.7.3 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/zen-observable": ^0.8.0 history: ^5.0.0 i18next: ^22.4.15 lodash: ^4.17.21 msw: ^1.0.0 prop-types: ^15.7.2 + react: ^18.0.0 + react-dom: ^18.0.0 react-router-beta: "npm:react-router@6.0.0-beta.0" + react-router-dom: ^6.3.0 react-router-dom-beta: "npm:react-router-dom@6.0.0-beta.0" react-router-dom-stable: "npm:react-router-dom@^6.3.0" react-router-stable: "npm:react-router@^6.3.0" @@ -4136,9 +4146,13 @@ __metadata: zen-observable: ^0.10.0 zod: ^3.22.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4177,12 +4191,19 @@ __metadata: "@oriflame/backstage-plugin-score-card": ^0.8.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 - lodash: ^4.17.21 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 zod: ^3.22.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4365,7 +4386,7 @@ __metadata: "@types/d3-zoom": ^3.0.1 "@types/dagre": ^0.7.44 "@types/google-protobuf": ^3.7.2 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/react-helmet": ^6.1.0 "@types/react-sparklines": ^1.7.0 "@types/react-syntax-highlighter": ^15.0.0 @@ -4387,10 +4408,13 @@ __metadata: pluralize: ^8.0.0 qs: ^6.9.4 rc-progress: 3.5.1 + react: ^18.0.0 + react-dom: ^18.0.0 react-helmet: 6.1.0 react-hook-form: ^7.12.2 react-idle-timer: 5.7.2 react-markdown: ^8.0.0 + react-router-dom: ^6.3.0 react-sparklines: ^1.7.0 react-syntax-highlighter: ^15.4.5 react-use: ^17.3.2 @@ -4400,9 +4424,13 @@ __metadata: zen-observable: ^0.10.0 zod: ^3.22.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4439,12 +4467,19 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 history: ^5.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4495,13 +4530,20 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 zen-observable: ^0.10.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4555,18 +4597,27 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/frontend-defaults": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" - "@backstage/plugin-app": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/types": "workspace:^" "@backstage/version-bridge": "workspace:^" + "@material-ui/core": ^4.12.4 + "@material-ui/icons": ^4.11.3 "@testing-library/jest-dom": ^6.0.0 - "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@testing-library/react": ^15.0.0 + "@types/react": ^18.0.0 lodash: ^4.17.21 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 zod: ^3.22.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4626,14 +4677,22 @@ __metadata: "@material-ui/core": ^4.12.4 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 history: ^5.3.0 lodash: ^4.17.21 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 zod: ^3.22.4 zod-to-json-schema: ^3.21.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4650,12 +4709,20 @@ __metadata: "@backstage/types": "workspace:^" "@backstage/version-bridge": "workspace:^" "@testing-library/jest-dom": ^6.0.0 - "@types/react": "*" + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 zod: ^3.22.4 peerDependencies: "@testing-library/react": ^16.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4711,12 +4778,19 @@ __metadata: "@material-ui/icons": ^4.9.1 "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4746,12 +4820,19 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@testing-library/jest-dom": ^6.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 grpc-docs: ^1.1.2 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4782,18 +4863,25 @@ __metadata: "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 "@types/highlightjs": ^10.1.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/swagger-ui-react": ^4.18.0 graphiql: 3.1.1 graphql: ^16.0.0 graphql-config: ^5.0.2 graphql-ws: ^5.4.1 isomorphic-form-data: ^2.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 swagger-ui-react: ^5.0.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -4852,11 +4940,18 @@ __metadata: "@backstage/frontend-plugin-api": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -5401,10 +5496,19 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -5907,16 +6011,23 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 classnames: ^2.3.1 lodash: ^4.17.15 p-limit: ^3.1.0 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -5949,18 +6060,25 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 git-url-parse: ^14.0.0 js-base64: ^3.6.0 lodash: ^4.17.21 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 react-hook-form: ^7.12.2 + react-router-dom: ^6.3.0 react-use: ^17.2.4 yaml: ^2.0.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6048,20 +6166,27 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/zen-observable": ^0.8.0 classnames: ^2.2.6 lodash: ^4.17.21 material-ui-popup-state: ^1.9.3 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-test-renderer: ^16.13.1 react-use: ^17.2.4 yaml: ^2.0.0 zen-observable: ^0.10.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6089,13 +6214,20 @@ __metadata: "@material-ui/lab": ^4.0.0-alpha.60 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 luxon: ^3.5.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6133,19 +6265,26 @@ __metadata: "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 "@types/pluralize": ^0.0.33 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 dataloader: ^2.0.0 expiry-map: ^2.0.0 history: ^5.0.0 lodash: ^4.17.21 pluralize: ^8.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 swr: ^2.2.5 zen-observable: ^0.10.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6165,14 +6304,21 @@ __metadata: "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 jsonschema: ^1.2.6 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 zen-observable: ^0.10.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6239,13 +6385,20 @@ __metadata: "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.57 "@testing-library/jest-dom": ^6.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 react-json-view: ^1.21.3 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6390,12 +6543,19 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@rjsf/utils": 5.21.1 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 "@types/react-grid-layout": ^1.3.2 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6428,18 +6588,25 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/react-grid-layout": ^1.3.2 lodash: ^4.17.21 luxon: ^3.4.3 + react: ^18.0.0 + react-dom: ^18.0.0 react-grid-layout: 1.3.4 react-resizable: ^3.0.4 + react-router-dom: ^6.3.0 react-use: ^17.2.4 zod: ^3.22.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6518,17 +6685,24 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@types/node": ^16.11.26 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 cronstrue: ^2.2.0 js-yaml: ^4.0.0 kubernetes-models: ^4.1.0 lodash: ^4.17.21 luxon: ^3.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6590,7 +6764,7 @@ __metadata: "@material-ui/lab": ^4.0.0-alpha.61 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 cronstrue: ^2.32.0 jest-websocket-mock: ^2.5.0 js-yaml: ^4.1.0 @@ -6598,12 +6772,21 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 msw: ^1.3.1 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.4.0 xterm: ^5.3.0 xterm-addon-attach: ^0.9.0 xterm-addon-fit: ^0.8.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6629,19 +6812,27 @@ __metadata: "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 cronstrue: ^2.2.0 js-yaml: ^4.0.0 kubernetes-models: ^4.1.0 lodash: ^4.17.21 luxon: ^3.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 xterm: ^5.2.1 xterm-addon-attach: ^0.9.0 xterm-addon-fit: ^0.8.0 peerDependencies: + "@testing-library/react": ^16.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6759,16 +6950,24 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 lodash: ^4.17.21 material-ui-confirm: ^3.0.12 msw: ^1.0.0 notistack: ^3.0.1 + react: ^18.0.0 + react-dom: ^18.0.0 react-relative-time: ^0.0.9 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: - react: ^16.13.1 || ^17.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6791,12 +6990,19 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6827,16 +7033,23 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 lodash: ^4.17.21 p-limit: ^3.1.0 pluralize: ^8.0.0 qs: ^6.10.1 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -6948,12 +7161,19 @@ __metadata: "@backstage/test-utils": "workspace:^" "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 swr: ^2.0.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7378,7 +7598,6 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/plugin-scaffolder-node": "workspace:^" "@backstage/types": "workspace:^" - "@types/react": "*" languageName: unknown linkType: soft @@ -7445,7 +7664,7 @@ __metadata: "@types/humanize-duration": ^3.18.1 "@types/json-schema": ^7.0.9 "@types/luxon": ^3.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 ajv-errors: ^3.0.0 classnames: ^2.2.6 flatted: 3.3.1 @@ -7455,6 +7674,9 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 swr: ^2.0.0 use-immer: ^0.10.0 @@ -7462,9 +7684,13 @@ __metadata: zod: ^3.22.4 zod-to-json-schema: ^3.20.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7511,7 +7737,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/humanize-duration": ^3.18.1 "@types/json-schema": ^7.0.9 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 "@types/react-resizable": ^3.0.8 "@types/react-window": ^1.8.8 "@uiw/react-codemirror": ^4.9.3 @@ -7526,7 +7752,10 @@ __metadata: luxon: ^3.0.0 msw: ^1.0.0 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 react-resizable: ^3.0.5 + react-router-dom: ^6.3.0 react-use: ^17.2.4 react-window: ^1.8.10 swr: ^2.0.0 @@ -7535,9 +7764,13 @@ __metadata: zod: ^3.22.4 zod-to-json-schema: ^3.20.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7744,14 +7977,21 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 lodash: ^4.17.21 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.3.2 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7779,14 +8019,21 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 history: ^5.0.0 qs: ^6.9.4 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7852,8 +8099,18 @@ __metadata: "@material-ui/core": ^4.12.4 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: - react: ^16.13.1 || ^17.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7876,12 +8133,22 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 + "@types/react": ^18.0.0 jest-websocket-mock: ^2.5.0 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 uuid: ^9.0.0 peerDependencies: - react: ^16.13.1 || ^17.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7901,13 +8168,20 @@ __metadata: "@backstage/test-utils": "workspace:^" "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 testing-library__dom: ^7.29.4-beta.1 peerDependencies: "@testing-library/react": ^16.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -7971,13 +8245,20 @@ __metadata: "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 git-url-parse: ^14.0.0 photoswipe: ^5.3.7 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8042,15 +8323,22 @@ __metadata: "@material-ui/styles": ^4.11.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 jss: ~10.10.0 lodash: ^4.17.21 + react: ^18.0.0 + react-dom: ^18.0.0 react-helmet: 6.1.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8089,18 +8377,26 @@ __metadata: "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 "@types/dompurify": ^3.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/event-source-polyfill": ^1.0.0 + "@types/react": ^18.0.0 canvas: ^2.10.2 dompurify: ^3.0.0 git-url-parse: ^14.0.0 jss: ~10.10.0 lodash: ^4.17.21 + react: ^18.0.0 + react-dom: ^18.0.0 react-helmet: 6.1.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8162,14 +8458,21 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 zen-observable: ^0.10.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8258,16 +8561,23 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@testing-library/jest-dom": ^6.0.0 - "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + "@types/react": ^18.0.0 cross-fetch: ^4.0.0 i18next: ^22.4.15 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 zen-observable: ^0.10.0 peerDependencies: "@testing-library/react": ^16.0.0 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8282,12 +8592,19 @@ __metadata: "@mui/styles": ^5.14.18 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: "@material-ui/core": ^4.12.2 "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -8309,11 +8626,18 @@ __metadata: "@backstage/cli": "workspace:^" "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -10158,12 +10482,19 @@ __metadata: "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 - "@types/react": ^16.13.1 || ^17.0.0 + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 react-use: ^17.2.4 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -16875,6 +17206,24 @@ __metadata: languageName: node linkType: hard +"@testing-library/react@npm:^15.0.0": + version: 15.0.7 + resolution: "@testing-library/react@npm:15.0.7" + dependencies: + "@babel/runtime": ^7.12.5 + "@testing-library/dom": ^10.0.0 + "@types/react-dom": ^18.0.0 + peerDependencies: + "@types/react": ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: eb33fd82eb811bb8612aa154e430a2c1c251d5ed45a477ef57fe20095db494ea7dcfa6b1e1e2bffb0c7ee10c86e408745d95a879be8ca8fbe301bb91e5f2e5db + languageName: node + linkType: hard + "@testing-library/react@npm:^16.0.0": version: 16.0.1 resolution: "@testing-library/react@npm:16.0.1" @@ -17448,6 +17797,13 @@ __metadata: languageName: node linkType: hard +"@types/event-source-polyfill@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/event-source-polyfill@npm:1.0.5" + checksum: f506b68710162f2ade1bccbc5691b8c67e5a703e565df2bc0b7b5be2637ba838ef81ec6c10b03248fe4d054386d95a6e827c7aace6e924986c2b9985f77b55de + languageName: node + linkType: hard + "@types/expect@npm:^1.20.4": version: 1.20.4 resolution: "@types/expect@npm:1.20.4" @@ -20654,12 +21010,20 @@ __metadata: "@backstage/core-components": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" "@material-ui/icons": ^4.9.1 + "@types/react": ^18.0.0 cross-fetch: ^4.0.0 msw: ^1.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + react-router-dom: ^6.3.0 peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -38138,7 +38502,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.0.2": +"react-dom@npm:^18.0.0, react-dom@npm:^18.0.2": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -38722,7 +39086,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^16.13.1 || ^17.0.0 || ^18.0.0, react@npm:^18.0.2": +"react@npm:^16.13.1 || ^17.0.0 || ^18.0.0, react@npm:^18.0.0, react@npm:^18.0.2": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -41954,8 +42318,8 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 "@testing-library/user-event": ^14.0.0 - "@types/react": "*" - "@types/react-dom": "*" + "@types/react": ^18.0.0 + "@types/react-dom": ^18.0.0 cross-env: ^7.0.0 history: ^5.0.0 react: ^18.0.2