diff --git a/.changeset/sonarqube-entity-integration.md b/.changeset/sonarqube-entity-integration.md
new file mode 100644
index 000000000..bb62e8f3f
--- /dev/null
+++ b/.changeset/sonarqube-entity-integration.md
@@ -0,0 +1,6 @@
+---
+'@openchoreo/backstage-portal-app': patch
+'backend': patch
+---
+
+Add SonarQube community plugin integration — shows a Code Quality tab on entity pages when the `sonarqube.org/project-key` annotation is present. Wires up `@backstage-community/plugin-sonarqube-backend` in the backend and `EntitySonarQubeContentPage` in the frontend.
diff --git a/app-config.yaml b/app-config.yaml
index 043f41d46..117167836 100644
--- a/app-config.yaml
+++ b/app-config.yaml
@@ -102,6 +102,13 @@ integrations:
# username: ${JENKINS_USERNAME}
# apiKey: ${JENKINS_API_KEY}
+# SonarQube Configuration
+# Uncomment and configure in app-config.local.yaml to enable code quality metrics on entity pages.
+# Requires the `sonarqube.org/project-key` annotation on catalog entities to show the tab.
+# sonarqube:
+# baseUrl: ${SONARQUBE_BASE_URL} # e.g. https://sonarqube.example.com (no trailing slash)
+# apiKey: ${SONARQUBE_API_KEY} # User token with at least Browse permission on the project
+
proxy:
### Example for how to add a proxy endpoint for the frontend.
### A typical reason to do this is to handle HTTPS and CORS for internal services.
diff --git a/packages/backend/package.json b/packages/backend/package.json
index b11ffb968..02fad44cd 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -21,6 +21,7 @@
"build-image": "docker buildx build ../.. -f Dockerfile --tag openchoreo-ui:local --load"
},
"dependencies": {
+ "@backstage-community/plugin-sonarqube-backend": "^1.1.1",
"@backstage/backend-defaults": "^0.17.1",
"@backstage/backend-plugin-api": "^1.9.1",
"@backstage/config": "^1.3.8",
@@ -41,6 +42,7 @@
"pg": "8.16.3"
},
"devDependencies": {
+ "@backstage/backend-test-utils": "^1.11.5",
"@backstage/cli": "^0.36.2",
"@types/cookie-parser": "1.4.8",
"@types/express-session": "1.18.2"
diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts
index 337c305b9..722d1d540 100644
--- a/packages/backend/src/index.ts
+++ b/packages/backend/src/index.ts
@@ -8,6 +8,7 @@
import { createBackend } from '@backstage/backend-defaults';
import { portalBackendFeatures } from '@openchoreo/backstage-portal-backend';
+import { conditionalSonarQube } from './sonarqube';
// Guest mode: when OpenChoreo auth is explicitly disabled, the portal has no
// IDP and needs guest sign-in plus an open default auth policy. These feed the
@@ -28,6 +29,8 @@ const backend = createBackend();
backend.add(portalBackendFeatures);
// External CI Platform Integrations
+// SonarQube: Proxies metrics API. Conditionally registers only if 'sonarqube' config is present.
+backend.add(conditionalSonarQube);
// GitLab: Requires integrations.gitlab config at startup. Uncomment after configuring in app-config.local.yaml
// For production, config is in app-config.production.yaml with Helm-injected env vars
// backend.add(import('@immobiliarelabs/backstage-plugin-gitlab-backend'));
diff --git a/packages/backend/src/sonarqube.test.ts b/packages/backend/src/sonarqube.test.ts
new file mode 100644
index 000000000..1c3d1c35d
--- /dev/null
+++ b/packages/backend/src/sonarqube.test.ts
@@ -0,0 +1,16 @@
+import { startTestBackend, mockServices } from '@backstage/backend-test-utils';
+import { conditionalSonarQube } from './sonarqube';
+
+describe('conditionalSonarQube backend module', () => {
+ it('should start successfully without a sonarqube configuration section', async () => {
+ // The test will fail (promise rejects) if the feature loader crashes.
+ const backend = await startTestBackend({
+ features: [
+ conditionalSonarQube,
+ mockServices.rootConfig.factory({ data: {} }), // empty configuration (no 'sonarqube')
+ ],
+ });
+
+ expect(backend).toBeDefined();
+ });
+});
diff --git a/packages/backend/src/sonarqube.ts b/packages/backend/src/sonarqube.ts
new file mode 100644
index 000000000..075e04107
--- /dev/null
+++ b/packages/backend/src/sonarqube.ts
@@ -0,0 +1,26 @@
+import {
+ createBackendFeatureLoader,
+ coreServices,
+} from '@backstage/backend-plugin-api';
+
+/**
+ * SonarQube backend feature loader.
+ * Conditionally registers the SonarQube plugin only if 'sonarqube' config is present.
+ */
+export const conditionalSonarQube = createBackendFeatureLoader({
+ deps: {
+ config: coreServices.rootConfig,
+ logger: coreServices.rootLogger,
+ },
+ *loader({ config, logger }) {
+ if (config.getOptionalConfig('sonarqube')) {
+ // Use require() instead of import() to avoid ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG in Jest
+ const plugin = require('@backstage-community/plugin-sonarqube-backend');
+ yield plugin.default || plugin;
+ } else {
+ logger.info(
+ 'SonarQube configuration is missing, skipping plugin-sonarqube-backend registration.',
+ );
+ }
+ },
+});
diff --git a/packages/portal-app/package.json b/packages/portal-app/package.json
index ca81a869b..0296db131 100644
--- a/packages/portal-app/package.json
+++ b/packages/portal-app/package.json
@@ -33,6 +33,8 @@
"dependencies": {
"@backstage-community/plugin-github-actions": "^0.20.0",
"@backstage-community/plugin-jenkins": "^0.28.0",
+ "@backstage-community/plugin-sonarqube": "^1.1.0",
+ "@backstage-community/plugin-sonarqube-react": "^1.1.0",
"@backstage/catalog-client": "^1.15.1",
"@backstage/catalog-model": "^1.9.0",
"@backstage/config": "^1.3.8",
diff --git a/packages/portal-app/src/apis.ts b/packages/portal-app/src/apis.ts
index bdd63f61e..edfa353d9 100644
--- a/packages/portal-app/src/apis.ts
+++ b/packages/portal-app/src/apis.ts
@@ -38,6 +38,8 @@ import {
perchAgentApiRef,
PerchAgentClient,
} from '@openchoreo/backstage-plugin-openchoreo-portal-assistant';
+import { SonarQubeClient } from '@backstage-community/plugin-sonarqube';
+import { sonarQubeApiRef } from '@backstage-community/plugin-sonarqube-react';
export const apis: AnyApiFactory[] = [
createApiFactory({
@@ -146,4 +148,13 @@ export const apis: AnyApiFactory[] = [
factory: ({ discoveryApi, fetchApi }) =>
new PerchAgentClient({ discoveryApi, fetchApi }),
}),
+ createApiFactory({
+ api: sonarQubeApiRef,
+ deps: {
+ discoveryApi: discoveryApiRef,
+ fetchApi: fetchApiRef,
+ },
+ factory: ({ discoveryApi, fetchApi }) =>
+ new SonarQubeClient({ discoveryApi, fetchApi }),
+ }),
];
diff --git a/packages/portal-app/src/components/catalog/EntityPage.tsx b/packages/portal-app/src/components/catalog/EntityPage.tsx
index ce254f19e..5edc2d11b 100644
--- a/packages/portal-app/src/components/catalog/EntityPage.tsx
+++ b/packages/portal-app/src/components/catalog/EntityPage.tsx
@@ -158,6 +158,8 @@ import { WorkflowsOrExternalCICard } from './WorkflowsOrExternalCICard';
import { EntityJenkinsContent } from '@backstage-community/plugin-jenkins';
import { EntityGithubActionsContent } from '@backstage-community/plugin-github-actions';
import { EntityGitlabContent } from '@immobiliarelabs/backstage-plugin-gitlab';
+import { EntitySonarQubeContentPage } from '@backstage-community/plugin-sonarqube';
+import { isSonarQubeAvailable } from '@backstage-community/plugin-sonarqube-react';
// Wires perch's per-row assistant button into the observability log
// tables via the plugin's render-prop slot. Lives here (not inside the
@@ -450,6 +452,15 @@ const ServiceEntityPage = () => {
>
+
+ {/* SonarQube code quality tab — only shown when annotation is present */}
+
+
+
);
};
@@ -573,6 +584,15 @@ const GenericComponentEntityPage = () => {
>
+
+ {/* SonarQube code quality tab — only shown when annotation is present */}
+
+
+
);
};
diff --git a/yarn.lock b/yarn.lock
index ade1497ca..f8c63d7fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1643,6 +1643,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.20.15":
+ version: 7.29.8
+ resolution: "@babel/parser@npm:7.29.8"
+ dependencies:
+ "@babel/types": "npm:^7.29.8"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10c0/acc890c5e6a6dd40863a47b50bac111d7185ee6fbbe163ebe11d5214854ca2adb901462ad4d718a65090ef84bd2230e9e8ab45a2e0caccc685f1f57ab0bb1e28
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-async-generators@npm:^7.8.4":
version: 7.8.4
resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4"
@@ -1889,6 +1900,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/types@npm:^7.29.8":
+ version: 7.29.8
+ resolution: "@babel/types@npm:7.29.8"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.29.7"
+ "@babel/helper-validator-identifier": "npm:^7.29.7"
+ checksum: 10c0/be7c279f0abf2a086c633e21b49c7ca80275d05283cc5a268b67a708c9914bd0c944f1422b3eb3cb37682a2af5d560abf520ccf9b01b53ecbfe6b71fbc3fdde6
+ languageName: node
+ linkType: hard
+
"@backstage-community/plugin-github-actions@npm:^0.20.0":
version: 0.20.0
resolution: "@backstage-community/plugin-github-actions@npm:0.20.0"
@@ -1977,6 +1998,68 @@ __metadata:
languageName: node
linkType: hard
+"@backstage-community/plugin-sonarqube-backend@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "@backstage-community/plugin-sonarqube-backend@npm:1.1.1"
+ dependencies:
+ "@backstage/backend-defaults": "npm:^0.16.0"
+ "@backstage/backend-plugin-api": "npm:^1.8.0"
+ "@backstage/catalog-model": "npm:^1.7.7"
+ "@backstage/config": "npm:^1.3.6"
+ "@backstage/errors": "npm:^1.2.7"
+ "@backstage/plugin-catalog-node": "npm:^2.1.0"
+ "@types/express": "npm:*"
+ express: "npm:^4.18.1"
+ express-promise-router: "npm:^4.1.0"
+ node-fetch: "npm:^2.6.7"
+ yn: "npm:^5.0.0"
+ checksum: 10c0/3bd74db23057ee9f61cc6122e1ad401bf8a06aed31fb9763888d8f35eb918ec6676d552335c1d8901da90d52943a6e63a0f6b72a8f032d9bce62518b3093f6db
+ languageName: node
+ linkType: hard
+
+"@backstage-community/plugin-sonarqube-react@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@backstage-community/plugin-sonarqube-react@npm:1.1.0"
+ dependencies:
+ "@backstage/catalog-model": "npm:^1.7.7"
+ "@backstage/core-plugin-api": "npm:^1.12.4"
+ peerDependencies:
+ 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
+ checksum: 10c0/343c01b7ea3e4d472fbc878f6be43be3e6e051b9fb00065fbc5b7858c7375ba015cb3bb6b3a35f9e84844a79bc4726cf9cdb569a6ae4f99c72788cd6e4b04ad0
+ languageName: node
+ linkType: hard
+
+"@backstage-community/plugin-sonarqube@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@backstage-community/plugin-sonarqube@npm:1.1.0"
+ dependencies:
+ "@backstage-community/plugin-sonarqube-react": "npm:^1.1.0"
+ "@backstage/catalog-model": "npm:^1.7.7"
+ "@backstage/core-compat-api": "npm:^0.5.9"
+ "@backstage/core-components": "npm:^0.18.8"
+ "@backstage/core-plugin-api": "npm:^1.12.4"
+ "@backstage/errors": "npm:^1.2.7"
+ "@backstage/frontend-app-api": "npm:^0.16.1"
+ "@backstage/frontend-plugin-api": "npm:^0.15.1"
+ "@backstage/plugin-catalog-react": "npm:^2.1.1"
+ "@material-ui/core": "npm:^4.12.2"
+ "@material-ui/icons": "npm:^4.9.1"
+ "@material-ui/styles": "npm:^4.10.0"
+ "@types/react": "npm:^16.13.1 || ^17.0.0 || ^18.0.0"
+ cross-fetch: "npm:^4.0.0"
+ luxon: "npm:^3.0.0"
+ rc-progress: "npm:4.0.0"
+ react-use: "npm:^17.2.4"
+ peerDependencies:
+ 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
+ checksum: 10c0/649e3ddfb1d4318b4288a5043ed53b7c931bcd101a666fb8451698065e0f95a0643614038ebddc41d23786d1c9ee32856d77cb878090f1c63e852f8d64e57f12
+ languageName: node
+ linkType: hard
+
"@backstage/app-defaults@npm:^1.7.8":
version: 1.7.8
resolution: "@backstage/app-defaults@npm:1.7.8"
@@ -2011,6 +2094,18 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/backend-app-api@npm:^1.6.0, @backstage/backend-app-api@npm:^1.7.2":
+ version: 1.7.2
+ resolution: "@backstage/backend-app-api@npm:1.7.2"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/connections": "npm:^0.2.0"
+ "@backstage/errors": "npm:^1.3.1"
+ checksum: 10c0/4e353210f963dc451dffff9bde3ebbddbff8b92d185c30d57d28b43d35e22d0cd517bb8951fa77b9cc2fd36b9ab0e7ef7523809b51dfcc729c0bc107d34d67b9
+ languageName: node
+ linkType: hard
+
"@backstage/backend-defaults@npm:^0.15.1":
version: 0.15.1
resolution: "@backstage/backend-defaults@npm:0.15.1"
@@ -2097,6 +2192,94 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/backend-defaults@npm:^0.16.0":
+ version: 0.16.0
+ resolution: "@backstage/backend-defaults@npm:0.16.0"
+ dependencies:
+ "@aws-sdk/abort-controller": "npm:^3.347.0"
+ "@aws-sdk/client-codecommit": "npm:^3.350.0"
+ "@aws-sdk/client-s3": "npm:^3.350.0"
+ "@aws-sdk/credential-providers": "npm:^3.350.0"
+ "@aws-sdk/types": "npm:^3.347.0"
+ "@azure/identity": "npm:^4.0.0"
+ "@azure/storage-blob": "npm:^12.5.0"
+ "@backstage/backend-app-api": "npm:^1.6.0"
+ "@backstage/backend-dev-utils": "npm:^0.1.7"
+ "@backstage/backend-plugin-api": "npm:^1.8.0"
+ "@backstage/cli-node": "npm:^0.3.0"
+ "@backstage/config": "npm:^1.3.6"
+ "@backstage/config-loader": "npm:^1.10.9"
+ "@backstage/errors": "npm:^1.2.7"
+ "@backstage/integration": "npm:^2.0.0"
+ "@backstage/integration-aws-node": "npm:^0.1.20"
+ "@backstage/plugin-auth-node": "npm:^0.6.14"
+ "@backstage/plugin-events-node": "npm:^0.4.20"
+ "@backstage/plugin-permission-common": "npm:^0.9.7"
+ "@backstage/plugin-permission-node": "npm:^0.10.11"
+ "@backstage/types": "npm:^1.2.2"
+ "@google-cloud/storage": "npm:^7.0.0"
+ "@keyv/memcache": "npm:^2.0.1"
+ "@keyv/redis": "npm:^4.0.1"
+ "@keyv/valkey": "npm:^1.0.1"
+ "@manypkg/get-packages": "npm:^1.1.3"
+ "@octokit/rest": "npm:^19.0.3"
+ "@opentelemetry/api": "npm:^1.9.0"
+ "@types/cors": "npm:^2.8.6"
+ "@types/express": "npm:^4.17.6"
+ archiver: "npm:^7.0.0"
+ base64-stream: "npm:^1.0.0"
+ compression: "npm:^1.7.4"
+ concat-stream: "npm:^2.0.0"
+ cookie: "npm:^0.7.0"
+ cors: "npm:^2.8.5"
+ cron: "npm:^3.0.0"
+ express: "npm:^4.22.0"
+ express-promise-router: "npm:^4.1.0"
+ express-rate-limit: "npm:^8.2.2"
+ fs-extra: "npm:^11.2.0"
+ git-url-parse: "npm:^15.0.0"
+ helmet: "npm:^6.0.0"
+ infinispan: "npm:^0.12.0"
+ is-glob: "npm:^4.0.3"
+ jose: "npm:^5.0.0"
+ keyv: "npm:^5.2.1"
+ knex: "npm:^3.0.0"
+ lodash: "npm:^4.17.21"
+ logform: "npm:^2.3.2"
+ luxon: "npm:^3.0.0"
+ minimatch: "npm:^10.2.1"
+ mysql2: "npm:^3.0.0"
+ node-fetch: "npm:^2.7.0"
+ node-forge: "npm:^1.3.2"
+ p-limit: "npm:^3.1.0"
+ path-to-regexp: "npm:^8.0.0"
+ pg: "npm:^8.11.3"
+ pg-connection-string: "npm:^2.3.0"
+ pg-format: "npm:^1.0.4"
+ rate-limit-redis: "npm:^4.2.0"
+ raw-body: "npm:^2.4.1"
+ selfsigned: "npm:^2.0.0"
+ tar: "npm:^7.5.6"
+ triple-beam: "npm:^1.4.1"
+ uuid: "npm:^11.0.0"
+ winston: "npm:^3.2.1"
+ winston-transport: "npm:^4.5.0"
+ yauzl: "npm:^3.2.1"
+ yn: "npm:^4.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@google-cloud/cloud-sql-connector": ^1.4.0
+ better-sqlite3: ^12.0.0
+ peerDependenciesMeta:
+ "@google-cloud/cloud-sql-connector":
+ optional: true
+ better-sqlite3:
+ optional: true
+ checksum: 10c0/2baa5887860fb0e7ae5f8ff9d450f737011e8673373ac384dbdf550d61511ac404d5d41264e01cc256f3bc2be3d478ba8b93413c0f9b0f6184adaf5d0c9bafb8
+ languageName: node
+ linkType: hard
+
"@backstage/backend-defaults@npm:^0.17.1":
version: 0.17.1
resolution: "@backstage/backend-defaults@npm:0.17.1"
@@ -2186,6 +2369,95 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/backend-defaults@npm:^0.17.5":
+ version: 0.17.6
+ resolution: "@backstage/backend-defaults@npm:0.17.6"
+ dependencies:
+ "@aws-sdk/abort-controller": "npm:^3.347.0"
+ "@aws-sdk/client-codecommit": "npm:^3.350.0"
+ "@aws-sdk/client-s3": "npm:^3.350.0"
+ "@aws-sdk/credential-providers": "npm:^3.350.0"
+ "@aws-sdk/rds-signer": "npm:^3.0.0"
+ "@aws-sdk/types": "npm:^3.347.0"
+ "@azure/identity": "npm:^4.0.0"
+ "@azure/storage-blob": "npm:^12.5.0"
+ "@backstage/backend-app-api": "npm:^1.7.2"
+ "@backstage/backend-dev-utils": "npm:^0.1.7"
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/cli-node": "npm:^0.3.4"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/config-loader": "npm:^1.11.1"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/integration": "npm:^2.0.3"
+ "@backstage/integration-aws-node": "npm:^0.2.0"
+ "@backstage/plugin-auth-node": "npm:^0.7.3"
+ "@backstage/plugin-events-node": "npm:^0.4.24"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@backstage/plugin-permission-node": "npm:^0.11.2"
+ "@backstage/types": "npm:^1.2.2"
+ "@google-cloud/storage": "npm:^7.0.0"
+ "@keyv/memcache": "npm:^2.0.1"
+ "@keyv/redis": "npm:^4.0.1"
+ "@keyv/valkey": "npm:^1.0.1"
+ "@manypkg/get-packages": "npm:^1.1.3"
+ "@octokit/rest": "npm:^19.0.3"
+ "@opentelemetry/api": "npm:^1.9.0"
+ "@types/cors": "npm:^2.8.6"
+ "@types/express": "npm:^4.17.6"
+ archiver: "npm:^7.0.0"
+ base64-stream: "npm:^1.0.0"
+ compression: "npm:^1.7.4"
+ concat-stream: "npm:^2.0.0"
+ cookie: "npm:^0.7.0"
+ cors: "npm:^2.8.5"
+ cron: "npm:^3.0.0"
+ express: "npm:^4.22.0"
+ express-promise-router: "npm:^4.1.0"
+ express-rate-limit: "npm:^8.2.2"
+ fs-extra: "npm:^11.2.0"
+ git-url-parse: "npm:^15.0.0"
+ helmet: "npm:^6.0.0"
+ infinispan: "npm:^0.13.0"
+ iovalkey: "npm:^0.3.3"
+ is-glob: "npm:^4.0.3"
+ jose: "npm:^5.0.0"
+ keyv: "npm:^5.2.1"
+ knex: "npm:^3.0.0"
+ lodash: "npm:^4.17.21"
+ logform: "npm:^2.3.2"
+ luxon: "npm:^3.0.0"
+ minimatch: "npm:^10.2.1"
+ mysql2: "npm:^3.0.0"
+ node-fetch: "npm:^2.7.0"
+ node-forge: "npm:^1.3.2"
+ p-limit: "npm:^3.1.0"
+ path-to-regexp: "npm:^8.0.0"
+ pg: "npm:^8.11.3"
+ pg-connection-string: "npm:^2.3.0"
+ pg-format: "npm:^1.0.4"
+ rate-limit-redis: "npm:^4.2.0"
+ raw-body: "npm:^2.4.1"
+ selfsigned: "npm:^2.0.0"
+ tar: "npm:^7.5.6"
+ triple-beam: "npm:^1.4.1"
+ winston: "npm:^3.2.1"
+ winston-transport: "npm:^4.5.0"
+ yauzl: "npm:^3.2.1"
+ yn: "npm:^4.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@google-cloud/cloud-sql-connector": ^1.4.0
+ better-sqlite3: ^12.0.0
+ peerDependenciesMeta:
+ "@google-cloud/cloud-sql-connector":
+ optional: true
+ better-sqlite3:
+ optional: true
+ checksum: 10c0/a9a2d68c086a7dd626bf928df887af87a689740fafbe3016739505e69d1a8b64d2d2cc219ddef5cdf7f536ec83c523679b06103454ec4c511340ccde8db3f447
+ languageName: node
+ linkType: hard
+
"@backstage/backend-dev-utils@npm:^0.1.6, @backstage/backend-dev-utils@npm:^0.1.7":
version: 0.1.7
resolution: "@backstage/backend-dev-utils@npm:0.1.7"
@@ -2239,6 +2511,27 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/backend-plugin-api@npm:^1.8.0, @backstage/backend-plugin-api@npm:^1.9.0, @backstage/backend-plugin-api@npm:^1.9.3":
+ version: 1.9.3
+ resolution: "@backstage/backend-plugin-api@npm:1.9.3"
+ dependencies:
+ "@backstage/cli-common": "npm:^0.3.0"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/plugin-auth-node": "npm:^0.7.3"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@backstage/plugin-permission-node": "npm:^0.11.2"
+ "@backstage/types": "npm:^1.2.2"
+ "@types/express": "npm:^4.17.6"
+ "@types/json-schema": "npm:^7.0.6"
+ "@types/luxon": "npm:^3.0.0"
+ knex: "npm:^3.0.0"
+ luxon: "npm:^3.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ checksum: 10c0/cf8547920e88bc94b812aae4b93a2d68dcf8e1cba0aa9065ca4530b795f6e89a9ec8e184a4e44ed342612ec2bb4fb25e195325a25b08edd1264b3e2de76208c2
+ languageName: node
+ linkType: hard
+
"@backstage/backend-test-utils@npm:^1.11.3":
version: 1.11.3
resolution: "@backstage/backend-test-utils@npm:1.11.3"
@@ -2283,6 +2576,50 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/backend-test-utils@npm:^1.11.5":
+ version: 1.11.5
+ resolution: "@backstage/backend-test-utils@npm:1.11.5"
+ dependencies:
+ "@backstage/backend-app-api": "npm:^1.7.2"
+ "@backstage/backend-defaults": "npm:^0.17.5"
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/plugin-auth-node": "npm:^0.7.3"
+ "@backstage/plugin-events-node": "npm:^0.4.24"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@backstage/types": "npm:^1.2.2"
+ "@keyv/memcache": "npm:^2.0.1"
+ "@keyv/redis": "npm:^4.0.1"
+ "@keyv/valkey": "npm:^1.0.1"
+ "@types/express": "npm:^4.17.6"
+ "@types/express-serve-static-core": "npm:^4.17.5"
+ "@types/keyv": "npm:^4.2.0"
+ "@types/qs": "npm:^6.9.6"
+ better-sqlite3: "npm:^12.0.0"
+ cookie: "npm:^0.7.0"
+ express: "npm:^4.22.0"
+ fs-extra: "npm:^11.0.0"
+ keyv: "npm:^5.2.1"
+ knex: "npm:^3.0.0"
+ lodash: "npm:^4.17.21"
+ mysql2: "npm:^3.0.0"
+ pg: "npm:^8.11.3"
+ pg-connection-string: "npm:^2.3.0"
+ testcontainers: "npm:^11.9.0"
+ text-extensions: "npm:^2.4.0"
+ yn: "npm:^4.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@types/jest": "*"
+ peerDependenciesMeta:
+ "@types/jest":
+ optional: true
+ checksum: 10c0/dc12f41c413cea72e18d33e33af97d3e889f64c3e0e766a46adba475636996431e730a93f7a16b6fcb7b10957cfd4224d0808d19bb081fbc01a4305a817c3c62
+ languageName: node
+ linkType: hard
+
"@backstage/catalog-client@npm:^1.12.1, @backstage/catalog-client@npm:^1.15.1":
version: 1.15.1
resolution: "@backstage/catalog-client@npm:1.15.1"
@@ -2297,7 +2634,22 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/catalog-model@npm:^1.7.5, @backstage/catalog-model@npm:^1.7.6, @backstage/catalog-model@npm:^1.9.0":
+"@backstage/catalog-client@npm:^1.14.0, @backstage/catalog-client@npm:^1.15.0, @backstage/catalog-client@npm:^1.16.1":
+ version: 1.16.1
+ resolution: "@backstage/catalog-client@npm:1.16.1"
+ dependencies:
+ "@backstage/catalog-model": "npm:^1.9.0"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/plugin-catalog-common": "npm:^1.1.10"
+ cross-fetch: "npm:^4.0.0"
+ lodash: "npm:^4.17.21"
+ uri-template: "npm:^2.0.0"
+ checksum: 10c0/4b00fbada78234dd7a17863cef6134193b6d0396888cbcbfcda397d7321c594826f4f092d6bd6ac725e32a91ac3baf44a53a3bab5645ac7ef7c7ee803388f64f
+ languageName: node
+ linkType: hard
+
+"@backstage/catalog-model@npm:^1.7.5, @backstage/catalog-model@npm:^1.7.6, @backstage/catalog-model@npm:^1.7.7, @backstage/catalog-model@npm:^1.8.0, @backstage/catalog-model@npm:^1.9.0":
version: 1.9.0
resolution: "@backstage/catalog-model@npm:1.9.0"
dependencies:
@@ -2347,6 +2699,16 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/cli-common@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "@backstage/cli-common@npm:0.3.0"
+ dependencies:
+ "@backstage/errors": "npm:^1.3.1"
+ cross-spawn: "npm:^7.0.3"
+ checksum: 10c0/c6ae3bf3697bf463e0043150c0e56e4075ff9fd516e786593845c02de47ee72c4dad64cc1cfd9f54685b11ba9ed075ffa11eb764cc65da58ca3367da18a5dca1
+ languageName: node
+ linkType: hard
+
"@backstage/cli-defaults@npm:^0.1.2":
version: 0.1.2
resolution: "@backstage/cli-defaults@npm:0.1.2"
@@ -2701,6 +3063,37 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/cli-node@npm:^0.3.0, @backstage/cli-node@npm:^0.3.4":
+ version: 0.3.4
+ resolution: "@backstage/cli-node@npm:0.3.4"
+ dependencies:
+ "@backstage/cli-common": "npm:^0.3.0"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ "@manypkg/get-packages": "npm:^1.1.3"
+ "@yarnpkg/lockfile": "npm:^1.1.0"
+ "@yarnpkg/parsers": "npm:^3.0.0"
+ chalk: "npm:^4.0.0"
+ cleye: "npm:^2.6.0"
+ fs-extra: "npm:^11.2.0"
+ keytar: "npm:^7.9.0"
+ pirates: "npm:^4.0.6"
+ proper-lockfile: "npm:^4.1.2"
+ semver: "npm:^7.5.3"
+ yaml: "npm:^2.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ peerDependencies:
+ "@swc/core": ^1.15.6
+ dependenciesMeta:
+ keytar:
+ optional: true
+ peerDependenciesMeta:
+ "@swc/core":
+ optional: true
+ checksum: 10c0/373e2d3acdc1e4274fe70774e671157a30e0f1c3a5d7a1fddf44488d1d2559abeb2fb3d56eb8e2b5aef80e6145d4aed829d6515318238a02e73c0d5a0bd81331
+ languageName: node
+ linkType: hard
+
"@backstage/cli-node@npm:^0.3.2":
version: 0.3.2
resolution: "@backstage/cli-node@npm:0.3.2"
@@ -2978,7 +3371,30 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/config@npm:^1.3.3, @backstage/config@npm:^1.3.6, @backstage/config@npm:^1.3.8":
+"@backstage/config-loader@npm:^1.10.9, @backstage/config-loader@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "@backstage/config-loader@npm:1.11.1"
+ dependencies:
+ "@backstage/cli-common": "npm:^0.3.0"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ "@types/json-schema": "npm:^7.0.6"
+ ajv: "npm:^8.10.0"
+ chokidar: "npm:^3.5.2"
+ fs-extra: "npm:^11.2.0"
+ json-schema-merge-allof: "npm:^0.8.1"
+ json-schema-traverse: "npm:^1.0.0"
+ lodash: "npm:^4.17.21"
+ minimist: "npm:^1.2.5"
+ ts-json-schema-generator: "npm:^2.9.0"
+ typescript: "npm:^5.9.3"
+ yaml: "npm:^2.0.0"
+ checksum: 10c0/049ce1dd070623ea9b217022daf1ec1d31dd6222c1397247f48ee736e69f6bf37f8960dd76398eda2a69700ffd4ca4ed76fdfecc916860fd627dbfcdb35c3713
+ languageName: node
+ linkType: hard
+
+"@backstage/config@npm:^1.3.3, @backstage/config@npm:^1.3.6, @backstage/config@npm:^1.3.7, @backstage/config@npm:^1.3.8":
version: 1.3.8
resolution: "@backstage/config@npm:1.3.8"
dependencies:
@@ -2989,6 +3405,19 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/connections@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "@backstage/connections@npm:0.2.0"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ checksum: 10c0/ac3188dc2dfd5c305d9588892ebfe25b841ce4685e05e1d3949a6fa15d7432813b4549335b90c43a759d7b3466f607165c0b3209d95b6f56dd0055e0e8a18ce6
+ languageName: node
+ linkType: hard
+
"@backstage/core-app-api@npm:^1.19.4, @backstage/core-app-api@npm:^1.20.1":
version: 1.20.1
resolution: "@backstage/core-app-api@npm:1.20.1"
@@ -3018,6 +3447,60 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/core-app-api@npm:^1.20.3":
+ version: 1.20.3
+ resolution: "@backstage/core-app-api@npm:1.20.3"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/ui": "npm:^0.17.0"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@types/prop-types": "npm:^15.7.3"
+ history: "npm:^5.0.0"
+ i18next: "npm:^22.4.15"
+ lodash: "npm:^4.17.21"
+ prop-types: "npm:^15.7.2"
+ react-use: "npm:^17.2.4"
+ zen-observable: "npm:^0.10.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/505b3dac1d91c4f5ae0e63eca9bf619e2f1e9559833036dd190fa81fab9db2908064aa89c0e9ecf15c452a558f48d23c41951a0403b5c3abb44cf292bd6202e9
+ languageName: node
+ linkType: hard
+
+"@backstage/core-compat-api@npm:^0.5.10, @backstage/core-compat-api@npm:^0.5.13, @backstage/core-compat-api@npm:^0.5.9":
+ version: 0.5.13
+ resolution: "@backstage/core-compat-api@npm:0.5.13"
+ dependencies:
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/plugin-app-react": "npm:^0.2.5"
+ "@backstage/plugin-catalog-react": "npm:^3.2.0"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ lodash: "npm:^4.17.21"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/63ad4d56aea675e6764488069922d091652e411e64fcf98618b00a71b32a300896312d6b15a22b5b97d8e253741c94bbcd0babc9f44b7a9f2bc6a14d74202b69
+ languageName: node
+ linkType: hard
+
"@backstage/core-compat-api@npm:^0.5.11, @backstage/core-compat-api@npm:^0.5.7":
version: 0.5.11
resolution: "@backstage/core-compat-api@npm:0.5.11"
@@ -3155,6 +3638,65 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/core-components@npm:^0.18.12, @backstage/core-components@npm:^0.18.8, @backstage/core-components@npm:^0.18.9":
+ version: 0.18.12
+ resolution: "@backstage/core-components@npm:0.18.12"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/theme": "npm:^0.7.3"
+ "@backstage/ui": "npm:^0.17.0"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@dagrejs/dagre": "npm:^1.1.4"
+ "@date-io/core": "npm:^1.3.13"
+ "@material-table/core": "npm:^3.1.0"
+ "@material-ui/core": "npm:^4.12.2"
+ "@material-ui/icons": "npm:^4.9.1"
+ "@material-ui/lab": "npm:4.0.0-alpha.61"
+ "@react-hookz/web": "npm:^24.0.0"
+ "@testing-library/react": "npm:^16.0.0"
+ "@types/react-sparklines": "npm:^1.7.0"
+ ansi-regex: "npm:^6.0.1"
+ classnames: "npm:^2.2.6"
+ csstype: "npm:^3.0.2"
+ d3-selection: "npm:^3.0.0"
+ d3-shape: "npm:^3.0.0"
+ d3-zoom: "npm:^3.0.0"
+ js-yaml: "npm:^4.2.0"
+ linkify-react: "npm:4.3.2"
+ linkifyjs: "npm:4.3.2"
+ lodash: "npm:^4.17.21"
+ parse5: "npm:^6.0.0"
+ qs: "npm:^6.15.2"
+ rc-progress: "npm:3.5.1"
+ react-full-screen: "npm:^1.1.1"
+ react-helmet: "npm:6.1.0"
+ react-hook-form: "npm:^7.12.2"
+ react-idle-timer: "npm:5.7.2"
+ react-markdown: "npm:^8.0.0"
+ react-sparklines: "npm:^1.7.0"
+ react-syntax-highlighter: "npm:^15.4.5"
+ react-use: "npm:^17.3.2"
+ react-virtualized-auto-sizer: "npm:^1.0.11"
+ react-window: "npm:^1.8.6"
+ rehype-raw: "npm:^6.0.0"
+ rehype-sanitize: "npm:^5.0.0"
+ remark-gfm: "npm:^3.0.1"
+ zen-observable: "npm:^0.10.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/fa94668cf0f8facac7512dc8b2fff70c3dceefcfee569ae2983aa67e72452b35120674f1123a91a965781ae27bd9fa3bdf8af22d88dc6c15cc8220013e500627
+ languageName: node
+ linkType: hard
+
"@backstage/core-plugin-api@npm:^1.10.9, @backstage/core-plugin-api@npm:^1.12.1, @backstage/core-plugin-api@npm:^1.12.2, @backstage/core-plugin-api@npm:^1.12.6":
version: 1.12.6
resolution: "@backstage/core-plugin-api@npm:1.12.6"
@@ -3178,6 +3720,29 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/core-plugin-api@npm:^1.12.4, @backstage/core-plugin-api@npm:^1.12.5, @backstage/core-plugin-api@npm:^1.12.8":
+ version: 1.12.8
+ resolution: "@backstage/core-plugin-api@npm:1.12.8"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ history: "npm:^5.0.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/87d99483edca1969a6d56f91b9dccdd1ec544f67f566c0abf15ecfc67984b0322c18128defa841de8fdaaab89be931e8d38a70b14359868056ddd458cbd283bd
+ languageName: node
+ linkType: hard
+
"@backstage/dev-utils@npm:^1.1.23":
version: 1.1.23
resolution: "@backstage/dev-utils@npm:1.1.23"
@@ -3221,7 +3786,7 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/errors@npm:^1.2.7, @backstage/errors@npm:^1.3.1":
+"@backstage/errors@npm:^1.2.7, @backstage/errors@npm:^1.3.0, @backstage/errors@npm:^1.3.1":
version: 1.3.1
resolution: "@backstage/errors@npm:1.3.1"
dependencies:
@@ -3251,6 +3816,19 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/filter-predicates@npm:^0.1.1, @backstage/filter-predicates@npm:^0.1.2, @backstage/filter-predicates@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "@backstage/filter-predicates@npm:0.1.4"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-validation-error: "npm:^5.0.0"
+ checksum: 10c0/0e54760800797c45df47f58f0c1138cd2667939f0d1a4b83c63466fed82b293ffc144751bf98684b2e61edcc111c1cb34ebf607f19befd361e9b8f061f04d1cc
+ languageName: node
+ linkType: hard
+
"@backstage/filter-predicates@npm:^0.1.3":
version: 0.1.3
resolution: "@backstage/filter-predicates@npm:0.1.3"
@@ -3290,6 +3868,33 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/frontend-app-api@npm:^0.16.1, @backstage/frontend-app-api@npm:^0.16.6":
+ version: 0.16.6
+ resolution: "@backstage/frontend-app-api@npm:0.16.6"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-app-api": "npm:^1.20.3"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/frontend-defaults": "npm:^0.5.4"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ lodash: "npm:^4.17.21"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/7474488213a3045d4a6166cb85973ce92dbedd930d93428775bf7171064f485f69fd224876d4a08228e79fa80626e1767f31fd3563afbd919a880cb210cb4cfe
+ languageName: node
+ linkType: hard
+
"@backstage/frontend-app-api@npm:^0.16.3":
version: 0.16.3
resolution: "@backstage/frontend-app-api@npm:0.16.3"
@@ -3363,6 +3968,29 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/frontend-defaults@npm:^0.5.4":
+ version: 0.5.4
+ resolution: "@backstage/frontend-defaults@npm:0.5.4"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-components": "npm:^0.18.12"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/frontend-app-api": "npm:^0.16.6"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/plugin-app": "npm:^0.5.1"
+ "@react-hookz/web": "npm:^24.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/851f014b0c89c41232d4bc4cb527afce1cd3b359c88809b9bdeb9a225a4f78d7ea81da2ecdb1039aedeb9d9980b8d55358d7c349d6b29d8ba700c3d0d0aa2df9
+ languageName: node
+ linkType: hard
+
"@backstage/frontend-plugin-api@npm:^0.13.3, @backstage/frontend-plugin-api@npm:^0.13.4":
version: 0.13.4
resolution: "@backstage/frontend-plugin-api@npm:0.13.4"
@@ -3384,6 +4012,51 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/frontend-plugin-api@npm:^0.15.1":
+ version: 0.15.1
+ resolution: "@backstage/frontend-plugin-api@npm:0.15.1"
+ dependencies:
+ "@backstage/errors": "npm:^1.2.7"
+ "@backstage/filter-predicates": "npm:^0.1.1"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/8064e0845849f7f27af62ff30007bc08a89fc052330e46138735669280e962f2643485a5e2e38dcec16d0ad8a93c150d5fc0b94b9e045106cba11c23bff365dc
+ languageName: node
+ linkType: hard
+
+"@backstage/frontend-plugin-api@npm:^0.16.2":
+ version: 0.16.2
+ resolution: "@backstage/frontend-plugin-api@npm:0.16.2"
+ dependencies:
+ "@backstage/errors": "npm:^1.3.0"
+ "@backstage/filter-predicates": "npm:^0.1.2"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@standard-schema/spec": "npm:^1.1.0"
+ zod: "npm:^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/7308d6417d922f285446cf8f59d98f807fa69bfcfe22e6db7be0cf8640b67bbecad4520c009bce8a3e21dd29f938e8c154b51472e56918dac06bae9a0dccaeb0
+ languageName: node
+ linkType: hard
+
"@backstage/frontend-plugin-api@npm:^0.17.0":
version: 0.17.0
resolution: "@backstage/frontend-plugin-api@npm:0.17.0"
@@ -3407,6 +4080,30 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/frontend-plugin-api@npm:^0.17.3":
+ version: 0.17.3
+ resolution: "@backstage/frontend-plugin-api@npm:0.17.3"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@standard-schema/spec": "npm:^1.1.0"
+ zod: "npm:^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/d321dd4e37d655a2b1e5a4b50aa280d5d21e9b96dc674505bce2b35820c33e04926f89a9335c3f1ea658e4321d6480efb7ce75eb2729fbeeb07af40d426cd7be
+ languageName: node
+ linkType: hard
+
"@backstage/frontend-test-utils@npm:^0.4.5":
version: 0.4.5
resolution: "@backstage/frontend-test-utils@npm:0.4.5"
@@ -3484,6 +4181,21 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/integration-aws-node@npm:^0.1.20":
+ version: 0.1.21
+ resolution: "@backstage/integration-aws-node@npm:0.1.21"
+ dependencies:
+ "@aws-sdk/client-sts": "npm:^3.350.0"
+ "@aws-sdk/credential-provider-node": "npm:^3.350.0"
+ "@aws-sdk/credential-providers": "npm:^3.350.0"
+ "@aws-sdk/types": "npm:^3.347.0"
+ "@aws-sdk/util-arn-parser": "npm:^3.310.0"
+ "@backstage/config": "npm:^1.3.7"
+ "@backstage/errors": "npm:^1.3.0"
+ checksum: 10c0/817e32110f39fa61020bec48c89087af11b0d9696fd304b8fac375e4d773541128ce46e7595e0ef41a529ea27eb377d84c590387683964a55fbf4758f8a24112
+ languageName: node
+ linkType: hard
+
"@backstage/integration-aws-node@npm:^0.2.0":
version: 0.2.0
resolution: "@backstage/integration-aws-node@npm:0.2.0"
@@ -3520,6 +4232,27 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/integration-react@npm:^1.2.17, @backstage/integration-react@npm:^1.2.20":
+ version: 1.2.20
+ resolution: "@backstage/integration-react@npm:1.2.20"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/integration": "npm:^2.0.3"
+ "@material-ui/core": "npm:^4.12.2"
+ "@material-ui/icons": "npm:^4.9.1"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/fe94dae7691c206ba325207fce9849d13142783583af62a661bba2718aff3dc4c5781837fce31cbf948bfd255c452c14886b76aa80af5a8bea32f7e9ee985991
+ languageName: node
+ linkType: hard
+
"@backstage/integration@npm:^1.17.1, @backstage/integration@npm:^1.19.2":
version: 1.19.2
resolution: "@backstage/integration@npm:1.19.2"
@@ -3556,6 +4289,25 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/integration@npm:^2.0.0, @backstage/integration@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@backstage/integration@npm:2.0.3"
+ dependencies:
+ "@azure/identity": "npm:^4.0.0"
+ "@azure/storage-blob": "npm:^12.5.0"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@octokit/auth-app": "npm:^4.0.0"
+ "@octokit/rest": "npm:^19.0.3"
+ cross-fetch: "npm:^4.0.0"
+ git-url-parse: "npm:^15.0.0"
+ lodash: "npm:^4.17.21"
+ luxon: "npm:^3.0.0"
+ p-throttle: "npm:^4.1.1"
+ checksum: 10c0/d56a5be601813b541dbb1899624a4379944ff3c44e3fca47ddd00ca0cf785fc3b4f1beead2be55af8dfa8adc03fb8f804f80784e66d7a85d615c4830a0dbbdb6
+ languageName: node
+ linkType: hard
+
"@backstage/integration@npm:^2.0.2":
version: 2.0.2
resolution: "@backstage/integration@npm:2.0.2"
@@ -3709,6 +4461,25 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-app-react@npm:^0.2.5":
+ version: 0.2.5
+ resolution: "@backstage/plugin-app-react@npm:0.2.5"
+ dependencies:
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@material-ui/core": "npm:^4.9.13"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/9f570ec91eb2799e60193e9734a7d5e7981fb3314b7e297cb60df9f2734cfdc8e0c42296a7feef184c23ea4a38e9826eeba4cd6828dfba6bf08d2031f39853e9
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-app@npm:^0.3.5":
version: 0.3.5
resolution: "@backstage/plugin-app@npm:0.3.5"
@@ -3778,6 +4549,44 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-app@npm:^0.5.1":
+ version: 0.5.1
+ resolution: "@backstage/plugin-app@npm:0.5.1"
+ dependencies:
+ "@backstage/core-components": "npm:^0.18.12"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/integration-react": "npm:^1.2.20"
+ "@backstage/plugin-app-react": "npm:^0.2.5"
+ "@backstage/plugin-permission-react": "npm:^0.5.3"
+ "@backstage/theme": "npm:^0.7.3"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/ui": "npm:^0.17.0"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@material-ui/core": "npm:^4.9.13"
+ "@material-ui/icons": "npm:^4.9.1"
+ "@material-ui/lab": "npm:^4.0.0-alpha.61"
+ "@react-hookz/web": "npm:^24.0.0"
+ "@remixicon/react": "npm:>=4.6.0 <4.9.0"
+ motion: "npm:^12.0.0"
+ react-aria: "npm:~3.48.0"
+ react-stately: "npm:~3.46.0"
+ react-use: "npm:^17.2.4"
+ zen-observable: "npm:^0.10.0"
+ zod: "npm:^4.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/f588bedef9391cf0d4fb3885f5e191e926b1f8c6730519e8aebdfa5469f0ee39ec471ed8b73f136a667af9a55fc7170205e78a2e7d57fd064459c360dbad3164
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-auth-backend-module-github-provider@npm:^0.5.3":
version: 0.5.3
resolution: "@backstage/plugin-auth-backend-module-github-provider@npm:0.5.3"
@@ -3874,6 +4683,52 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-auth-node@npm:^0.6.14":
+ version: 0.6.14
+ resolution: "@backstage/plugin-auth-node@npm:0.6.14"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.8.0"
+ "@backstage/catalog-client": "npm:^1.14.0"
+ "@backstage/catalog-model": "npm:^1.7.7"
+ "@backstage/config": "npm:^1.3.6"
+ "@backstage/errors": "npm:^1.2.7"
+ "@backstage/types": "npm:^1.2.2"
+ "@types/express": "npm:^4.17.6"
+ "@types/passport": "npm:^1.0.3"
+ express: "npm:^4.22.0"
+ jose: "npm:^5.0.0"
+ lodash: "npm:^4.17.21"
+ passport: "npm:^0.7.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ zod-validation-error: "npm:^4.0.2"
+ checksum: 10c0/c78a40c7057e9819cd4303b6aca111a1b50b40c60e903c259b1ef346819650e91ffae5140388c1eece2ebbf8f9c0993143d2b4c61948e9ae4dba9fe91497daa2
+ languageName: node
+ linkType: hard
+
+"@backstage/plugin-auth-node@npm:^0.7.0, @backstage/plugin-auth-node@npm:^0.7.3":
+ version: 0.7.3
+ resolution: "@backstage/plugin-auth-node@npm:0.7.3"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/catalog-client": "npm:^1.16.1"
+ "@backstage/catalog-model": "npm:^1.9.0"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ "@types/express": "npm:^4.17.6"
+ "@types/passport": "npm:^1.0.3"
+ express: "npm:^4.22.0"
+ jose: "npm:^5.0.0"
+ lodash: "npm:^4.17.21"
+ passport: "npm:^0.7.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ zod-validation-error: "npm:^5.0.0"
+ checksum: 10c0/faf274cc6d13193ef8aa6daa8dba33219ee8661029e603c6eb8e80f3ed7a35860a7b5603b2667c61b9c2df976a1ede836467ee3a94be08b4b31cb910fea10f90
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-auth-node@npm:^0.7.1":
version: 0.7.1
resolution: "@backstage/plugin-auth-node@npm:0.7.1"
@@ -3984,7 +4839,7 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/plugin-catalog-common@npm:^1.1.10, @backstage/plugin-catalog-common@npm:^1.1.7":
+"@backstage/plugin-catalog-common@npm:^1.1.10, @backstage/plugin-catalog-common@npm:^1.1.7, @backstage/plugin-catalog-common@npm:^1.1.9":
version: 1.1.10
resolution: "@backstage/plugin-catalog-common@npm:1.1.10"
dependencies:
@@ -4085,6 +4940,30 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-catalog-node@npm:^2.1.0":
+ version: 2.2.3
+ resolution: "@backstage/plugin-catalog-node@npm:2.2.3"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/catalog-client": "npm:^1.16.1"
+ "@backstage/catalog-model": "npm:^1.9.0"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/plugin-catalog-common": "npm:^1.1.10"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@backstage/plugin-permission-node": "npm:^0.11.2"
+ "@backstage/types": "npm:^1.2.2"
+ "@opentelemetry/api": "npm:^1.9.0"
+ lodash: "npm:^4.17.21"
+ yaml: "npm:^2.0.0"
+ peerDependencies:
+ "@backstage/backend-test-utils": ^1.11.5
+ peerDependenciesMeta:
+ "@backstage/backend-test-utils":
+ optional: true
+ checksum: 10c0/57291ea0acbe791af9a3a88cc5461af481a29f7100f55f98fd970e89515df10f2df705484e6dce556dd083d298cdb843a724856043a42b064d272258d95135aa
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-catalog-node@npm:^2.2.1":
version: 2.2.1
resolution: "@backstage/plugin-catalog-node@npm:2.2.1"
@@ -4150,6 +5029,53 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-catalog-react@npm:^2.1.1":
+ version: 2.1.4
+ resolution: "@backstage/plugin-catalog-react@npm:2.1.4"
+ dependencies:
+ "@backstage/catalog-client": "npm:^1.15.0"
+ "@backstage/catalog-model": "npm:^1.8.0"
+ "@backstage/core-compat-api": "npm:^0.5.10"
+ "@backstage/core-components": "npm:^0.18.9"
+ "@backstage/core-plugin-api": "npm:^1.12.5"
+ "@backstage/errors": "npm:^1.3.0"
+ "@backstage/filter-predicates": "npm:^0.1.2"
+ "@backstage/frontend-plugin-api": "npm:^0.16.2"
+ "@backstage/integration-react": "npm:^1.2.17"
+ "@backstage/plugin-catalog-common": "npm:^1.1.9"
+ "@backstage/plugin-permission-common": "npm:^0.9.8"
+ "@backstage/plugin-permission-react": "npm:^0.5.0"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/ui": "npm:^0.14.2"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@material-ui/core": "npm:^4.12.2"
+ "@material-ui/icons": "npm:^4.9.1"
+ "@material-ui/lab": "npm:4.0.0-alpha.61"
+ "@react-hookz/web": "npm:^24.0.0"
+ "@remixicon/react": "npm:^4.6.0"
+ classnames: "npm:^2.2.6"
+ lodash: "npm:^4.17.21"
+ material-ui-popup-state: "npm:^5.3.6"
+ qs: "npm:^6.9.4"
+ react-use: "npm:^17.2.4"
+ yaml: "npm:^2.0.0"
+ zen-observable: "npm:^0.10.0"
+ zod: "npm:^4.0.0"
+ peerDependencies:
+ "@backstage/frontend-test-utils": ^0.5.2
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@backstage/frontend-test-utils":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 10c0/581d670a099835254d12ff224db6c67e7b986e227b975ced5cb1f2df349011102b85434fc51d2e49a50c513613e3feab8e99a00224c852440cb3bfbbebbb2ca4
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-catalog-react@npm:^3.0.0":
version: 3.0.0
resolution: "@backstage/plugin-catalog-react@npm:3.0.0"
@@ -4196,6 +5122,52 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-catalog-react@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "@backstage/plugin-catalog-react@npm:3.2.0"
+ dependencies:
+ "@backstage/catalog-client": "npm:^1.16.1"
+ "@backstage/catalog-model": "npm:^1.9.0"
+ "@backstage/core-compat-api": "npm:^0.5.13"
+ "@backstage/core-components": "npm:^0.18.12"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/filter-predicates": "npm:^0.1.4"
+ "@backstage/frontend-plugin-api": "npm:^0.17.3"
+ "@backstage/integration-react": "npm:^1.2.20"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@backstage/plugin-permission-react": "npm:^0.5.3"
+ "@backstage/types": "npm:^1.2.2"
+ "@backstage/ui": "npm:^0.17.0"
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@material-ui/core": "npm:^4.12.2"
+ "@material-ui/icons": "npm:^4.9.1"
+ "@material-ui/lab": "npm:4.0.0-alpha.61"
+ "@react-hookz/web": "npm:^24.0.0"
+ "@remixicon/react": "npm:>=4.6.0 <4.9.0"
+ classnames: "npm:^2.2.6"
+ lodash: "npm:^4.17.21"
+ material-ui-popup-state: "npm:^5.3.6"
+ qs: "npm:^6.15.2"
+ react-use: "npm:^17.2.4"
+ yaml: "npm:^2.0.0"
+ zen-observable: "npm:^0.10.0"
+ zod: "npm:^4.0.0"
+ peerDependencies:
+ "@backstage/frontend-test-utils": ^0.6.2
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@backstage/frontend-test-utils":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 10c0/dee0b80998d0ab98c073e1dd688c6c4398e59f5a247402096a3d9b02c71e0f332f223203c530518ebc9e15347954c963f8e869ab03b7c37a4fda4e2ddbfc4244
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-catalog@npm:^2.0.5":
version: 2.0.5
resolution: "@backstage/plugin-catalog@npm:2.0.5"
@@ -4279,6 +5251,23 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-events-node@npm:^0.4.20, @backstage/plugin-events-node@npm:^0.4.24":
+ version: 0.4.24
+ resolution: "@backstage/plugin-events-node@npm:0.4.24"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/types": "npm:^1.2.2"
+ "@types/content-type": "npm:^1.1.8"
+ "@types/express": "npm:^4.17.6"
+ content-type: "npm:^1.0.5"
+ cross-fetch: "npm:^4.0.0"
+ express: "npm:^4.22.0"
+ uri-template: "npm:^2.0.0"
+ checksum: 10c0/2a115f81c5b6ddad01a1aeaa0bcd5fe331f07490ec2f9658dbb2b61a4472f5a7039d7af18cf3219c5aa84c895dae91679d3c1bc6f200a506cadcc02fe1c17b9b
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-home-react@npm:^0.1.38":
version: 0.1.38
resolution: "@backstage/plugin-home-react@npm:0.1.38"
@@ -4521,7 +5510,7 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/plugin-permission-common@npm:^0.9.3, @backstage/plugin-permission-common@npm:^0.9.5, @backstage/plugin-permission-common@npm:^0.9.9":
+"@backstage/plugin-permission-common@npm:^0.9.3, @backstage/plugin-permission-common@npm:^0.9.5, @backstage/plugin-permission-common@npm:^0.9.7, @backstage/plugin-permission-common@npm:^0.9.8, @backstage/plugin-permission-common@npm:^0.9.9":
version: 0.9.9
resolution: "@backstage/plugin-permission-common@npm:0.9.9"
dependencies:
@@ -4535,6 +5524,24 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-permission-node@npm:^0.10.11":
+ version: 0.10.12
+ resolution: "@backstage/plugin-permission-node@npm:0.10.12"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.0"
+ "@backstage/config": "npm:^1.3.7"
+ "@backstage/errors": "npm:^1.3.0"
+ "@backstage/plugin-auth-node": "npm:^0.7.0"
+ "@backstage/plugin-permission-common": "npm:^0.9.8"
+ "@types/express": "npm:^4.17.6"
+ express: "npm:^4.22.0"
+ express-promise-router: "npm:^4.1.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ checksum: 10c0/5ce96d2c168586b5c9ae70e1df120d8829315d07e978029dc3ba8f5aff3548702abf5e7cb75504747ce2bcf63405dd764a69cc81dad065cad5a74985ad3df139
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-permission-node@npm:^0.10.7, @backstage/plugin-permission-node@npm:^0.10.9":
version: 0.10.9
resolution: "@backstage/plugin-permission-node@npm:0.10.9"
@@ -4570,6 +5577,23 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-permission-node@npm:^0.11.2":
+ version: 0.11.2
+ resolution: "@backstage/plugin-permission-node@npm:0.11.2"
+ dependencies:
+ "@backstage/backend-plugin-api": "npm:^1.9.3"
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/errors": "npm:^1.3.1"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ "@types/express": "npm:^4.17.6"
+ express: "npm:^4.22.0"
+ express-promise-router: "npm:^4.1.0"
+ zod: "npm:^3.25.76 || ^4.0.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ checksum: 10c0/70ac2494ff39fd55dfb82dad8f7be6fab91b0b21fdba3e978b2108b63cf4848f89f7bd38578629d71ddd072af7b3c4ad0c1d8916e20e4bdce88e8201c7e97d3d
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-permission-react@npm:^0.4.39":
version: 0.4.39
resolution: "@backstage/plugin-permission-react@npm:0.4.39"
@@ -4590,6 +5614,26 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/plugin-permission-react@npm:^0.5.0, @backstage/plugin-permission-react@npm:^0.5.3":
+ version: 0.5.3
+ resolution: "@backstage/plugin-permission-react@npm:0.5.3"
+ dependencies:
+ "@backstage/config": "npm:^1.3.8"
+ "@backstage/core-plugin-api": "npm:^1.12.8"
+ "@backstage/plugin-permission-common": "npm:^0.9.9"
+ dataloader: "npm:^2.0.0"
+ swr: "npm:^2.0.0"
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/2cc5c076fdc7bf28aee8dd68b8073b2f1439a9d8f73b8fb486517f94d84493e4ab36ac3bd4ca92b235d4f41a4849757f288c253488c45821d2c052ef815a32e4
+ languageName: node
+ linkType: hard
+
"@backstage/plugin-permission-react@npm:^0.5.1":
version: 0.5.1
resolution: "@backstage/plugin-permission-react@npm:0.5.1"
@@ -5405,6 +6449,30 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/ui@npm:^0.14.2":
+ version: 0.14.3
+ resolution: "@backstage/ui@npm:0.14.3"
+ dependencies:
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@remixicon/react": "npm:^4.6.0"
+ "@tanstack/react-table": "npm:^8.21.3"
+ clsx: "npm:^2.1.1"
+ react-aria: "npm:~3.48.0"
+ react-aria-components: "npm:~1.17.0"
+ react-stately: "npm:~3.46.0"
+ use-sync-external-store: "npm:^1.4.0"
+ peerDependencies:
+ "@types/react": ^18.0.0
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/1b1854db882f94d605ee270160cb95b72e8e8328b2fcc638d03590a27f3e4579da04272059168bbf152baf3bdf7b91e8d1ed55659bd80bde582fa5d8f20e7c72
+ languageName: node
+ linkType: hard
+
"@backstage/ui@npm:^0.15.0":
version: 0.15.0
resolution: "@backstage/ui@npm:0.15.0"
@@ -5432,6 +6500,33 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/ui@npm:^0.17.0":
+ version: 0.17.0
+ resolution: "@backstage/ui@npm:0.17.0"
+ dependencies:
+ "@backstage/version-bridge": "npm:^1.0.12"
+ "@braintree/sanitize-url": "npm:^7.1.2"
+ "@internationalized/date": "npm:^3.12.0"
+ "@remixicon/react": "npm:>=4.6.0 <4.9.0"
+ "@tanstack/react-table": "npm:^8.21.3"
+ clsx: "npm:^2.1.1"
+ marked: "npm:^15.0.12"
+ react-aria: "npm:~3.48.0"
+ react-aria-components: "npm:~1.17.0"
+ react-stately: "npm:~3.46.0"
+ use-sync-external-store: "npm:^1.4.0"
+ peerDependencies:
+ "@types/react": ^18.0.0
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ react-router-dom: ^6.30.2
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/0e36fa81bfc6b872ef69e369e00fae6a020232e49e6997bb81ba027f783d6a8a539ecc761ed93cf5b80c2810ee71a20ef27e475f2a33b8343333c699348ad68d
+ languageName: node
+ linkType: hard
+
"@backstage/version-bridge@npm:^1.0.11, @backstage/version-bridge@npm:^1.0.12":
version: 1.0.12
resolution: "@backstage/version-bridge@npm:1.0.12"
@@ -7644,6 +8739,15 @@ __metadata:
languageName: node
linkType: hard
+"@jsdoc/salty@npm:^0.2.1":
+ version: 0.2.12
+ resolution: "@jsdoc/salty@npm:0.2.12"
+ dependencies:
+ lodash: "npm:^4.18.1"
+ checksum: 10c0/46eff8275fed2102dea17762a1ee6266532b154ebce99326775e5cd4a1953d2f0ad4f6418539af09d017c855f65ce71a01270a62d16d0006e04776997aac5bd6
+ languageName: node
+ linkType: hard
+
"@jsep-plugin/assignment@npm:^1.3.0":
version: 1.3.0
resolution: "@jsep-plugin/assignment@npm:1.3.0"
@@ -10313,6 +11417,8 @@ __metadata:
dependencies:
"@backstage-community/plugin-github-actions": "npm:^0.20.0"
"@backstage-community/plugin-jenkins": "npm:^0.28.0"
+ "@backstage-community/plugin-sonarqube": "npm:^1.1.0"
+ "@backstage-community/plugin-sonarqube-react": "npm:^1.1.0"
"@backstage/catalog-client": "npm:^1.15.1"
"@backstage/catalog-model": "npm:^1.9.0"
"@backstage/cli": "npm:^0.36.2"
@@ -15562,6 +16668,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/linkify-it@npm:^5":
+ version: 5.0.0
+ resolution: "@types/linkify-it@npm:5.0.0"
+ checksum: 10c0/7bbbf45b9dde17bf3f184fee585aef0e7342f6954f0377a24e4ff42ab5a85d5b806aaa5c8d16e2faf2a6b87b2d94467a196b7d2b85c9c7de2f0eaac5487aaab8
+ languageName: node
+ linkType: hard
+
"@types/lodash@npm:^4.14.189":
version: 4.17.20
resolution: "@types/lodash@npm:4.17.20"
@@ -15597,6 +16710,16 @@ __metadata:
languageName: node
linkType: hard
+"@types/markdown-it@npm:^14.1.1":
+ version: 14.1.2
+ resolution: "@types/markdown-it@npm:14.1.2"
+ dependencies:
+ "@types/linkify-it": "npm:^5"
+ "@types/mdurl": "npm:^2"
+ checksum: 10c0/34f709f0476bd4e7b2ba7c3341072a6d532f1f4cb6f70aef371e403af8a08a7c372ba6907ac426bc618d356dab660c5b872791ff6c1ead80c483e0d639c6f127
+ languageName: node
+ linkType: hard
+
"@types/mdast@npm:^3.0.0":
version: 3.0.15
resolution: "@types/mdast@npm:3.0.15"
@@ -15615,6 +16738,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/mdurl@npm:^2":
+ version: 2.0.0
+ resolution: "@types/mdurl@npm:2.0.0"
+ checksum: 10c0/cde7bb571630ed1ceb3b92a28f7b59890bb38b8f34cd35326e2df43eebfc74985e6aa6fd4184e307393bad8a9e0783a519a3f9d13c8e03788c0f98e5ec869c5e
+ languageName: node
+ linkType: hard
+
"@types/mdx@npm:^2.0.0":
version: 2.0.14
resolution: "@types/mdx@npm:2.0.14"
@@ -17690,8 +18820,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "backend@workspace:packages/backend"
dependencies:
+ "@backstage-community/plugin-sonarqube-backend": "npm:^1.1.1"
"@backstage/backend-defaults": "npm:^0.17.1"
"@backstage/backend-plugin-api": "npm:^1.9.1"
+ "@backstage/backend-test-utils": "npm:^1.11.5"
"@backstage/cli": "npm:^0.36.2"
"@backstage/config": "npm:^1.3.8"
"@backstage/plugin-auth-node": "npm:^0.7.1"
@@ -18579,6 +19711,15 @@ __metadata:
languageName: node
linkType: hard
+"catharsis@npm:^0.9.0":
+ version: 0.9.0
+ resolution: "catharsis@npm:0.9.0"
+ dependencies:
+ lodash: "npm:^4.17.15"
+ checksum: 10c0/9ac03ca48154ac63cfdb6c1645481d9d04f3c3e0dea131debf3116a0c12aa47e8864be7dcf770932c46d75bdd844a99f0c116c234e57232ad1f427751498e7ed
+ languageName: node
+ linkType: hard
+
"ccount@npm:^2.0.0":
version: 2.0.1
resolution: "ccount@npm:2.0.1"
@@ -18821,7 +19962,7 @@ __metadata:
languageName: node
linkType: hard
-"cleye@npm:^2.3.0":
+"cleye@npm:^2.3.0, cleye@npm:^2.6.0":
version: 2.6.0
resolution: "cleye@npm:2.6.0"
dependencies:
@@ -22363,7 +23504,7 @@ __metadata:
languageName: node
linkType: hard
-"express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.21.2, express@npm:^4.22.0, express@npm:^4.22.1":
+"express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.21.2, express@npm:^4.22.0, express@npm:^4.22.1":
version: 4.22.2
resolution: "express@npm:4.22.2"
dependencies:
@@ -23025,7 +24166,7 @@ __metadata:
languageName: node
linkType: hard
-"formstream@npm:^1.1.1":
+"formstream@npm:^1.1.1, formstream@npm:^1.5.2":
version: 1.5.2
resolution: "formstream@npm:1.5.2"
dependencies:
@@ -23574,7 +24715,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^13.0.0":
+"glob@npm:^13.0.0, glob@npm:^13.0.6":
version: 13.0.6
resolution: "glob@npm:13.0.6"
dependencies:
@@ -23751,7 +24892,7 @@ __metadata:
languageName: node
linkType: hard
-"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
+"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
@@ -24856,6 +25997,20 @@ __metadata:
languageName: node
linkType: hard
+"infinispan@npm:^0.13.0":
+ version: 0.13.0
+ resolution: "infinispan@npm:0.13.0"
+ dependencies:
+ buffer-xor: "npm:^2.0.2"
+ jsdoc: "npm:^4.0.2"
+ log4js: "npm:^6.4.6"
+ protobufjs: "npm:^7.0.0"
+ underscore: "npm:^1.13.3"
+ urllib: "npm:^4.9.0"
+ checksum: 10c0/1aa487b35584dc490e481b9530fee98c41485c69a250bbc8c52583fc898e01221233d977a4c51cd6f5e3734ab1b447b5c5b5b34820d78dd007320198e833d4ce
+ languageName: node
+ linkType: hard
+
"inflight@npm:^1.0.4":
version: 1.0.6
resolution: "inflight@npm:1.0.6"
@@ -26389,6 +27544,26 @@ __metadata:
languageName: node
linkType: hard
+"js-yaml@npm:^4.2.0":
+ version: 4.3.1
+ resolution: "js-yaml@npm:4.3.1"
+ dependencies:
+ argparse: "npm:^2.0.1"
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 10c0/13c500ca322e0c3f8c81686e6ecda96d2ea37b45247a420c17c7db36932d6965cc27391abc2d1a104501600e7f0d947a5f8b7be6db619c4fefa87901b3512807
+ languageName: node
+ linkType: hard
+
+"js2xmlparser@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "js2xmlparser@npm:4.0.2"
+ dependencies:
+ xmlcreate: "npm:^2.0.4"
+ checksum: 10c0/b00de9351649d67d225e21734a08f456a4ecb3c29cafcd3bbecb36a8ab61ec841fad7f425bed50e21936fe387f472e49cfe75ce71d0beaacb0475b077c88ed39
+ languageName: node
+ linkType: hard
+
"jsbn@npm:^1.1.0":
version: 1.1.0
resolution: "jsbn@npm:1.1.0"
@@ -26403,6 +27578,31 @@ __metadata:
languageName: node
linkType: hard
+"jsdoc@npm:^4.0.2":
+ version: 4.0.5
+ resolution: "jsdoc@npm:4.0.5"
+ dependencies:
+ "@babel/parser": "npm:^7.20.15"
+ "@jsdoc/salty": "npm:^0.2.1"
+ "@types/markdown-it": "npm:^14.1.1"
+ bluebird: "npm:^3.7.2"
+ catharsis: "npm:^0.9.0"
+ escape-string-regexp: "npm:^2.0.0"
+ js2xmlparser: "npm:^4.0.2"
+ klaw: "npm:^3.0.0"
+ markdown-it: "npm:^14.1.0"
+ markdown-it-anchor: "npm:^8.6.7"
+ marked: "npm:^4.0.10"
+ mkdirp: "npm:^1.0.4"
+ requizzle: "npm:^0.2.3"
+ strip-json-comments: "npm:^3.1.0"
+ underscore: "npm:~1.13.2"
+ bin:
+ jsdoc: jsdoc.js
+ checksum: 10c0/8192c234f60c58ee67342eb0532f66118849a921df9486fe15132c9228badb5e1bc7d10233b0821e661ab02e94c045f4cb8c110f6264620aae9b73bee84e1cc5
+ languageName: node
+ linkType: hard
+
"jsdom@npm:^20.0.0":
version: 20.0.3
resolution: "jsdom@npm:20.0.3"
@@ -26916,6 +28116,15 @@ __metadata:
languageName: node
linkType: hard
+"klaw@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "klaw@npm:3.0.0"
+ dependencies:
+ graceful-fs: "npm:^4.1.9"
+ checksum: 10c0/8391cf6df6337dce02e44628b620b39412d007eff162d907d37063c23986041d9b5c3558851d473c2fae92c1ccb0fde8864e36f9c55ac339fc469b517a2caa1b
+ languageName: node
+ linkType: hard
+
"kleur@npm:^3.0.3":
version: 3.0.3
resolution: "kleur@npm:3.0.3"
@@ -27668,6 +28877,16 @@ __metadata:
languageName: node
linkType: hard
+"markdown-it-anchor@npm:^8.6.7":
+ version: 8.6.7
+ resolution: "markdown-it-anchor@npm:8.6.7"
+ peerDependencies:
+ "@types/markdown-it": "*"
+ markdown-it: "*"
+ checksum: 10c0/f117866488013b7e4085a6b59d12bf62879181aef65ea2851f01ed1b763b8c052580c2c27fa8bd009421886220c6beeb373a65af9e885ce63a36ee9f8dcd0e89
+ languageName: node
+ linkType: hard
+
"markdown-it@npm:^14.1.0":
version: 14.1.0
resolution: "markdown-it@npm:14.1.0"
@@ -27729,7 +28948,7 @@ __metadata:
languageName: node
linkType: hard
-"marked@npm:^4.0.14":
+"marked@npm:^4.0.10, marked@npm:^4.0.14":
version: 4.3.0
resolution: "marked@npm:4.3.0"
bin:
@@ -29283,7 +30502,7 @@ __metadata:
languageName: node
linkType: hard
-"mkdirp@npm:^1.0.3":
+"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4":
version: 1.0.4
resolution: "mkdirp@npm:1.0.4"
bin:
@@ -32234,7 +33453,7 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:^6.12.2":
+"qs@npm:^6.12.2, qs@npm:^6.15.0, qs@npm:^6.15.2":
version: 6.15.3
resolution: "qs@npm:6.15.3"
dependencies:
@@ -32454,6 +33673,20 @@ __metadata:
languageName: node
linkType: hard
+"rc-progress@npm:4.0.0":
+ version: 4.0.0
+ resolution: "rc-progress@npm:4.0.0"
+ dependencies:
+ "@babel/runtime": "npm:^7.10.1"
+ classnames: "npm:^2.2.6"
+ rc-util: "npm:^5.16.1"
+ peerDependencies:
+ react: ">=16.9.0"
+ react-dom: ">=16.9.0"
+ checksum: 10c0/d3b47565470c5fec71a16f8d1939f1b1dd7d2dc9260893c6f70cafa84d9ee4231f3466be817db5fb9580932af46e34d52c74a710700ca9391b1901fa06c31f1e
+ languageName: node
+ linkType: hard
+
"rc-util@npm:^5.16.1":
version: 5.44.4
resolution: "rc-util@npm:5.44.4"
@@ -33691,6 +34924,15 @@ __metadata:
languageName: node
linkType: hard
+"requizzle@npm:^0.2.3":
+ version: 0.2.4
+ resolution: "requizzle@npm:0.2.4"
+ dependencies:
+ lodash: "npm:^4.17.21"
+ checksum: 10c0/ad138f987943aeda5f96cd1ccba9752c96352a729a7e3c3e2545568703f7fc9b978d9b46715803408ef178b0d61d36a4b1b506b367b7e78fe6d041fa5bfa5e06
+ languageName: node
+ linkType: hard
+
"reselect@npm:5.1.1, reselect@npm:^5.1.0, reselect@npm:^5.1.1":
version: 5.1.1
resolution: "reselect@npm:5.1.1"
@@ -34367,7 +35609,7 @@ __metadata:
languageName: node
linkType: hard
-"safe-stable-stringify@npm:^2.2.0, safe-stable-stringify@npm:^2.3.1":
+"safe-stable-stringify@npm:^2.2.0, safe-stable-stringify@npm:^2.3.1, safe-stable-stringify@npm:^2.5.0":
version: 2.5.0
resolution: "safe-stable-stringify@npm:2.5.0"
checksum: 10c0/baea14971858cadd65df23894a40588ed791769db21bafb7fd7608397dbdce9c5aac60748abae9995e0fc37e15f2061980501e012cd48859740796bea2987f49
@@ -35660,7 +36902,7 @@ __metadata:
languageName: node
linkType: hard
-"strip-json-comments@npm:^3.1.1":
+"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
@@ -36686,6 +37928,24 @@ __metadata:
languageName: node
linkType: hard
+"ts-json-schema-generator@npm:^2.9.0":
+ version: 2.9.0
+ resolution: "ts-json-schema-generator@npm:2.9.0"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.15"
+ commander: "npm:^14.0.3"
+ glob: "npm:^13.0.6"
+ json5: "npm:^2.2.3"
+ normalize-path: "npm:^3.0.0"
+ safe-stable-stringify: "npm:^2.5.0"
+ tslib: "npm:^2.8.1"
+ typescript: "npm:^5.9.3"
+ bin:
+ ts-json-schema-generator: bin/ts-json-schema-generator.js
+ checksum: 10c0/edd3b2b9bd4bcff3074c2ac706965ea7c00f3f63f42bba557e32f12d9ed486f700e0a180a027462a53235ad22b08a2dda2ce8d1101f2d3724c9df3487abdf0da
+ languageName: node
+ linkType: hard
+
"ts-mixer@npm:^6.0.3, ts-mixer@npm:^6.0.4":
version: 6.0.4
resolution: "ts-mixer@npm:6.0.4"
@@ -36868,7 +38128,7 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^4.3.1, type-fest@npm:^4.39.1":
+"type-fest@npm:^4.3.1, type-fest@npm:^4.39.1, type-fest@npm:^4.41.0":
version: 4.41.0
resolution: "type-fest@npm:4.41.0"
checksum: 10c0/f5ca697797ed5e88d33ac8f1fec21921839871f808dc59345c9cf67345bfb958ce41bd821165dbf3ae591cedec2bf6fe8882098dfdd8dc54320b859711a2c1e4
@@ -37008,6 +38268,16 @@ __metadata:
languageName: node
linkType: hard
+"typescript@npm:^5.9.3":
+ version: 5.9.3
+ resolution: "typescript@npm:5.9.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5
+ languageName: node
+ linkType: hard
+
"typescript@npm:~5.5.0":
version: 5.5.4
resolution: "typescript@npm:5.5.4"
@@ -37028,6 +38298,16 @@ __metadata:
languageName: node
linkType: hard
+"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin":
+ version: 5.9.3
+ resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=8c6c40"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10c0/6f7e53bf0d9702350deeb6f35e08b69cbc8b958c33e0ec77bdc0ad6a6c8e280f3959dcbfde6f5b0848bece57810696489deaaa53d75de3578ff255d168c1efbd
+ languageName: node
+ linkType: hard
+
"typescript@patch:typescript@npm%3A~5.5.0#optional!builtin":
version: 5.5.4
resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07"
@@ -37096,6 +38376,13 @@ __metadata:
languageName: node
linkType: hard
+"underscore@npm:~1.13.2":
+ version: 1.13.8
+ resolution: "underscore@npm:1.13.8"
+ checksum: 10c0/6677688daeda30484823e77c0b89ce4dcf29964a77d5a06f37299c007ab4bb1c66a0ff75e0d274620b62a1fe2a6ba29879f8214533ca611d71a1ae504f2bfc9b
+ languageName: node
+ linkType: hard
+
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
@@ -37140,6 +38427,13 @@ __metadata:
languageName: node
linkType: hard
+"undici@npm:^7.24.0":
+ version: 7.29.0
+ resolution: "undici@npm:7.29.0"
+ checksum: 10c0/85ea96e91e7f3de24de678cbbc54230fdd641a3b0643005f2aef044af1f1a2db8fbecb88b28e6fa78bb41ffeafda4479b57075b6b6ab92beac4b7b5ab53f9b10
+ languageName: node
+ linkType: hard
+
"unicode-emoji-modifier-base@npm:^1.0.0":
version: 1.0.0
resolution: "unicode-emoji-modifier-base@npm:1.0.0"
@@ -37480,6 +38774,21 @@ __metadata:
languageName: node
linkType: hard
+"urllib@npm:^4.9.0":
+ version: 4.9.1
+ resolution: "urllib@npm:4.9.1"
+ dependencies:
+ form-data: "npm:^4.0.5"
+ formstream: "npm:^1.5.2"
+ mime-types: "npm:^2.1.35"
+ qs: "npm:^6.15.0"
+ type-fest: "npm:^4.41.0"
+ undici: "npm:^7.24.0"
+ ylru: "npm:^2.0.0"
+ checksum: 10c0/e73d0b0a3ae781e65ab79729e539519d4b941a28e0d8be55e4a1de9cd4723d6611cbaa74bc23cf855504b3461064ccdfed8bb2ad25621e0b97ddebcee6058a7a
+ languageName: node
+ linkType: hard
+
"urlpattern-polyfill@npm:^8.0.0":
version: 8.0.2
resolution: "urlpattern-polyfill@npm:8.0.2"
@@ -38536,6 +39845,13 @@ __metadata:
languageName: node
linkType: hard
+"xmlcreate@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "xmlcreate@npm:2.0.4"
+ checksum: 10c0/fc4234e2d1942877d761d4f3d64410b54633d2ec60b13a5d56a6a06545aba39a0df8ed7ded10785a302f632eb4f0a4fedbf4bf10e17892e11d5075244b9e5705
+ languageName: node
+ linkType: hard
+
"xtend@npm:^4.0.0, xtend@npm:^4.0.2":
version: 4.0.2
resolution: "xtend@npm:4.0.2"
@@ -38655,6 +39971,13 @@ __metadata:
languageName: node
linkType: hard
+"ylru@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "ylru@npm:2.0.0"
+ checksum: 10c0/f44f0b3cdeedff3cc298c3db680bf9eb536d6fb8cff1d881b7497e181d52173f9e206f95d2a869fd2596515c2ae21aad57e2c0e98f51da40a0179858bdb34201
+ languageName: node
+ linkType: hard
+
"yml-loader@npm:^2.1.0":
version: 2.1.0
resolution: "yml-loader@npm:2.1.0"
@@ -38679,6 +40002,13 @@ __metadata:
languageName: node
linkType: hard
+"yn@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "yn@npm:5.1.0"
+ checksum: 10c0/feac0bc3520dc3e6366d0b14c89713c55edcfdcbab6d39a098528279069cbb4caaa54938b90a36f52f72289b83d93d50fa8184693467f096aeb040b559ec8699
+ languageName: node
+ linkType: hard
+
"yocto-queue@npm:^0.1.0":
version: 0.1.0
resolution: "yocto-queue@npm:0.1.0"