) => {
+ const value =
+ payload.value && !isNaN(Number(payload.value))
+ ? baseCurrency.format(Number(payload.value))
+ : payload.value;
+ const fill = payload.color as string;
- switch (payload.dataKey) {
- case DataKey.Current:
- case DataKey.Previous:
- return {
- label: payload.name,
- value: value,
- fill: fill,
- };
- default:
- return null;
- }
-};
+ switch (payload.dataKey) {
+ case DataKey.Current:
+ case DataKey.Previous:
+ return {
+ label: payload.name,
+ value: value,
+ fill: fill,
+ };
+ default:
+ return null;
+ }
+ };
export const resourceOf = (entity: Entity | AlertCost): ResourceData => ({
name: entity.id,
diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json
index b5b3af417a..da99b2767f 100644
--- a/plugins/dynatrace/package.json
+++ b/plugins/dynatrace/package.json
@@ -45,7 +45,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "*",
"express": "^4.18.1",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json
index 010fcb3e88..02af7e631b 100644
--- a/plugins/example-todo-list-backend/package.json
+++ b/plugins/example-todo-list-backend/package.json
@@ -38,7 +38,7 @@
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json
index b52ceb9a26..b38312cd5b 100644
--- a/plugins/example-todo-list-common/package.json
+++ b/plugins/example-todo-list-common/package.json
@@ -32,7 +32,7 @@
"@backstage/test-utils": "workspace:^",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json
index c1e66b88c1..9c7d1de465 100644
--- a/plugins/example-todo-list/package.json
+++ b/plugins/example-todo-list/package.json
@@ -43,7 +43,7 @@
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json
index 4d1d623c90..2d65edf074 100644
--- a/plugins/explore-react/package.json
+++ b/plugins/explore-react/package.json
@@ -43,7 +43,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/explore/package.json b/plugins/explore/package.json
index 835d7cf39d..894fd1bc85 100644
--- a/plugins/explore/package.json
+++ b/plugins/explore/package.json
@@ -61,7 +61,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx
index 23553b8b76..674ef1e43f 100644
--- a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx
+++ b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx
@@ -43,8 +43,10 @@ import useAsync from 'react-use/lib/useAsync';
const useStyles = makeStyles((theme: BackstageTheme) => ({
graph: {
- flex: 1,
- minHeight: 0,
+ minHeight: '100%',
+ },
+ graphWrapper: {
+ height: '100%',
},
organizationNode: {
fill: theme.palette.secondary.light,
@@ -62,6 +64,15 @@ const useStyles = makeStyles((theme: BackstageTheme) => ({
justifyContent: 'center',
color: 'black',
},
+ legend: {
+ position: 'absolute',
+ bottom: 0,
+ right: 0,
+ padding: theme.spacing(1),
+ '& .icon': {
+ verticalAlign: 'bottom',
+ },
+ },
textOrganization: {
color: theme.palette.secondary.contrastText,
},
@@ -221,7 +232,7 @@ export function GroupsDiagram() {
}
return (
- <>
+
+
- Use pinch & zoom
- to move around the diagram.
+ Use pinch & zoom to move around the
+ diagram.
- >
+
);
}
diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json
index 9303e50b99..20da2966e9 100644
--- a/plugins/firehydrant/package.json
+++ b/plugins/firehydrant/package.json
@@ -46,7 +46,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json
index 0ad056bcd9..6127cf17fa 100644
--- a/plugins/fossa/package.json
+++ b/plugins/fossa/package.json
@@ -59,7 +59,7 @@
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json
index c682be6e79..26a699fa1c 100644
--- a/plugins/gcalendar/package.json
+++ b/plugins/gcalendar/package.json
@@ -54,7 +54,7 @@
"@types/node": "^16.11.26",
"@types/sanitize-html": "^2.6.2",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json
index e8ac3297e9..1592c8bf22 100644
--- a/plugins/gcp-projects/package.json
+++ b/plugins/gcp-projects/package.json
@@ -55,7 +55,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json
index aa2f3cb9de..c969e89799 100644
--- a/plugins/git-release-manager/package.json
+++ b/plugins/git-release-manager/package.json
@@ -53,7 +53,7 @@
"@types/node": "^16.11.26",
"@types/recharts": "^1.8.15",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json
index e69bd568da..ba50324e67 100644
--- a/plugins/github-actions/package.json
+++ b/plugins/github-actions/package.json
@@ -62,7 +62,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json
index 65d22e7bde..a237c0f45a 100644
--- a/plugins/github-deployments/package.json
+++ b/plugins/github-deployments/package.json
@@ -51,7 +51,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/github-issues/package.json b/plugins/github-issues/package.json
index ede9e62c18..11d58c1c35 100644
--- a/plugins/github-issues/package.json
+++ b/plugins/github-issues/package.json
@@ -51,7 +51,7 @@
"@types/node": "*",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json
index a84b0ba4ae..24269a7125 100644
--- a/plugins/github-pull-requests-board/package.json
+++ b/plugins/github-pull-requests-board/package.json
@@ -58,7 +58,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0",
diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json
index 3b781fbc2e..1644617722 100644
--- a/plugins/gitops-profiles/package.json
+++ b/plugins/gitops-profiles/package.json
@@ -55,7 +55,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json
index cdad559639..441876b8cf 100644
--- a/plugins/gocd/package.json
+++ b/plugins/gocd/package.json
@@ -58,7 +58,7 @@
"@types/luxon": "^3.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json
index af0dc01546..bdec4bdba1 100644
--- a/plugins/graphiql/package.json
+++ b/plugins/graphiql/package.json
@@ -58,7 +58,7 @@
"@types/codemirror": "^5.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json
index 84814efa4b..81e5d0e22a 100644
--- a/plugins/graphql-backend/package.json
+++ b/plugins/graphql-backend/package.json
@@ -52,7 +52,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/home/package.json b/plugins/home/package.json
index 582c46ed02..0fed1b2022 100644
--- a/plugins/home/package.json
+++ b/plugins/home/package.json
@@ -61,7 +61,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json
index 92b0068193..e01ff50617 100644
--- a/plugins/ilert/package.json
+++ b/plugins/ilert/package.json
@@ -51,7 +51,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json
index 642c6cfb09..60b96cb694 100644
--- a/plugins/jenkins-backend/package.json
+++ b/plugins/jenkins-backend/package.json
@@ -44,7 +44,7 @@
"@backstage/cli": "workspace:^",
"@types/jenkins": "^0.23.1",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json
index 27c291acf0..157f91944e 100644
--- a/plugins/jenkins/package.json
+++ b/plugins/jenkins/package.json
@@ -62,7 +62,7 @@
"@types/node": "^16.11.26",
"@types/testing-library__jest-dom": "^5.9.1",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json
index 1aab27e155..851d2d7ef3 100644
--- a/plugins/kafka/package.json
+++ b/plugins/kafka/package.json
@@ -51,7 +51,7 @@
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
"jest-when": "^3.1.0",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md
index d51ec4c211..b88b3f2a02 100644
--- a/plugins/kubernetes-backend/api-report.md
+++ b/plugins/kubernetes-backend/api-report.md
@@ -22,6 +22,7 @@ import { Logger } from 'winston';
import { Metrics } from '@kubernetes/client-node';
import type { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common';
import { PluginEndpointDiscovery } from '@backstage/backend-common';
+import type { RequestHandler } from 'express';
import { TokenCredential } from '@azure/identity';
// @alpha (undocumented)
@@ -142,6 +143,9 @@ export class GoogleServiceAccountAuthTranslator
): Promise;
}
+// @alpha
+export const HEADER_KUBERNETES_CLUSTER: string;
+
// @alpha (undocumented)
export interface KubernetesAuthTranslator {
// (undocumented)
@@ -188,10 +192,16 @@ export class KubernetesBuilder {
options: KubernetesObjectsProviderOptions,
): KubernetesObjectsProvider;
// (undocumented)
+ protected buildProxy(
+ logger: Logger,
+ clusterSupplier: KubernetesClustersSupplier,
+ ): KubernetesProxy;
+ // (undocumented)
protected buildRouter(
objectsProvider: KubernetesObjectsProvider,
clusterSupplier: KubernetesClustersSupplier,
catalogApi: CatalogApi,
+ proxy: KubernetesProxy,
): express.Router;
// (undocumented)
protected buildServiceLocator(
@@ -207,8 +217,23 @@ export class KubernetesBuilder {
clusterSupplier: KubernetesClustersSupplier,
): Promise;
// (undocumented)
+ protected getClusterSupplier(): KubernetesClustersSupplier;
+ // (undocumented)
+ protected getFetcher(): KubernetesFetcher;
+ // (undocumented)
+ protected getObjectsProvider(
+ options: KubernetesObjectsProviderOptions,
+ ): KubernetesObjectsProvider;
+ // (undocumented)
protected getObjectTypesToFetch(): ObjectToFetch[] | undefined;
// (undocumented)
+ protected getProxy(
+ logger: Logger,
+ clusterSupplier: KubernetesClustersSupplier,
+ ): KubernetesProxy;
+ // (undocumented)
+ protected getServiceLocator(): KubernetesServiceLocator;
+ // (undocumented)
protected getServiceLocatorMethod(): ServiceLocatorMethod;
// (undocumented)
setClusterSupplier(clusterSupplier?: KubernetesClustersSupplier): this;
@@ -219,6 +244,8 @@ export class KubernetesBuilder {
// (undocumented)
setObjectsProvider(objectsProvider?: KubernetesObjectsProvider): this;
// (undocumented)
+ setProxy(proxy?: KubernetesProxy): this;
+ // (undocumented)
setServiceLocator(serviceLocator?: KubernetesServiceLocator): this;
}
@@ -228,6 +255,7 @@ export type KubernetesBuilderReturn = Promise<{
clusterSupplier: KubernetesClustersSupplier;
customResources: CustomResource[];
fetcher: KubernetesFetcher;
+ proxy: KubernetesProxy;
objectsProvider: KubernetesObjectsProvider;
serviceLocator: KubernetesServiceLocator;
}>;
@@ -322,6 +350,13 @@ export type KubernetesObjectTypes =
| 'statefulsets'
| 'daemonsets';
+// @alpha
+export class KubernetesProxy {
+ constructor(logger: Logger, clusterSupplier: KubernetesClustersSupplier);
+ // (undocumented)
+ createRequestHandler(): RequestHandler;
+}
+
// @alpha
export interface KubernetesServiceLocator {
// (undocumented)
diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json
index acf28eeb36..c0822d366a 100644
--- a/plugins/kubernetes-backend/package.json
+++ b/plugins/kubernetes-backend/package.json
@@ -36,6 +36,7 @@
"dependencies": {
"@azure/identity": "^2.0.4",
"@backstage/backend-common": "workspace:^",
+ "@backstage/backend-test-utils": "workspace:^",
"@backstage/catalog-client": "workspace:^",
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
@@ -43,6 +44,7 @@
"@backstage/plugin-auth-node": "workspace:^",
"@backstage/plugin-kubernetes-common": "workspace:^",
"@google-cloud/container": "^4.0.0",
+ "@jest-mock/express": "^2.0.1",
"@kubernetes/client-node": "0.17.0",
"@types/express": "^4.17.6",
"@types/luxon": "^3.0.0",
@@ -54,9 +56,11 @@
"express-promise-router": "^4.1.0",
"fs-extra": "10.1.0",
"helmet": "^6.0.0",
+ "http-proxy-middleware": "^2.0.6",
"lodash": "^4.17.21",
"luxon": "^3.0.0",
"morgan": "^1.10.0",
+ "node-fetch": "^2.6.7",
"stream-buffers": "^3.0.2",
"winston": "^3.2.1",
"yn": "^4.0.0"
@@ -64,7 +68,9 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@types/aws4": "^1.5.1",
+ "@types/http-proxy-middleware": "^0.19.3",
"aws-sdk-mock": "^5.2.1",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/kubernetes-backend/src/index.ts b/plugins/kubernetes-backend/src/index.ts
index e2eee3f24e..67aefbd974 100644
--- a/plugins/kubernetes-backend/src/index.ts
+++ b/plugins/kubernetes-backend/src/index.ts
@@ -20,19 +20,6 @@
* @packageDocumentation
*/
-export * from './kubernetes-auth-translator/AwsIamKubernetesAuthTranslator';
-export * from './kubernetes-auth-translator/AzureIdentityKubernetesAuthTranslator';
-export * from './kubernetes-auth-translator/GoogleKubernetesAuthTranslator';
-export * from './kubernetes-auth-translator/GoogleServiceAccountAuthProvider';
-export * from './kubernetes-auth-translator/KubernetesAuthTranslatorGenerator';
-export * from './kubernetes-auth-translator/NoopKubernetesAuthTranslator';
-export * from './kubernetes-auth-translator/OidcKubernetesAuthTranslator';
-export * from './kubernetes-auth-translator/types';
-
-export * from './service/router';
-export * from './service/KubernetesBuilder';
-export * from './service/KubernetesClientProvider';
-
-export * from './types/types';
-
-export { DEFAULT_OBJECTS } from './service/KubernetesFanOutHandler';
+export * from './kubernetes-auth-translator';
+export * from './service';
+export * from './types';
diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts
new file mode 100644
index 0000000000..19f6dd80eb
--- /dev/null
+++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 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.
+ */
+
+export * from './AwsIamKubernetesAuthTranslator';
+export * from './AzureIdentityKubernetesAuthTranslator';
+export * from './GoogleKubernetesAuthTranslator';
+export * from './GoogleServiceAccountAuthProvider';
+export * from './KubernetesAuthTranslatorGenerator';
+export * from './NoopKubernetesAuthTranslator';
+export * from './OidcKubernetesAuthTranslator';
+export * from './types';
diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
index 304885f3e2..c8ff98f592 100644
--- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
+++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts
@@ -13,23 +13,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+import { CatalogApi } from '@backstage/catalog-client';
import { Config } from '@backstage/config';
import express from 'express';
import Router from 'express-promise-router';
-import { Logger } from 'winston';
import { Duration } from 'luxon';
+import { Logger } from 'winston';
+
import { getCombinedClusterSupplier } from '../cluster-locator';
+import { addResourceRoutesToRouter } from '../routes/resourcesRoutes';
import { MultiTenantServiceLocator } from '../service-locator/MultiTenantServiceLocator';
import {
- KubernetesObjectTypes,
- ServiceLocatorMethod,
CustomResource,
- KubernetesObjectsProvider,
- ObjectsByEntityRequest,
KubernetesClustersSupplier,
KubernetesFetcher,
- KubernetesServiceLocator,
+ KubernetesObjectsProvider,
KubernetesObjectsProviderOptions,
+ KubernetesObjectTypes,
+ KubernetesServiceLocator,
+ ObjectsByEntityRequest,
+ ServiceLocatorMethod,
} from '../types/types';
import { KubernetesClientProvider } from './KubernetesClientProvider';
import {
@@ -37,8 +40,7 @@ import {
KubernetesFanOutHandler,
} from './KubernetesFanOutHandler';
import { KubernetesClientBasedFetcher } from './KubernetesFetcher';
-import { addResourceRoutesToRouter } from '../routes/resourcesRoutes';
-import { CatalogApi } from '@backstage/catalog-client';
+import { KubernetesProxy } from './KubernetesProxy';
/**
*
@@ -60,6 +62,7 @@ export type KubernetesBuilderReturn = Promise<{
clusterSupplier: KubernetesClustersSupplier;
customResources: CustomResource[];
fetcher: KubernetesFetcher;
+ proxy: KubernetesProxy;
objectsProvider: KubernetesObjectsProvider;
serviceLocator: KubernetesServiceLocator;
}>;
@@ -76,6 +79,7 @@ export class KubernetesBuilder {
private objectsProvider?: KubernetesObjectsProvider;
private fetcher?: KubernetesFetcher;
private serviceLocator?: KubernetesServiceLocator;
+ private proxy?: KubernetesProxy;
static createBuilder(env: KubernetesEnvironment) {
return new KubernetesBuilder(env);
@@ -102,36 +106,34 @@ export class KubernetesBuilder {
}
const customResources = this.buildCustomResources();
- const fetcher = this.fetcher ?? this.buildFetcher();
+ const fetcher = this.getFetcher();
- const clusterSupplier =
- this.clusterSupplier ??
- this.buildClusterSupplier(this.defaultClusterRefreshInterval);
+ const clusterSupplier = this.getClusterSupplier();
- const serviceLocator =
- this.serviceLocator ??
- this.buildServiceLocator(this.getServiceLocatorMethod(), clusterSupplier);
+ const proxy = this.getProxy(logger, clusterSupplier);
- const objectsProvider =
- this.objectsProvider ??
- this.buildObjectsProvider({
- logger,
- fetcher,
- serviceLocator,
- customResources,
- objectTypesToFetch: this.getObjectTypesToFetch(),
- });
+ const serviceLocator = this.getServiceLocator();
+
+ const objectsProvider = this.getObjectsProvider({
+ logger,
+ fetcher,
+ serviceLocator,
+ customResources,
+ objectTypesToFetch: this.getObjectTypesToFetch(),
+ });
const router = this.buildRouter(
objectsProvider,
clusterSupplier,
this.env.catalogApi,
+ proxy,
);
return {
clusterSupplier,
customResources,
fetcher,
+ proxy,
objectsProvider,
router,
serviceLocator,
@@ -163,6 +165,11 @@ export class KubernetesBuilder {
return this;
}
+ public setProxy(proxy?: KubernetesProxy) {
+ this.proxy = proxy;
+ return this;
+ }
+
protected buildCustomResources() {
const customResources: CustomResource[] = (
this.env.config.getOptionalConfigArray('kubernetes.customResources') ?? []
@@ -186,24 +193,29 @@ export class KubernetesBuilder {
refreshInterval: Duration,
): KubernetesClustersSupplier {
const config = this.env.config;
- return getCombinedClusterSupplier(
+ this.clusterSupplier = getCombinedClusterSupplier(
config,
this.env.catalogApi,
refreshInterval,
);
+
+ return this.clusterSupplier;
}
protected buildObjectsProvider(
options: KubernetesObjectsProviderOptions,
): KubernetesObjectsProvider {
- return new KubernetesFanOutHandler(options);
+ this.objectsProvider = new KubernetesFanOutHandler(options);
+ return this.objectsProvider;
}
protected buildFetcher(): KubernetesFetcher {
- return new KubernetesClientBasedFetcher({
+ this.fetcher = new KubernetesClientBasedFetcher({
kubernetesClientProvider: new KubernetesClientProvider(),
logger: this.env.logger,
});
+
+ return this.fetcher;
}
protected buildServiceLocator(
@@ -212,14 +224,19 @@ export class KubernetesBuilder {
): KubernetesServiceLocator {
switch (method) {
case 'multiTenant':
- return this.buildMultiTenantServiceLocator(clusterSupplier);
+ this.serviceLocator =
+ this.buildMultiTenantServiceLocator(clusterSupplier);
+ break;
case 'http':
- return this.buildHttpServiceLocator(clusterSupplier);
+ this.serviceLocator = this.buildHttpServiceLocator(clusterSupplier);
+ break;
default:
throw new Error(
`Unsupported kubernetes.clusterLocatorMethod "${method}"`,
);
}
+
+ return this.serviceLocator;
}
protected buildMultiTenantServiceLocator(
@@ -234,10 +251,19 @@ export class KubernetesBuilder {
throw new Error('not implemented');
}
+ protected buildProxy(
+ logger: Logger,
+ clusterSupplier: KubernetesClustersSupplier,
+ ): KubernetesProxy {
+ this.proxy = new KubernetesProxy(logger, clusterSupplier);
+ return this.proxy;
+ }
+
protected buildRouter(
objectsProvider: KubernetesObjectsProvider,
clusterSupplier: KubernetesClustersSupplier,
catalogApi: CatalogApi,
+ proxy: KubernetesProxy,
): express.Router {
const logger = this.env.logger;
const router = Router();
@@ -273,6 +299,8 @@ export class KubernetesBuilder {
});
});
+ router.use('/proxy', proxy.createRequestHandler());
+
addResourceRoutesToRouter(router, catalogApi, objectsProvider);
return router;
@@ -296,6 +324,31 @@ export class KubernetesBuilder {
) as ServiceLocatorMethod;
}
+ protected getFetcher(): KubernetesFetcher {
+ return this.fetcher ?? this.buildFetcher();
+ }
+
+ protected getClusterSupplier() {
+ return (
+ this.clusterSupplier ??
+ this.buildClusterSupplier(this.defaultClusterRefreshInterval)
+ );
+ }
+
+ protected getServiceLocator(): KubernetesServiceLocator {
+ return (
+ this.serviceLocator ??
+ this.buildServiceLocator(
+ this.getServiceLocatorMethod(),
+ this.getClusterSupplier(),
+ )
+ );
+ }
+
+ protected getObjectsProvider(options: KubernetesObjectsProviderOptions) {
+ return this.objectsProvider ?? this.buildObjectsProvider(options);
+ }
+
protected getObjectTypesToFetch() {
const objectTypesToFetchStrings = this.env.config.getOptionalStringArray(
'kubernetes.objectTypes',
@@ -325,4 +378,11 @@ export class KubernetesBuilder {
return objectTypesToFetch;
}
+
+ protected getProxy(
+ logger: Logger,
+ clusterSupplier: KubernetesClustersSupplier,
+ ) {
+ return this.proxy ?? this.buildProxy(logger, clusterSupplier);
+ }
}
diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
new file mode 100644
index 0000000000..4254bb33da
--- /dev/null
+++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2022 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 'buffer';
+import { getVoidLogger } from '@backstage/backend-common';
+import { NotFoundError } from '@backstage/errors';
+import { getMockReq, getMockRes } from '@jest-mock/express';
+import type { Request } from 'express';
+import express from 'express';
+import request from 'supertest';
+import { rest } from 'msw';
+import { setupServer } from 'msw/node';
+import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
+import { ClusterDetails, KubernetesClustersSupplier } from '../types/types';
+import {
+ APPLICATION_JSON,
+ HEADER_KUBERNETES_CLUSTER,
+ KubernetesProxy,
+} from './KubernetesProxy';
+
+describe('KubernetesProxy', () => {
+ let proxy: KubernetesProxy;
+ const worker = setupServer();
+
+ setupRequestMockHandlers(worker);
+
+ const buildMockRequest = (clusterName: any, path: string): Request => {
+ const req = getMockReq({
+ params: {
+ path,
+ },
+ header: jest.fn((key: string) => {
+ switch (key) {
+ case 'Content-Type': {
+ return APPLICATION_JSON;
+ }
+ case HEADER_KUBERNETES_CLUSTER: {
+ return clusterName;
+ }
+ default: {
+ return '';
+ }
+ }
+ }),
+ });
+
+ return req;
+ };
+
+ const clusterSupplier: jest.Mocked = {
+ getClusters: jest.fn(),
+ };
+
+ beforeEach(() => {
+ jest.resetAllMocks();
+ proxy = new KubernetesProxy(getVoidLogger(), clusterSupplier);
+ });
+
+ it('should return a ERROR_NOT_FOUND if no clusters are found', async () => {
+ clusterSupplier.getClusters.mockResolvedValue([]);
+
+ const req = buildMockRequest('test', 'api');
+ const { res, next } = getMockRes();
+
+ await expect(proxy.createRequestHandler()(req, res, next)).rejects.toThrow(
+ NotFoundError,
+ );
+ });
+
+ it('should pass the exact response from Kubernetes', async () => {
+ const apiResponse = {
+ kind: 'APIVersions',
+ versions: ['v1'],
+ serverAddressByClientCIDRs: [
+ {
+ clientCIDR: '0.0.0.0/0',
+ serverAddress: '192.168.0.1:3333',
+ },
+ ],
+ };
+
+ clusterSupplier.getClusters.mockResolvedValue([
+ {
+ name: 'cluster1',
+ url: 'https://localhost:9999',
+ serviceAccountToken: '',
+ authProvider: 'serviceAccount',
+ },
+ ] as ClusterDetails[]);
+ const app = express().use('/mountpath', proxy.createRequestHandler());
+ const requestPromise = request(app)
+ .get('/mountpath/api')
+ .set(HEADER_KUBERNETES_CLUSTER, 'cluster1');
+ worker.use(
+ rest.get('https://localhost:9999/api', (_, res, ctx) =>
+ res(ctx.status(299), ctx.json(apiResponse)),
+ ),
+ rest.all(requestPromise.url, (req, _res, _ctx) => req.passthrough()),
+ );
+
+ const response = await requestPromise;
+
+ expect(response.status).toEqual(299);
+ expect(response.body).toStrictEqual(apiResponse);
+ });
+});
diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts
new file mode 100644
index 0000000000..9d88d2ab84
--- /dev/null
+++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2022 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 {
+ ErrorResponseBody,
+ ForwardedError,
+ InputError,
+ NotFoundError,
+ serializeError,
+} from '@backstage/errors';
+import { bufferFromFileOrString } from '@kubernetes/client-node';
+import type { Request, RequestHandler } from 'express';
+import { createProxyMiddleware } from 'http-proxy-middleware';
+import { Logger } from 'winston';
+import { ClusterDetails, KubernetesClustersSupplier } from '../types/types';
+
+export const APPLICATION_JSON: string = 'application/json';
+
+/**
+ * The header that is used to specify the cluster name.
+ *
+ * @alpha
+ */
+export const HEADER_KUBERNETES_CLUSTER: string = 'X-Kubernetes-Cluster';
+
+/**
+ * A proxy that routes requests to the Kubernetes API.
+ *
+ * @alpha
+ */
+export class KubernetesProxy {
+ private readonly middlewareForClusterName = new Map();
+
+ constructor(
+ private readonly logger: Logger,
+ private readonly clusterSupplier: KubernetesClustersSupplier,
+ ) {}
+
+ public createRequestHandler(): RequestHandler {
+ return async (req, res, next) => {
+ const middleware = await this.getMiddleware(req);
+ middleware(req, res, next);
+ };
+ }
+
+ // We create one middleware per remote cluster and hold on to them, because
+ // the secure property isn't possible to decide on a per-request basis with a
+ // single middleware instance - and we don't expect it to change over time.
+ private async getMiddleware(originalReq: Request): Promise {
+ const originalCluster = await this.getClusterForRequest(originalReq);
+ let middleware = this.middlewareForClusterName.get(originalCluster.name);
+ if (!middleware) {
+ // Probably too risky without permissions protecting this endpoint
+ // if (cluster.serviceAccountToken) {
+ // options.headers = {
+ // Authorization: `Bearer ${cluster.serviceAccountToken}`,
+ // };
+ // }
+
+ const logger = this.logger.child({ cluster: originalCluster.name });
+ middleware = createProxyMiddleware({
+ logProvider: () => logger,
+ secure: !originalCluster.skipTLSVerify,
+ router: async req => {
+ // Re-evaluate the cluster on each request, in case it has changed
+ const cluster = await this.getClusterForRequest(req);
+ const url = new URL(cluster.url);
+ return {
+ protocol: url.protocol,
+ host: url.hostname,
+ port: url.port,
+ ca: bufferFromFileOrString('', cluster.caData)?.toString(),
+ };
+ },
+ pathRewrite: { [`^${originalReq.baseUrl}`]: '' },
+ onError: (error, req, res) => {
+ const wrappedError = new ForwardedError(
+ `Cluster '${originalCluster.name}' request error`,
+ error,
+ );
+
+ logger.error(wrappedError);
+
+ const body: ErrorResponseBody = {
+ error: serializeError(wrappedError, {
+ includeStack: process.env.NODE_ENV === 'development',
+ }),
+ request: { method: req.method, url: req.originalUrl },
+ response: { statusCode: 500 },
+ };
+
+ res.status(500).json(body);
+ },
+ });
+
+ this.middlewareForClusterName.set(originalCluster.name, middleware);
+ }
+
+ return middleware;
+ }
+
+ private async getClusterForRequest(req: Request): Promise {
+ const clusterName = req.header(HEADER_KUBERNETES_CLUSTER);
+ if (!clusterName) {
+ throw new InputError(`Missing '${HEADER_KUBERNETES_CLUSTER}' header.`);
+ }
+
+ const cluster = await this.clusterSupplier
+ .getClusters()
+ .then(clusters => clusters.find(c => c.name === clusterName));
+ if (!cluster) {
+ throw new NotFoundError(`Cluster '${clusterName}' not found`);
+ }
+
+ return cluster;
+ }
+}
diff --git a/plugins/kubernetes-backend/src/service/index.ts b/plugins/kubernetes-backend/src/service/index.ts
new file mode 100644
index 0000000000..70ff530bee
--- /dev/null
+++ b/plugins/kubernetes-backend/src/service/index.ts
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2022 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.
+ */
+
+export * from './KubernetesBuilder';
+export * from './KubernetesClientProvider';
+export { DEFAULT_OBJECTS } from './KubernetesFanOutHandler';
+export { HEADER_KUBERNETES_CLUSTER, KubernetesProxy } from './KubernetesProxy';
+export * from './router';
diff --git a/plugins/kubernetes-backend/src/types/index.ts b/plugins/kubernetes-backend/src/types/index.ts
new file mode 100644
index 0000000000..db229eae34
--- /dev/null
+++ b/plugins/kubernetes-backend/src/types/index.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2022 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.
+ */
+
+export * from './types';
diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json
index 6851f01162..c00bbd5083 100644
--- a/plugins/kubernetes/package.json
+++ b/plugins/kubernetes/package.json
@@ -66,7 +66,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json
index caf0df17e2..b27fc62655 100644
--- a/plugins/lighthouse/package.json
+++ b/plugins/lighthouse/package.json
@@ -60,7 +60,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json
index 5dfe152a2f..01408ccbfb 100644
--- a/plugins/newrelic/package.json
+++ b/plugins/newrelic/package.json
@@ -54,7 +54,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/org-react/README.md b/plugins/org-react/README.md
index 91c7ebf48a..1f87a5e7e6 100644
--- a/plugins/org-react/README.md
+++ b/plugins/org-react/README.md
@@ -18,13 +18,14 @@ To use the `GroupListPicker` component you'll need to import it and add it to yo
-+
++
```
-The `GroupListPicker` comes with three props:
+The `GroupListPicker` comes with four props:
- `groupTypes`: gives the user the option which group types the component should load. If no value is provided all group types will be loaded in;
- `placeholder`: the placeholder that the select box in the component should display. This might be helpful in informing your users what the functionality of the component is.
- `onChange`: a prop to help the user to give access to the selected group
+- `defaultValue`: gives the user the option to define a default value that will be shown initially before making a selection
diff --git a/plugins/org-react/api-report.md b/plugins/org-react/api-report.md
index 60cd6944d0..48bd090f64 100644
--- a/plugins/org-react/api-report.md
+++ b/plugins/org-react/api-report.md
@@ -12,6 +12,7 @@ export const GroupListPicker: (props: GroupListPickerProps) => JSX.Element;
// @public
export type GroupListPickerProps = {
+ defaultValue?: string;
placeholder?: string;
groupTypes?: Array;
onChange: (value: GroupEntity | undefined) => void;
diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json
index df0264a73d..522096e26a 100644
--- a/plugins/org-react/package.json
+++ b/plugins/org-react/package.json
@@ -54,7 +54,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "*",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/org-react/src/components/GroupListPicker/GroupListPicker.tsx b/plugins/org-react/src/components/GroupListPicker/GroupListPicker.tsx
index 1296c520c3..a47c346390 100644
--- a/plugins/org-react/src/components/GroupListPicker/GroupListPicker.tsx
+++ b/plugins/org-react/src/components/GroupListPicker/GroupListPicker.tsx
@@ -34,6 +34,7 @@ import { GroupListPickerButton } from './GroupListPickerButton';
* @public
*/
export type GroupListPickerProps = {
+ defaultValue?: string;
placeholder?: string;
groupTypes?: Array;
onChange: (value: GroupEntity | undefined) => void;
@@ -43,9 +44,9 @@ export type GroupListPickerProps = {
export const GroupListPicker = (props: GroupListPickerProps) => {
const catalogApi = useApi(catalogApiRef);
- const { onChange, groupTypes, placeholder = '' } = props;
+ const { onChange, groupTypes, placeholder = '', defaultValue = '' } = props;
const [anchorEl, setAnchorEl] = React.useState(null);
- const [inputValue, setInputValue] = React.useState('');
+ const [inputValue, setInputValue] = React.useState(defaultValue);
const handleClick = (event: React.MouseEvent) => {
setAnchorEl(event.currentTarget);
@@ -75,6 +76,7 @@ export const GroupListPicker = (props: GroupListPickerProps) => {
const handleChange = useCallback(
(_, v: GroupEntity | null) => {
onChange(v ?? undefined);
+ setAnchorEl(null);
},
[onChange],
);
@@ -108,6 +110,8 @@ export const GroupListPicker = (props: GroupListPickerProps) => {
renderInput={params => (
diff --git a/plugins/org-react/src/components/GroupListPicker/GroupListPickerButton.tsx b/plugins/org-react/src/components/GroupListPicker/GroupListPickerButton.tsx
index 149bf778b1..01ffe7e58b 100644
--- a/plugins/org-react/src/components/GroupListPicker/GroupListPickerButton.tsx
+++ b/plugins/org-react/src/components/GroupListPicker/GroupListPickerButton.tsx
@@ -22,8 +22,7 @@ import PeopleIcon from '@material-ui/icons/People';
const useStyles = makeStyles((theme: BackstageTheme) => ({
btn: {
- margin: 0,
- padding: 10,
+ padding: '10px',
width: '100%',
cursor: 'pointer',
justifyContent: 'space-between',
@@ -32,10 +31,13 @@ const useStyles = makeStyles((theme: BackstageTheme) => ({
fontSize: '1.5rem',
fontStyle: 'normal',
fontWeight: theme.typography.fontWeightBold,
+ height: '32px',
letterSpacing: '-0.25px',
- lineHeight: '32px',
marginBottom: 0,
+ marginLeft: '4px',
+ textAlign: 'left',
textTransform: 'none',
+ width: '100%',
},
icon: {
transform: 'scale(1.5)',
diff --git a/plugins/org/package.json b/plugins/org/package.json
index b49b1ea390..c628d9f762 100644
--- a/plugins/org/package.json
+++ b/plugins/org/package.json
@@ -57,7 +57,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json
index bdf6668060..8dbd63494e 100644
--- a/plugins/pagerduty/package.json
+++ b/plugins/pagerduty/package.json
@@ -61,7 +61,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json
index 0c23f24efd..07e181357d 100644
--- a/plugins/periskop-backend/package.json
+++ b/plugins/periskop-backend/package.json
@@ -35,7 +35,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json
index a061553ab2..bf07e96ccb 100644
--- a/plugins/periskop/package.json
+++ b/plugins/periskop/package.json
@@ -50,7 +50,7 @@
"@types/luxon": "^3.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json
index 52d376118a..f40f8999e6 100644
--- a/plugins/permission-backend/package.json
+++ b/plugins/permission-backend/package.json
@@ -42,7 +42,7 @@
"@backstage/cli": "workspace:^",
"@types/lodash": "^4.14.151",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json
index 376bdbcf51..db21171632 100644
--- a/plugins/permission-common/package.json
+++ b/plugins/permission-common/package.json
@@ -50,6 +50,6 @@
},
"devDependencies": {
"@backstage/cli": "workspace:^",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
}
}
diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json
index d21e351f82..16fb15b569 100644
--- a/plugins/permission-node/package.json
+++ b/plugins/permission-node/package.json
@@ -48,7 +48,7 @@
"@backstage/backend-test-utils": "workspace:^",
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json
index 5edb8b0754..3e3c0967e0 100644
--- a/plugins/playlist-backend/package.json
+++ b/plugins/playlist-backend/package.json
@@ -45,7 +45,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/playlist/package.json b/plugins/playlist/package.json
index 259cbdcca5..6b1e40d880 100644
--- a/plugins/playlist/package.json
+++ b/plugins/playlist/package.json
@@ -62,7 +62,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "*",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"swr": "^1.1.2"
},
"files": [
diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json
index 74c054c1fb..acb8a59c6d 100644
--- a/plugins/proxy-backend/package.json
+++ b/plugins/proxy-backend/package.json
@@ -51,7 +51,7 @@
"@types/supertest": "^2.0.8",
"@types/uuid": "^8.0.0",
"@types/yup": "^0.29.13",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json
index 30f3d94e77..5b69fde3f6 100644
--- a/plugins/rollbar-backend/package.json
+++ b/plugins/rollbar-backend/package.json
@@ -52,7 +52,7 @@
"@backstage/backend-test-utils": "workspace:^",
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json
index 1843222577..72e2a0aaf0 100644
--- a/plugins/rollbar/package.json
+++ b/plugins/rollbar/package.json
@@ -62,7 +62,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json
index 8b0a58d416..ab36ba6d57 100644
--- a/plugins/scaffolder-backend-module-cookiecutter/package.json
+++ b/plugins/scaffolder-backend-module-cookiecutter/package.json
@@ -40,7 +40,7 @@
"@types/fs-extra": "^9.0.1",
"@types/mock-fs": "^4.13.0",
"mock-fs": "^5.1.0",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json
index d5371053ca..60542e9ead 100644
--- a/plugins/scaffolder-backend/package.json
+++ b/plugins/scaffolder-backend/package.json
@@ -93,7 +93,7 @@
"esbuild": "^0.15.0",
"jest-when": "^3.1.0",
"mock-fs": "^5.1.0",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3",
"yaml": "^2.0.0"
},
diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md
index 33a5f8c2fe..39e58a7a42 100644
--- a/plugins/scaffolder/api-report.md
+++ b/plugins/scaffolder/api-report.md
@@ -388,12 +388,27 @@ export const RepoUrlPickerFieldSchema: FieldSchema<
export type RepoUrlPickerUiOptions =
typeof RepoUrlPickerFieldSchema.uiOptionsType;
+// @public
+export type ReviewStepProps = {
+ disableButtons: boolean;
+ formData: JsonObject;
+ handleBack: () => void;
+ handleReset: () => void;
+ handleCreate: () => void;
+ steps: {
+ uiSchema: UiSchema;
+ mergedSchema: JsonObject;
+ schema: JsonObject;
+ }[];
+};
+
// @public (undocumented)
export const rootRouteRef: RouteRef;
// @public
export type RouterProps = {
components?: {
+ ReviewStepComponent?: ComponentType;
TemplateCardComponent?:
| ComponentType<{
template: TemplateEntityV1beta3;
diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json
index adb7461dd9..1ef758c079 100644
--- a/plugins/scaffolder/package.json
+++ b/plugins/scaffolder/package.json
@@ -98,7 +98,7 @@
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
"event-source-polyfill": "1.0.25",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.test.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.test.tsx
index 21540a4895..3f8e153b65 100644
--- a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.test.tsx
+++ b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.test.tsx
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-import { getReviewData } from './MultistepJsonForm';
+import { getReviewData, getUiSchemasFromSteps } from './ReviewStep';
describe('MultistepJsonForm', () => {
const formDataMock = {
@@ -76,7 +76,8 @@ describe('MultistepJsonForm', () => {
];
test('Fields are defined to be hidden or masked', () => {
- const reviewData = getReviewData(formDataMock, stepsMock);
+ const schemas = getUiSchemasFromSteps(stepsMock);
+ const reviewData = getReviewData(formDataMock, schemas);
expect(reviewData.password).toBe('******');
expect(reviewData.masked).toBe('******');
diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
index 7afbeb5a97..1fc63b2b61 100644
--- a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
+++ b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
@@ -13,41 +13,46 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import { JsonObject } from '@backstage/types';
import {
- Box,
Button,
- Paper,
Step as StepUI,
StepContent,
StepLabel,
Stepper,
Typography,
} from '@material-ui/core';
+import { JsonObject } from '@backstage/types';
import {
errorApiRef,
- useApi,
featureFlagsApiRef,
useAnalytics,
useRouteRefParams,
+ useApi,
} from '@backstage/core-plugin-api';
-import { FormProps, IChangeEvent, UiSchema, withTheme } from '@rjsf/core';
+import { FormProps, IChangeEvent, withTheme } from '@rjsf/core';
+import { UiSchema } from '@rjsf/utils';
import { Theme as MuiTheme } from '@rjsf/material-ui';
-import React, { useState } from 'react';
+import React, { ComponentType, useState } from 'react';
import { transformSchemaToProps } from './schema';
-import { Content, StructuredMetadataTable } from '@backstage/core-components';
import cloneDeep from 'lodash/cloneDeep';
import * as fieldOverrides from './FieldOverrides';
import { LayoutOptions } from '../../layouts';
+import { ReviewStepProps } from '../types';
+import { ReviewStep } from './ReviewStep';
import { selectedTemplateRouteRef } from '../../routes';
+import { extractSchemaFromStep } from '../../next/TemplateWizardPage/Stepper/schema';
const Form = withTheme(MuiTheme);
+
type Step = {
schema: JsonObject;
title: string;
} & Partial, 'schema'>>;
-type Props = {
+/**
+ * The props for a dynamic form of a scaffolder template.
+ */
+export type MultistepJsonFormProps = {
/**
* Steps for the form, each contains title and form schema
*/
@@ -60,62 +65,24 @@ type Props = {
fields?: FormProps['fields'];
finishButtonLabel?: string;
layouts: LayoutOptions[];
+ ReviewStepComponent?: ComponentType;
};
-export function getUiSchemasFromSteps(steps: Step[]): UiSchema[] {
- const uiSchemas: Array = [];
- steps.forEach(step => {
- const schemaProps = step.schema.properties as JsonObject;
- for (const key in schemaProps) {
- if (schemaProps.hasOwnProperty(key)) {
- const uiSchema = schemaProps[key] as UiSchema;
- uiSchema.name = key;
- uiSchemas.push(uiSchema);
- }
- }
- });
- return uiSchemas;
+export function getSchemasFromSteps(steps: Step[]): {
+ uiSchema: UiSchema;
+ mergedSchema: JsonObject;
+ schema: JsonObject;
+}[] {
+ return steps.map(({ schema }) => ({
+ mergedSchema: schema,
+ ...extractSchemaFromStep(schema),
+ }));
}
-export function getReviewData(formData: Record, steps: Step[]) {
- const uiSchemas = getUiSchemasFromSteps(steps);
- const reviewData: Record = {};
- for (const key in formData) {
- if (formData.hasOwnProperty(key)) {
- const uiSchema = uiSchemas.find(us => us.name === key);
-
- if (!uiSchema) {
- reviewData[key] = formData[key];
- continue;
- }
-
- if (uiSchema['ui:widget'] === 'password') {
- reviewData[key] = '******';
- continue;
- }
-
- if (!uiSchema['ui:backstage'] || !uiSchema['ui:backstage'].review) {
- reviewData[key] = formData[key];
- continue;
- }
-
- const review = uiSchema['ui:backstage'].review as JsonObject;
- if (review.mask) {
- reviewData[key] = review.mask;
- continue;
- }
-
- if (!review.show) {
- continue;
- }
- reviewData[key] = formData[key];
- }
- }
-
- return reviewData;
-}
-
-export const MultistepJsonForm = (props: Props) => {
+/**
+ * Creates the dynamic form for a scaffolder template.
+ */
+export const MultistepJsonForm = (props: MultistepJsonFormProps) => {
const {
formData,
onChange,
@@ -123,8 +90,8 @@ export const MultistepJsonForm = (props: Props) => {
onFinish,
fields,
widgets,
- finishButtonLabel,
layouts,
+ ReviewStepComponent,
} = props;
const { templateName } = useRouteRefParams(selectedTemplateRouteRef);
const analytics = useAnalytics();
@@ -197,6 +164,8 @@ export const MultistepJsonForm = (props: Props) => {
}
};
+ const ReviewStepElement = ReviewStepComponent ?? ReviewStep;
+
return (
<>
@@ -240,30 +209,14 @@ export const MultistepJsonForm = (props: Props) => {
})}
{activeStep === steps.length && (
-
-
- Review and create
-
-
-
-
-
-
-
+
)}
>
);
diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx
new file mode 100644
index 0000000000..d78d726869
--- /dev/null
+++ b/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2020 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 { Box, Button, Paper, Typography } from '@material-ui/core';
+import React from 'react';
+import { Content, StructuredMetadataTable } from '@backstage/core-components';
+import { UiSchema } from '@rjsf/core';
+import { JsonObject } from '@backstage/types';
+import { ReviewStepProps } from '../types';
+
+export function getReviewData(
+ formData: Record,
+ uiSchemas: UiSchema[],
+) {
+ const reviewData: Record = {};
+ for (const key in formData) {
+ if (formData.hasOwnProperty(key)) {
+ const uiSchema = uiSchemas.find(us => us.name === key);
+
+ if (!uiSchema) {
+ reviewData[key] = formData[key];
+ continue;
+ }
+
+ if (uiSchema['ui:widget'] === 'password') {
+ reviewData[key] = '******';
+ continue;
+ }
+
+ if (!uiSchema['ui:backstage'] || !uiSchema['ui:backstage'].review) {
+ reviewData[key] = formData[key];
+ continue;
+ }
+
+ const review = uiSchema['ui:backstage'].review as JsonObject;
+ if (review.mask) {
+ reviewData[key] = review.mask;
+ continue;
+ }
+
+ if (!review.show) {
+ continue;
+ }
+ reviewData[key] = formData[key];
+ }
+ }
+
+ return reviewData;
+}
+
+export function getUiSchemasFromSteps(
+ steps: {
+ schema: JsonObject;
+ }[],
+): UiSchema[] {
+ const uiSchemas: Array = [];
+ steps.forEach(step => {
+ const schemaProps = step.schema.properties as JsonObject;
+ for (const key in schemaProps) {
+ if (schemaProps.hasOwnProperty(key)) {
+ const uiSchema = schemaProps[key] as UiSchema;
+ uiSchema.name = key;
+ uiSchemas.push(uiSchema);
+ }
+ }
+ });
+ return uiSchemas;
+}
+
+/**
+ * The component displaying the Last Step in scaffolder template form.
+ * Which represents the summary of the input provided by the end user.
+ */
+export const ReviewStep = (props: ReviewStepProps) => {
+ const {
+ disableButtons,
+ formData,
+ handleBack,
+ handleCreate,
+ handleReset,
+ steps,
+ } = props;
+ return (
+
+
+ Review and create
+
+
+
+
+
+
+
+ );
+};
diff --git a/plugins/scaffolder/src/components/Router.tsx b/plugins/scaffolder/src/components/Router.tsx
index 9f46b427a0..d35bcbc67a 100644
--- a/plugins/scaffolder/src/components/Router.tsx
+++ b/plugins/scaffolder/src/components/Router.tsx
@@ -15,7 +15,7 @@
*/
import React, { ComponentType, useEffect } from 'react';
-import { Routes, Route, useOutlet, Navigate } from 'react-router';
+import { Navigate, Route, Routes, useOutlet } from 'react-router';
import { Entity } from '@backstage/catalog-model';
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderPage } from './ScaffolderPage';
@@ -26,10 +26,10 @@ import { SecretsContextProvider } from './secrets/SecretsContext';
import { TemplateEditorPage } from './TemplateEditorPage';
import {
- FieldExtensionOptions,
- FIELD_EXTENSION_WRAPPER_KEY,
- FIELD_EXTENSION_KEY,
DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS,
+ FIELD_EXTENSION_KEY,
+ FIELD_EXTENSION_WRAPPER_KEY,
+ FieldExtensionOptions,
} from '../extensions';
import {
useElementFilter,
@@ -46,6 +46,7 @@ import {
} from '../routes';
import { ListTasksPage } from './ListTasksPage';
import { LayoutOptions, LAYOUTS_KEY, LAYOUTS_WRAPPER_KEY } from '../layouts';
+import { ReviewStepProps } from './types';
/**
* The props for the entrypoint `ScaffolderPage` component the plugin.
@@ -53,6 +54,7 @@ import { LayoutOptions, LAYOUTS_KEY, LAYOUTS_WRAPPER_KEY } from '../layouts';
*/
export type RouterProps = {
components?: {
+ ReviewStepComponent?: ComponentType;
TemplateCardComponent?:
| ComponentType<{ template: TemplateEntityV1beta3 }>
| undefined;
@@ -87,7 +89,8 @@ export type RouterProps = {
export const Router = (props: RouterProps) => {
const { groups, components = {}, defaultPreviewTemplate } = props;
- const { TemplateCardComponent, TaskPageComponent } = components;
+ const { ReviewStepComponent, TemplateCardComponent, TaskPageComponent } =
+ components;
const outlet = useOutlet();
const TaskPageElement = TaskPageComponent ?? TaskPage;
@@ -161,6 +164,7 @@ export const Router = (props: RouterProps) => {
element={
{
const scaffolderApi = useApi(scaffolderApiRef);
@@ -52,6 +53,7 @@ const useTemplateParameterSchema = (templateRef: string) => {
};
type Props = {
+ ReviewStepComponent?: ComponentType;
customFieldExtensions?: FieldExtensionOptions[];
layouts?: LayoutOptions[];
headerOptions?: {
@@ -62,6 +64,7 @@ type Props = {
};
export const TemplatePage = ({
+ ReviewStepComponent,
customFieldExtensions = [],
layouts = [],
headerOptions,
@@ -155,6 +158,7 @@ export const TemplatePage = ({
titleTypographyProps={{ component: 'h2' }}
>
void;
+ handleReset: () => void;
+ handleCreate: () => void;
+ steps: {
+ uiSchema: UiSchema;
+ mergedSchema: JsonObject;
+ schema: JsonObject;
+ }[];
+};
diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx
index bf82fecf49..6c02492cd8 100644
--- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx
+++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx
@@ -19,6 +19,7 @@ import { Stepper } from './Stepper';
import { renderInTestApp } from '@backstage/test-utils';
import { act, fireEvent } from '@testing-library/react';
import type { RJSFValidationError } from '@rjsf/utils';
+import { JsonValue } from '@backstage/types';
describe('Stepper', () => {
it('should render the step titles for each step of the manifest', async () => {
@@ -187,4 +188,43 @@ describe('Stepper', () => {
expect(getByText('invalid postcode')).toBeInTheDocument();
});
+
+ it('should initialize formState with undefined form values', async () => {
+ const manifest: TemplateParameterSchema = {
+ steps: [
+ {
+ title: 'Step 1',
+ schema: {
+ properties: {
+ firstName: {
+ type: 'string',
+ },
+ },
+ },
+ },
+ ],
+ title: 'initialize formData',
+ };
+
+ const onComplete = jest.fn(async (values: Record) => {
+ expect(values).toHaveProperty('firstName');
+ });
+
+ const { getByRole } = await renderInTestApp(
+ ,
+ );
+
+ await act(async () => {
+ await fireEvent.click(getByRole('button', { name: 'Review' }));
+ });
+
+ expect(getByRole('button', { name: 'Create' })).toBeInTheDocument();
+
+ await act(async () => {
+ await fireEvent.click(getByRole('button', { name: 'Create' }));
+ });
+
+ // flush promises
+ return new Promise(process.nextTick);
+ });
});
diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx
index de06655aa1..7051b197f1 100644
--- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx
+++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx
@@ -37,6 +37,7 @@ import { ReviewState } from './ReviewState';
import validator from '@rjsf/validator-ajv8';
import { selectedTemplateRouteRef } from '../../../routes';
import type { ErrorTransformer } from '@rjsf/utils';
+import { getDefaultFormState } from '@rjsf/utils';
const useStyles = makeStyles(theme => ({
backButton: {
@@ -108,7 +109,18 @@ export const Stepper = (props: StepperProps) => {
// to display it's own loading? Or should we grey out the entire form.
setErrors(undefined);
- const returnedValidation = await validation(formData);
+ const schema = steps[activeStep]?.schema;
+ const rootSchema = steps[activeStep]?.mergedSchema;
+
+ const newFormData = getDefaultFormState(
+ validator,
+ schema,
+ formData,
+ rootSchema,
+ true,
+ );
+
+ const returnedValidation = await validation(newFormData);
const hasErrors = Object.values(returnedValidation).some(
i => i.__errors?.length,
@@ -124,7 +136,7 @@ export const Stepper = (props: StepperProps) => {
return stepNum;
});
}
- setFormState(current => ({ ...current, ...formData }));
+ setFormState(current => ({ ...current, ...newFormData }));
};
return (
diff --git a/plugins/scaffolder/src/plugin.ts b/plugins/scaffolder/src/plugin.tsx
similarity index 97%
rename from plugins/scaffolder/src/plugin.ts
rename to plugins/scaffolder/src/plugin.tsx
index a34105745f..cfa7af8128 100644
--- a/plugins/scaffolder/src/plugin.ts
+++ b/plugins/scaffolder/src/plugin.tsx
@@ -120,7 +120,7 @@ export const EntityNamePickerFieldExtension = scaffolderPlugin.provide(
/**
* The field extension which provides the ability to select a RepositoryUrl.
- * Currently this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
+ * Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
*
* @public
*/
diff --git a/plugins/search-backend-node/src/Scheduler.test.ts b/plugins/search-backend-node/src/Scheduler.test.ts
index 30e5c7e416..6daae3013d 100644
--- a/plugins/search-backend-node/src/Scheduler.test.ts
+++ b/plugins/search-backend-node/src/Scheduler.test.ts
@@ -204,4 +204,40 @@ describe('Scheduler', () => {
);
});
});
+
+ describe('stop', () => {
+ it('should abort tasks on stop', () => {
+ const run = jest.fn();
+
+ // Add tasks and interval to schedule
+ testScheduler.addToSchedule({
+ id: '1',
+ task: jest.fn(),
+ scheduledRunner: { run },
+ });
+ testScheduler.addToSchedule({
+ id: '2',
+ task: jest.fn(),
+ scheduledRunner: { run },
+ });
+
+ // Starts scheduling process
+ testScheduler.start();
+
+ const signals = run.mock.calls.map(([options]) => options.signal);
+
+ expect(signals).toHaveLength(2);
+
+ for (const signal of signals) {
+ expect(signal.aborted).toBeFalsy();
+ }
+
+ // Stops scheduling process
+ testScheduler.stop();
+
+ for (const signal of signals) {
+ expect(signal.aborted).toBeTruthy();
+ }
+ });
+ });
});
diff --git a/plugins/search-backend-node/src/Scheduler.ts b/plugins/search-backend-node/src/Scheduler.ts
index 872a410808..82d45df090 100644
--- a/plugins/search-backend-node/src/Scheduler.ts
+++ b/plugins/search-backend-node/src/Scheduler.ts
@@ -40,13 +40,13 @@ export type ScheduleTaskParameters = {
export class Scheduler {
private logger: Logger;
private schedule: { [id: string]: TaskEnvelope };
- private abortController: AbortController;
+ private abortControllers: AbortController[];
private isRunning: boolean;
constructor(options: { logger: Logger }) {
this.logger = options.logger;
this.schedule = {};
- this.abortController = new AbortController();
+ this.abortControllers = [];
this.isRunning = false;
}
@@ -78,11 +78,13 @@ export class Scheduler {
this.logger.info('Starting all scheduled search tasks.');
this.isRunning = true;
Object.keys(this.schedule).forEach(id => {
+ const abortController = new AbortController();
+ this.abortControllers.push(abortController);
const { task, scheduledRunner } = this.schedule[id];
scheduledRunner.run({
id,
fn: task,
- signal: this.abortController.signal,
+ signal: abortController.signal,
});
});
}
@@ -92,7 +94,10 @@ export class Scheduler {
*/
stop() {
this.logger.info('Stopping all scheduled search tasks.');
- this.abortController.abort();
+ for (const abortController of this.abortControllers) {
+ abortController.abort();
+ }
+ this.abortControllers = [];
this.isRunning = false;
}
}
diff --git a/plugins/search/package.json b/plugins/search/package.json
index 81a969db7f..33282faaf9 100644
--- a/plugins/search/package.json
+++ b/plugins/search/package.json
@@ -66,7 +66,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json
index 98b688499b..7a94be4841 100644
--- a/plugins/sentry/package.json
+++ b/plugins/sentry/package.json
@@ -62,7 +62,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json
index 773c6e019a..62581364f7 100644
--- a/plugins/shortcuts/package.json
+++ b/plugins/shortcuts/package.json
@@ -50,7 +50,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json
index e18ac34969..674eea9663 100644
--- a/plugins/sonarqube-backend/package.json
+++ b/plugins/sonarqube-backend/package.json
@@ -36,7 +36,7 @@
"@backstage/cli": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@types/supertest": "^2.0.12",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.2.4"
},
"files": [
diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json
index 1ea59e61f8..eba873d208 100644
--- a/plugins/sonarqube/package.json
+++ b/plugins/sonarqube/package.json
@@ -59,7 +59,7 @@
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json
index 53aefc5ee0..c184f2aeab 100644
--- a/plugins/splunk-on-call/package.json
+++ b/plugins/splunk-on-call/package.json
@@ -60,7 +60,7 @@
"@types/luxon": "^3.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"configSchema": "config.d.ts",
"files": [
diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json
index 96df3e4856..e6e75d8183 100644
--- a/plugins/stack-overflow/package.json
+++ b/plugins/stack-overflow/package.json
@@ -48,7 +48,7 @@
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json
index 387f88b9c3..87b03646f9 100644
--- a/plugins/tech-insights/package.json
+++ b/plugins/tech-insights/package.json
@@ -56,7 +56,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json
index 67a863e606..689d9b22c8 100644
--- a/plugins/tech-radar/package.json
+++ b/plugins/tech-radar/package.json
@@ -59,7 +59,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json
index 694c69ec58..99367c07f1 100644
--- a/plugins/techdocs-addons-test-utils/package.json
+++ b/plugins/techdocs-addons-test-utils/package.json
@@ -63,7 +63,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json
index d6c71c4ba1..35391ad2a9 100644
--- a/plugins/techdocs-backend/package.json
+++ b/plugins/techdocs-backend/package.json
@@ -59,7 +59,7 @@
"@backstage/cli": "workspace:^",
"@backstage/plugin-search-backend-node": "workspace:^",
"@types/dockerode": "^3.3.0",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json
index 91362aa4b0..8ad7811de8 100644
--- a/plugins/techdocs-module-addons-contrib/package.json
+++ b/plugins/techdocs-module-addons-contrib/package.json
@@ -61,7 +61,7 @@
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json
index 5762a3d8af..a7e7b4bd32 100644
--- a/plugins/techdocs/package.json
+++ b/plugins/techdocs/package.json
@@ -78,7 +78,7 @@
"@types/node": "^16.11.26",
"canvas": "^2.10.2",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist",
diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json
index f08ef060c5..98e738bdd8 100644
--- a/plugins/todo-backend/package.json
+++ b/plugins/todo-backend/package.json
@@ -45,7 +45,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.3"
},
"files": [
diff --git a/plugins/todo/package.json b/plugins/todo/package.json
index a098fe1132..f5c4816b29 100644
--- a/plugins/todo/package.json
+++ b/plugins/todo/package.json
@@ -54,7 +54,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json
index b8db3a5b03..36c08ad872 100644
--- a/plugins/user-settings/package.json
+++ b/plugins/user-settings/package.json
@@ -58,7 +58,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json
index 5a023e50e6..970c1a588a 100644
--- a/plugins/vault-backend/package.json
+++ b/plugins/vault-backend/package.json
@@ -53,7 +53,7 @@
"@backstage/cli": "workspace:^",
"@types/compression": "^1.7.2",
"@types/supertest": "^2.0.8",
- "msw": "^0.48.0",
+ "msw": "^0.49.0",
"supertest": "^6.1.6"
},
"files": [
diff --git a/plugins/vault/package.json b/plugins/vault/package.json
index 6b0a360e4e..ad508d978f 100644
--- a/plugins/vault/package.json
+++ b/plugins/vault/package.json
@@ -57,7 +57,7 @@
"@testing-library/user-event": "^14.0.0",
"@types/node": "*",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json
index 026391e627..01e3467de8 100644
--- a/plugins/xcmetrics/package.json
+++ b/plugins/xcmetrics/package.json
@@ -49,7 +49,7 @@
"@types/luxon": "^3.0.0",
"@types/node": "^16.11.26",
"cross-fetch": "^3.1.5",
- "msw": "^0.48.0"
+ "msw": "^0.49.0"
},
"files": [
"dist"
diff --git a/yarn.lock b/yarn.lock
index 6b3b3daefb..8e941eb7cb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -373,325 +373,325 @@ __metadata:
languageName: node
linkType: hard
-"@aws-sdk/abort-controller@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/abort-controller@npm:3.212.0"
+"@aws-sdk/abort-controller@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/abort-controller@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ba69d926f6939fe91d4d169c64106683fc467a0b1778d48ddae194f8abaf484a2c2e9f997b7de9d4bab9dcb30532551aec88c4e52aeed71f43eb7335bd159adc
+ checksum: eda64e8f93885a20b889374c6ae068799f9ee5ef91850a9c07e29465734a83c33b4bd37d961a61a2ff0c64ed18651a9878db40b1d7bb39aef4338a9167bfb605
languageName: node
linkType: hard
"@aws-sdk/client-sqs@npm:^3.0.0":
- version: 3.213.0
- resolution: "@aws-sdk/client-sqs@npm:3.213.0"
+ version: 3.215.0
+ resolution: "@aws-sdk/client-sqs@npm:3.215.0"
dependencies:
"@aws-crypto/sha256-browser": 2.0.0
"@aws-crypto/sha256-js": 2.0.0
- "@aws-sdk/client-sts": 3.213.0
- "@aws-sdk/config-resolver": 3.212.0
- "@aws-sdk/credential-provider-node": 3.212.0
- "@aws-sdk/fetch-http-handler": 3.212.0
- "@aws-sdk/hash-node": 3.212.0
- "@aws-sdk/invalid-dependency": 3.212.0
- "@aws-sdk/md5-js": 3.212.0
- "@aws-sdk/middleware-content-length": 3.212.0
- "@aws-sdk/middleware-endpoint": 3.212.0
- "@aws-sdk/middleware-host-header": 3.212.0
- "@aws-sdk/middleware-logger": 3.212.0
- "@aws-sdk/middleware-recursion-detection": 3.212.0
- "@aws-sdk/middleware-retry": 3.212.0
- "@aws-sdk/middleware-sdk-sqs": 3.212.0
- "@aws-sdk/middleware-serde": 3.212.0
- "@aws-sdk/middleware-signing": 3.212.0
- "@aws-sdk/middleware-stack": 3.212.0
- "@aws-sdk/middleware-user-agent": 3.212.0
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/node-http-handler": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/smithy-client": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/client-sts": 3.215.0
+ "@aws-sdk/config-resolver": 3.215.0
+ "@aws-sdk/credential-provider-node": 3.215.0
+ "@aws-sdk/fetch-http-handler": 3.215.0
+ "@aws-sdk/hash-node": 3.215.0
+ "@aws-sdk/invalid-dependency": 3.215.0
+ "@aws-sdk/md5-js": 3.215.0
+ "@aws-sdk/middleware-content-length": 3.215.0
+ "@aws-sdk/middleware-endpoint": 3.215.0
+ "@aws-sdk/middleware-host-header": 3.215.0
+ "@aws-sdk/middleware-logger": 3.215.0
+ "@aws-sdk/middleware-recursion-detection": 3.215.0
+ "@aws-sdk/middleware-retry": 3.215.0
+ "@aws-sdk/middleware-sdk-sqs": 3.215.0
+ "@aws-sdk/middleware-serde": 3.215.0
+ "@aws-sdk/middleware-signing": 3.215.0
+ "@aws-sdk/middleware-stack": 3.215.0
+ "@aws-sdk/middleware-user-agent": 3.215.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/node-http-handler": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/smithy-client": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
"@aws-sdk/util-base64": 3.208.0
"@aws-sdk/util-body-length-browser": 3.188.0
"@aws-sdk/util-body-length-node": 3.208.0
- "@aws-sdk/util-defaults-mode-browser": 3.212.0
- "@aws-sdk/util-defaults-mode-node": 3.212.0
- "@aws-sdk/util-endpoints": 3.212.0
- "@aws-sdk/util-user-agent-browser": 3.212.0
- "@aws-sdk/util-user-agent-node": 3.212.0
+ "@aws-sdk/util-defaults-mode-browser": 3.215.0
+ "@aws-sdk/util-defaults-mode-node": 3.215.0
+ "@aws-sdk/util-endpoints": 3.215.0
+ "@aws-sdk/util-user-agent-browser": 3.215.0
+ "@aws-sdk/util-user-agent-node": 3.215.0
"@aws-sdk/util-utf8-browser": 3.188.0
"@aws-sdk/util-utf8-node": 3.208.0
fast-xml-parser: 4.0.11
tslib: ^2.3.1
- checksum: baa9d4c816cae23874f14fe4c6c6da26b8d52b65d459167ebacbc3ec207ef2a83860f452df8b47e11231587e9b1d7a1aedc74051bb79473037756e4d6e492b36
+ checksum: fb62353c5b03369aab049e48c2c262ae5acf78663d9ef05ee951581594b14772d37fe66500564be78dd37ef270700835a8866753dc8295d2b47164ccaff27312
languageName: node
linkType: hard
-"@aws-sdk/client-sso-oidc@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/client-sso-oidc@npm:3.212.0"
+"@aws-sdk/client-sso-oidc@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/client-sso-oidc@npm:3.215.0"
dependencies:
"@aws-crypto/sha256-browser": 2.0.0
"@aws-crypto/sha256-js": 2.0.0
- "@aws-sdk/config-resolver": 3.212.0
- "@aws-sdk/fetch-http-handler": 3.212.0
- "@aws-sdk/hash-node": 3.212.0
- "@aws-sdk/invalid-dependency": 3.212.0
- "@aws-sdk/middleware-content-length": 3.212.0
- "@aws-sdk/middleware-endpoint": 3.212.0
- "@aws-sdk/middleware-host-header": 3.212.0
- "@aws-sdk/middleware-logger": 3.212.0
- "@aws-sdk/middleware-recursion-detection": 3.212.0
- "@aws-sdk/middleware-retry": 3.212.0
- "@aws-sdk/middleware-serde": 3.212.0
- "@aws-sdk/middleware-stack": 3.212.0
- "@aws-sdk/middleware-user-agent": 3.212.0
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/node-http-handler": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/smithy-client": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/config-resolver": 3.215.0
+ "@aws-sdk/fetch-http-handler": 3.215.0
+ "@aws-sdk/hash-node": 3.215.0
+ "@aws-sdk/invalid-dependency": 3.215.0
+ "@aws-sdk/middleware-content-length": 3.215.0
+ "@aws-sdk/middleware-endpoint": 3.215.0
+ "@aws-sdk/middleware-host-header": 3.215.0
+ "@aws-sdk/middleware-logger": 3.215.0
+ "@aws-sdk/middleware-recursion-detection": 3.215.0
+ "@aws-sdk/middleware-retry": 3.215.0
+ "@aws-sdk/middleware-serde": 3.215.0
+ "@aws-sdk/middleware-stack": 3.215.0
+ "@aws-sdk/middleware-user-agent": 3.215.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/node-http-handler": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/smithy-client": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
"@aws-sdk/util-base64": 3.208.0
"@aws-sdk/util-body-length-browser": 3.188.0
"@aws-sdk/util-body-length-node": 3.208.0
- "@aws-sdk/util-defaults-mode-browser": 3.212.0
- "@aws-sdk/util-defaults-mode-node": 3.212.0
- "@aws-sdk/util-endpoints": 3.212.0
- "@aws-sdk/util-user-agent-browser": 3.212.0
- "@aws-sdk/util-user-agent-node": 3.212.0
+ "@aws-sdk/util-defaults-mode-browser": 3.215.0
+ "@aws-sdk/util-defaults-mode-node": 3.215.0
+ "@aws-sdk/util-endpoints": 3.215.0
+ "@aws-sdk/util-user-agent-browser": 3.215.0
+ "@aws-sdk/util-user-agent-node": 3.215.0
"@aws-sdk/util-utf8-browser": 3.188.0
"@aws-sdk/util-utf8-node": 3.208.0
tslib: ^2.3.1
- checksum: 45f32b8c0a39d3d6788d5a359aff1bcd42c4ada3edb4d6ef072741a9128fc726090fb7e4b5770307f106eb6470f1a29c70843b628ef1652a944cd8dcbe4e8112
+ checksum: d53e56e3a4fecdfedaaf5d633381bf668d828b7f8711a5a3040f045069eab1a80a2e3ba808122d9e0a13fc621a507a551861927e907b50242792424dabd30772
languageName: node
linkType: hard
-"@aws-sdk/client-sso@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/client-sso@npm:3.212.0"
+"@aws-sdk/client-sso@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/client-sso@npm:3.215.0"
dependencies:
"@aws-crypto/sha256-browser": 2.0.0
"@aws-crypto/sha256-js": 2.0.0
- "@aws-sdk/config-resolver": 3.212.0
- "@aws-sdk/fetch-http-handler": 3.212.0
- "@aws-sdk/hash-node": 3.212.0
- "@aws-sdk/invalid-dependency": 3.212.0
- "@aws-sdk/middleware-content-length": 3.212.0
- "@aws-sdk/middleware-endpoint": 3.212.0
- "@aws-sdk/middleware-host-header": 3.212.0
- "@aws-sdk/middleware-logger": 3.212.0
- "@aws-sdk/middleware-recursion-detection": 3.212.0
- "@aws-sdk/middleware-retry": 3.212.0
- "@aws-sdk/middleware-serde": 3.212.0
- "@aws-sdk/middleware-stack": 3.212.0
- "@aws-sdk/middleware-user-agent": 3.212.0
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/node-http-handler": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/smithy-client": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/config-resolver": 3.215.0
+ "@aws-sdk/fetch-http-handler": 3.215.0
+ "@aws-sdk/hash-node": 3.215.0
+ "@aws-sdk/invalid-dependency": 3.215.0
+ "@aws-sdk/middleware-content-length": 3.215.0
+ "@aws-sdk/middleware-endpoint": 3.215.0
+ "@aws-sdk/middleware-host-header": 3.215.0
+ "@aws-sdk/middleware-logger": 3.215.0
+ "@aws-sdk/middleware-recursion-detection": 3.215.0
+ "@aws-sdk/middleware-retry": 3.215.0
+ "@aws-sdk/middleware-serde": 3.215.0
+ "@aws-sdk/middleware-stack": 3.215.0
+ "@aws-sdk/middleware-user-agent": 3.215.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/node-http-handler": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/smithy-client": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
"@aws-sdk/util-base64": 3.208.0
"@aws-sdk/util-body-length-browser": 3.188.0
"@aws-sdk/util-body-length-node": 3.208.0
- "@aws-sdk/util-defaults-mode-browser": 3.212.0
- "@aws-sdk/util-defaults-mode-node": 3.212.0
- "@aws-sdk/util-endpoints": 3.212.0
- "@aws-sdk/util-user-agent-browser": 3.212.0
- "@aws-sdk/util-user-agent-node": 3.212.0
+ "@aws-sdk/util-defaults-mode-browser": 3.215.0
+ "@aws-sdk/util-defaults-mode-node": 3.215.0
+ "@aws-sdk/util-endpoints": 3.215.0
+ "@aws-sdk/util-user-agent-browser": 3.215.0
+ "@aws-sdk/util-user-agent-node": 3.215.0
"@aws-sdk/util-utf8-browser": 3.188.0
"@aws-sdk/util-utf8-node": 3.208.0
tslib: ^2.3.1
- checksum: 14426e200171d3ee596f946744d8ee325b3f8fbfcfb3f266482142df20ee418752b64be1131b473cf0b60ed8615dab1cd9350f93a547dca34ca84c07c47fc697
+ checksum: 0408ef93d3e378aec746cc2eb14b2429de49c0a2599519906e9c7e726ab264e300453f6b486282954bf3148073982b12f9aad1f6cdd767045a4dfc891ee56a91
languageName: node
linkType: hard
-"@aws-sdk/client-sts@npm:3.213.0":
- version: 3.213.0
- resolution: "@aws-sdk/client-sts@npm:3.213.0"
+"@aws-sdk/client-sts@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/client-sts@npm:3.215.0"
dependencies:
"@aws-crypto/sha256-browser": 2.0.0
"@aws-crypto/sha256-js": 2.0.0
- "@aws-sdk/config-resolver": 3.212.0
- "@aws-sdk/credential-provider-node": 3.212.0
- "@aws-sdk/fetch-http-handler": 3.212.0
- "@aws-sdk/hash-node": 3.212.0
- "@aws-sdk/invalid-dependency": 3.212.0
- "@aws-sdk/middleware-content-length": 3.212.0
- "@aws-sdk/middleware-endpoint": 3.212.0
- "@aws-sdk/middleware-host-header": 3.212.0
- "@aws-sdk/middleware-logger": 3.212.0
- "@aws-sdk/middleware-recursion-detection": 3.212.0
- "@aws-sdk/middleware-retry": 3.212.0
- "@aws-sdk/middleware-sdk-sts": 3.212.0
- "@aws-sdk/middleware-serde": 3.212.0
- "@aws-sdk/middleware-signing": 3.212.0
- "@aws-sdk/middleware-stack": 3.212.0
- "@aws-sdk/middleware-user-agent": 3.212.0
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/node-http-handler": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/smithy-client": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/config-resolver": 3.215.0
+ "@aws-sdk/credential-provider-node": 3.215.0
+ "@aws-sdk/fetch-http-handler": 3.215.0
+ "@aws-sdk/hash-node": 3.215.0
+ "@aws-sdk/invalid-dependency": 3.215.0
+ "@aws-sdk/middleware-content-length": 3.215.0
+ "@aws-sdk/middleware-endpoint": 3.215.0
+ "@aws-sdk/middleware-host-header": 3.215.0
+ "@aws-sdk/middleware-logger": 3.215.0
+ "@aws-sdk/middleware-recursion-detection": 3.215.0
+ "@aws-sdk/middleware-retry": 3.215.0
+ "@aws-sdk/middleware-sdk-sts": 3.215.0
+ "@aws-sdk/middleware-serde": 3.215.0
+ "@aws-sdk/middleware-signing": 3.215.0
+ "@aws-sdk/middleware-stack": 3.215.0
+ "@aws-sdk/middleware-user-agent": 3.215.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/node-http-handler": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/smithy-client": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
"@aws-sdk/util-base64": 3.208.0
"@aws-sdk/util-body-length-browser": 3.188.0
"@aws-sdk/util-body-length-node": 3.208.0
- "@aws-sdk/util-defaults-mode-browser": 3.212.0
- "@aws-sdk/util-defaults-mode-node": 3.212.0
- "@aws-sdk/util-endpoints": 3.212.0
- "@aws-sdk/util-user-agent-browser": 3.212.0
- "@aws-sdk/util-user-agent-node": 3.212.0
+ "@aws-sdk/util-defaults-mode-browser": 3.215.0
+ "@aws-sdk/util-defaults-mode-node": 3.215.0
+ "@aws-sdk/util-endpoints": 3.215.0
+ "@aws-sdk/util-user-agent-browser": 3.215.0
+ "@aws-sdk/util-user-agent-node": 3.215.0
"@aws-sdk/util-utf8-browser": 3.188.0
"@aws-sdk/util-utf8-node": 3.208.0
fast-xml-parser: 4.0.11
tslib: ^2.3.1
- checksum: 6d375d8d22bdd08130ea624d6b980e366ce556b3178a4dbfcfd7ec7b9ab629dd57d34b350129231bd96be078778df0de6c61783c49a739142b055882f943f7d2
+ checksum: 8a0d3a63f1e22320287d8eda20ce63026c4aeaf7c6f809769be9c03e2baa88b68139aaf7c7119cd5f9befb4578657aec6a09e12d4eeee6cd664dc9f5163988fb
languageName: node
linkType: hard
-"@aws-sdk/config-resolver@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/config-resolver@npm:3.212.0"
+"@aws-sdk/config-resolver@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/config-resolver@npm:3.215.0"
dependencies:
- "@aws-sdk/signature-v4": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/signature-v4": 3.215.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-config-provider": 3.208.0
- "@aws-sdk/util-middleware": 3.212.0
+ "@aws-sdk/util-middleware": 3.215.0
tslib: ^2.3.1
- checksum: 2d2844b93ca27a60d311d6998582bba99ac922299db76309f6136625ffaeecba172b906dee2598c381aebd5c88ca5b5442e5dfdcaa932ddaaf88d7257953022a
+ checksum: d2ec1ca0da965a0baa4610a43186654dbacdab697b826ff9ebaff3004e4cd472a17e4757ea3eac463dd88390a8ae8475090b7d88cd2a2a5cdcb99a4dbf3835d4
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-env@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-env@npm:3.212.0"
+"@aws-sdk/credential-provider-env@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-env@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: da7af6765a551b9c55c56d5e1f287877839aec8cfbe301d4b483180a72f62113e15b87c8b4dbbe608e06db96bcad52b3becc9f02f3664607f0c477d03fef1bac
+ checksum: fa878a7dc53e964aa6228b5879c419b6e8aebc74b1e560df8980ec51b40a998d0a43eab8c5ab366c6afae831b43d88310e776cea3f5cfdb4755067cbefde1be4
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-imds@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-imds@npm:3.212.0"
+"@aws-sdk/credential-provider-imds@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-imds@npm:3.215.0"
dependencies:
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
tslib: ^2.3.1
- checksum: 4b3c31bc88a1bf15d0721c7e124795361c6f532ee1b33400f2f71393d60ee5c14b0bf2b4e2abc6c3ef22aa8304aa19e5d9e3e733e17da454e3371615567440dc
+ checksum: 341e1c1af4a3908e635558791b67346bba31ff0d6b6c5a44e1b4af912eda3163ec1edc8933c9f5e123979b0e179a160505a2407efff15c9597e91521783167b7
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-ini@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-ini@npm:3.212.0"
+"@aws-sdk/credential-provider-ini@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-ini@npm:3.215.0"
dependencies:
- "@aws-sdk/credential-provider-env": 3.212.0
- "@aws-sdk/credential-provider-imds": 3.212.0
- "@aws-sdk/credential-provider-sso": 3.212.0
- "@aws-sdk/credential-provider-web-identity": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/credential-provider-env": 3.215.0
+ "@aws-sdk/credential-provider-imds": 3.215.0
+ "@aws-sdk/credential-provider-sso": 3.215.0
+ "@aws-sdk/credential-provider-web-identity": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: de60d4729ed6e162628563990b08be88486131c09ec372190a9b38faea72d8969d1e277b2e01a28fa3432c34e92bd39057fc6b923de9fcd0fcabd5b9ec69425e
+ checksum: c1644c8eb42d1275c81f94aef5e159a77bb5c48187985d628ab67b52cc6f02dcfc15aff37331ba9abef5b6e327818ea56679b2aef1cca8c02674899043709fee
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-node@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-node@npm:3.212.0"
+"@aws-sdk/credential-provider-node@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-node@npm:3.215.0"
dependencies:
- "@aws-sdk/credential-provider-env": 3.212.0
- "@aws-sdk/credential-provider-imds": 3.212.0
- "@aws-sdk/credential-provider-ini": 3.212.0
- "@aws-sdk/credential-provider-process": 3.212.0
- "@aws-sdk/credential-provider-sso": 3.212.0
- "@aws-sdk/credential-provider-web-identity": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/credential-provider-env": 3.215.0
+ "@aws-sdk/credential-provider-imds": 3.215.0
+ "@aws-sdk/credential-provider-ini": 3.215.0
+ "@aws-sdk/credential-provider-process": 3.215.0
+ "@aws-sdk/credential-provider-sso": 3.215.0
+ "@aws-sdk/credential-provider-web-identity": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 421a65b57cfd280a14707c8563da285263a55471d1c3fbfe66305f0d42dcc59fb2884e84d380b8bcf2fea0ccdd419e92b5361b5b2a5832cf45ca0c86127a0137
+ checksum: 7b8d978e9b93a6e076e3e591e9aca2f96befacb6d570ead8ab587e63e4a8e2dff5e4dd374a381c4ce3db5ee6b1c8cb4972025f68c07d5eb31c3a1f8d49ce80fe
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-process@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-process@npm:3.212.0"
+"@aws-sdk/credential-provider-process@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-process@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 4842577d8c7b2daa80db20f5a21e56a42a57de9c5d27c50806a2c76e5b0eb0fa9d6b5aed9dcae1d0820ce410999e139f81b0440d33dc104cbc357a3f59680d8f
+ checksum: 5e8f70e94fc4ec0d347e96b65bd18faba93c9ff7b30f9f24268789bcaa121905295c7fc575ca29842484a6315b3772214dac2621b1b85184c4ded9f924aec5c8
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-sso@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-sso@npm:3.212.0"
+"@aws-sdk/credential-provider-sso@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-sso@npm:3.215.0"
dependencies:
- "@aws-sdk/client-sso": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/token-providers": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/client-sso": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/token-providers": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: b575af71e26343536997261ac97820afa697b789b152106f64fea1e24fe6a21437a195f46a23828b92dbd82a32d7c4339d834a0aa52dd2e075974363c1f8837f
+ checksum: 54f17a4fad43194d0ed458534df67bfe5602703bf503e68271c8774e8a76676d102a59041204e7781978a5a0904ceb74b04e0d950c307be3b989c28af71eccc4
languageName: node
linkType: hard
-"@aws-sdk/credential-provider-web-identity@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/credential-provider-web-identity@npm:3.212.0"
+"@aws-sdk/credential-provider-web-identity@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/credential-provider-web-identity@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 1bef8b133fed07802e82406d3e46d7bdd110197b1416debd8953f7192814ebf2a6300520adfe62a9b68bc84fab70fd97fd3f4126855c297b8bbb947ce97d4184
+ checksum: f012d3789817c42487a66058c7efadc95aa17afa02a7c652821c79195e18f20884e6b02c9b74e2a2260682f49349f7a8e9b524d3b0e1db4cace8a01a7f7dacf3
languageName: node
linkType: hard
-"@aws-sdk/fetch-http-handler@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/fetch-http-handler@npm:3.212.0"
+"@aws-sdk/fetch-http-handler@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/fetch-http-handler@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/querystring-builder": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/querystring-builder": 3.215.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-base64": 3.208.0
tslib: ^2.3.1
- checksum: 477601560df9a58c8e6bb50cdc313205fc75681699275f153e96ce6c62cf1c55ec8c394bb4774ba69a483987094b7416aa8e3fb5c89cdd530adb25e1cd909cb9
+ checksum: 7031944b65100023fdee709d4c38845fc5fe7ab01d3fabdd8fb13c32a326811c1ddcc201f6171fe5847b4bebd171a6a37c77068c5439ee29acf38078e16ef556
languageName: node
linkType: hard
-"@aws-sdk/hash-node@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/hash-node@npm:3.212.0"
+"@aws-sdk/hash-node@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/hash-node@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-buffer-from": 3.208.0
tslib: ^2.3.1
- checksum: f5855ff20e37a0779da515fa78f26413762a5246c1b06a4e35f11f7aa4fd742a639a2b3d00f63004a5de659f233c5d503b469a744bb6911f9159602a79676789
+ checksum: 8d50f46c195b48304ba69107adf31e3380a1952920c373031c5ed31f936300c24b492ad477ae3e868a73834cffc78177294bee2a683904133ca516ebb3b64bef
languageName: node
linkType: hard
-"@aws-sdk/invalid-dependency@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/invalid-dependency@npm:3.212.0"
+"@aws-sdk/invalid-dependency@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/invalid-dependency@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: c71f32895f2a7760a916d8b8abba8b3d2c40869422d083da13abb096931ed04d67a65695f024ce74efced33745a10c9f904779f1414d2fc9a80be3d1d95284f9
+ checksum: f3ba901c3884c943909ec344bd5e17cdb13a5246a53d1e8e33fda036f45cb944dcfb52ef948d04d1d27cf514ef711ef65d1f2c3cc5048624b8fc49493d72837f
languageName: node
linkType: hard
@@ -704,296 +704,296 @@ __metadata:
languageName: node
linkType: hard
-"@aws-sdk/md5-js@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/md5-js@npm:3.212.0"
+"@aws-sdk/md5-js@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/md5-js@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-utf8-browser": 3.188.0
"@aws-sdk/util-utf8-node": 3.208.0
tslib: ^2.3.1
- checksum: d49b7eb9b3b78bbc78c247565041ea4119a6c82765e5b989a716d31def4da4de69f5dcbaf1ed32a89f23a1484e233a51a73f90da877952510250ca0a2c7311a1
+ checksum: 7e51e56cd4c1a91ec00c2d97dfa895497d5755a59feeb0a83eec871c2b6c62b2f0623d7a057b9670c871aea0010abe384236190944d0ecd913e61bf95526d0bc
languageName: node
linkType: hard
-"@aws-sdk/middleware-content-length@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-content-length@npm:3.212.0"
+"@aws-sdk/middleware-content-length@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-content-length@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ef6a5467b84205b94ee90761d72cf14d52d49392086fb6358e07940b062a9f6e514b6649a9e0e87f0b3305cf54f5d85b712f394843a4417c590f630abeba2cdd
+ checksum: 7f41e88463faa0134be2c57bae62cd3c48fd2e6973d987e10a72f3c5cabc238cf5f59a9a8d6e92f5989e460f668f03c3b034fe54192391314de2431f77681aae
languageName: node
linkType: hard
-"@aws-sdk/middleware-endpoint@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-endpoint@npm:3.212.0"
+"@aws-sdk/middleware-endpoint@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-endpoint@npm:3.215.0"
dependencies:
- "@aws-sdk/middleware-serde": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/signature-v4": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/url-parser": 3.212.0
+ "@aws-sdk/middleware-serde": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/signature-v4": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/url-parser": 3.215.0
"@aws-sdk/util-config-provider": 3.208.0
- "@aws-sdk/util-middleware": 3.212.0
+ "@aws-sdk/util-middleware": 3.215.0
tslib: ^2.3.1
- checksum: 0b34bd25dfaf05d009ba327abb00916c1a5ffa9c58b1baecaee120468ddf3aa4b7998b8b1ae33fca789494fe95a3bc0921050d667da396552239d542ae030675
+ checksum: cf57854b88ca43874e25dd4d160525a9cf0844319fb20bfdbfe6100570724ecafaf1c0014c803ee477ad85fd2a2b80686ec8e7b2ae69118ac3453b05f4bffc0f
languageName: node
linkType: hard
-"@aws-sdk/middleware-host-header@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-host-header@npm:3.212.0"
+"@aws-sdk/middleware-host-header@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-host-header@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: c852de97a8763452b31136fc7ece3ba3026603665204a2982781a600139e346f08ca146331735d377b1f04a662bae9d44b78deef797d5bbee366f56ee91d7bc6
+ checksum: 461158ce46c5ca089d12a63b37ed064cc584b48d6b49523c11bcb690fdf811fb3d5603554d5f92c58dcf26d4948308cd7433d7a26c20a934d07e816cbf67a3a3
languageName: node
linkType: hard
-"@aws-sdk/middleware-logger@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-logger@npm:3.212.0"
+"@aws-sdk/middleware-logger@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-logger@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 1bc12d88da134e6cfa9ecf102c7a80727f1f00e09e97f06d44f4a6d1da21711a7abf9f0bdf39ab789736925f97f781574cb1e49f275f7ea1112fc0db443753f2
+ checksum: 7d90e2195e68e1e7c04f52f8b8bdbbcc800f879200082892668477d17ae064beb6e7352540f262758b004d40560039426f6971396569c79eb9b4a51cba701081
languageName: node
linkType: hard
-"@aws-sdk/middleware-recursion-detection@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-recursion-detection@npm:3.212.0"
+"@aws-sdk/middleware-recursion-detection@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-recursion-detection@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 65cb31460dfd88a5997764d84e23003264c639b7848ad9398f9f362a7214ef175431e833dff4bf501bb81cb9b695e146c042b02986dfa6fab8812058bca7f9c7
+ checksum: 0bf6eda1208cc39ac92ce25b82c8cddae990c960096d5cffc57646d8fddfa5e3bcfff44cf6a99e1a60b613f48bdc015a6e056c55b790a996db7b3dddf47867eb
languageName: node
linkType: hard
-"@aws-sdk/middleware-retry@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-retry@npm:3.212.0"
+"@aws-sdk/middleware-retry@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-retry@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/service-error-classification": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/util-middleware": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/service-error-classification": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/util-middleware": 3.215.0
tslib: ^2.3.1
uuid: ^8.3.2
- checksum: 1e221bf49585d9fea675f83d8b5d18f4b20de5b4096cc94dc51d265bdd579aa205b11a0735954dc9d7990f33fbe1165304342480ab15b79431d7988b74efcf05
+ checksum: 6b5d5d9a370e2c46df14654f38ae9aab639dc429f216155556706352dc607c24ad79ff5c03533c8f5e40134e6d5209ce77b3856e0ba49c93ce93255da7b3c6fe
languageName: node
linkType: hard
-"@aws-sdk/middleware-sdk-sqs@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.212.0"
+"@aws-sdk/middleware-sdk-sqs@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-hex-encoding": 3.201.0
tslib: ^2.3.1
- checksum: 12ab5d80d8025a737aa3e5c7f8025bbf824fe2719618356b011fb0901135828f0ee10eb15b7bf0ad81e4de3159c8a6bba97c3b3cfc186e26bd6dbefab16682a5
+ checksum: f09a4ca9701bd4687c1cfa764e98f88c672d36a0c4b39d66e5da3f3c022457764d7c5aee76373b753e5f4cb332be65db21552862354b2f96ce05a30a137927c4
languageName: node
linkType: hard
-"@aws-sdk/middleware-sdk-sts@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-sdk-sts@npm:3.212.0"
+"@aws-sdk/middleware-sdk-sts@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-sdk-sts@npm:3.215.0"
dependencies:
- "@aws-sdk/middleware-signing": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/signature-v4": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/middleware-signing": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/signature-v4": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: af3a03802e07ed1375a6d7feb6a9abbec8cba175138c49b8fb4d42843330db65e550a505539765a1f65944a3a4a840259b503d9e4a28f210ea83c0f2683e5e27
+ checksum: bace7de141bef58b491d837e00ad4e0acbf6c4f79b8af80e0665dc36aa0cf31a21aa18101a1390096af11a76c5ffacf25995c1cf998874576b35ffd1a5146b3f
languageName: node
linkType: hard
-"@aws-sdk/middleware-serde@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-serde@npm:3.212.0"
+"@aws-sdk/middleware-serde@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-serde@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 1d9438e1e3a177a30d39787a6493f15a9726dd820552a995ca771ee58df004f6575ed322fd59658a7478c4fe72dfaf40bb61b1fd441a6ec1a245370e4ef17da9
+ checksum: 45caf42bc4aaa6e1c7fd16fd8f219c0629c939c3adfb8274b6a6fed1e62ff1237ee208e387352655580a9a6c8d7fef704cff1f6f51b5bc237b98fee7b193a959
languageName: node
linkType: hard
-"@aws-sdk/middleware-signing@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-signing@npm:3.212.0"
+"@aws-sdk/middleware-signing@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-signing@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/signature-v4": 3.212.0
- "@aws-sdk/types": 3.212.0
- "@aws-sdk/util-middleware": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/signature-v4": 3.215.0
+ "@aws-sdk/types": 3.215.0
+ "@aws-sdk/util-middleware": 3.215.0
tslib: ^2.3.1
- checksum: f9e2c07a9e80bc67ea05766f505c750652a2d355eb98a2f2296707a3af15bb2d591e8257a9aa3683721c47814e49fd3b266746d95ea8cb362eaaf8ab4afba08d
+ checksum: a1c8c9b1a0cbde5f64ce5779f8e05494ffeed07bb7e6fe454baf9accf92bd5758dbb09cf0b5ae3f03d081e193af6197ff24659746d390d7e0c2f959f9014c073
languageName: node
linkType: hard
-"@aws-sdk/middleware-stack@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-stack@npm:3.212.0"
+"@aws-sdk/middleware-stack@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-stack@npm:3.215.0"
dependencies:
tslib: ^2.3.1
- checksum: b9ce8fdae58f68f259aea823e39f22b8f893402bad25d4c87f614e0dc14412d66bc3c08607190856b9122f2d431f94a78dd8ddec7700f5afe8d956ff12913a00
+ checksum: dc9c99969d178857ab975387f6326eb3c65fe1679087de719ea3dd25a3973bea310778ae45c61891de9cc41ce640f483dc9ff4f62af6669f3124029277f870aa
languageName: node
linkType: hard
-"@aws-sdk/middleware-user-agent@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/middleware-user-agent@npm:3.212.0"
+"@aws-sdk/middleware-user-agent@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/middleware-user-agent@npm:3.215.0"
dependencies:
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ef18b7b7755190e864946156dd741f7b513efaea160f4a4e2e2088e609d51660bd5dc577fb3e78bebc6105741b3b6e66a06bc77c0e027f4096fca90b918cb8b0
+ checksum: 054f10a197876acc32d1903575855870edc9f5fe1fd7809dda47210e1b0717c7604e3cd916b34df7aa9f5cbe1ad9fa85934913ec51109a2740e3aed450587633
languageName: node
linkType: hard
-"@aws-sdk/node-config-provider@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/node-config-provider@npm:3.212.0"
+"@aws-sdk/node-config-provider@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/node-config-provider@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: c8e742c225ea4803d0f3318de8d93f756e5008e76ecc2d88fcb80e6733b29984b40d39a47a08d51fa23c00b0dbf3f0bd3b60eb44768abb48466a2493a61195ed
+ checksum: a23677a836a43bd0d4dd00cab64c42d1c69eafe8ccb833ea08a7b43ab0e891ad67a96757610fdd48a6d1cd749c29aaa1de14d894468c9e79e987e13d979c4382
languageName: node
linkType: hard
-"@aws-sdk/node-http-handler@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/node-http-handler@npm:3.212.0"
+"@aws-sdk/node-http-handler@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/node-http-handler@npm:3.215.0"
dependencies:
- "@aws-sdk/abort-controller": 3.212.0
- "@aws-sdk/protocol-http": 3.212.0
- "@aws-sdk/querystring-builder": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/abort-controller": 3.215.0
+ "@aws-sdk/protocol-http": 3.215.0
+ "@aws-sdk/querystring-builder": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 052e4a3854823bd3877fc2baeca8fae9cdb2083beb96b4734f08eba70cb73c7abaf5dc6487d5ace0757257debc56f656d9da247d227669196d3e20a1fa97563d
+ checksum: 7b87cce3393553b9b2cd494aea49075fdafb8c7d9b4d61c44928e7e50f3f2909c6f57547ed504ce7b36b8dc17cc8fc8f0e882a7894898bb3cd5decc9e3de2d65
languageName: node
linkType: hard
-"@aws-sdk/property-provider@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/property-provider@npm:3.212.0"
+"@aws-sdk/property-provider@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/property-provider@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ac30dd5777f2cce6aaa9c3ac2672bada2f8423330c545ea66913d731b6e0f48a802b9f15c48ccb7620dd0f9e8c4c3a9d27bd445a7c9d72bb30115c1954207234
+ checksum: 0cb519ff8db962b2e65867b4ae5af12b0b517ace1e6f5d5f0a0f65790d087d734004b91454a2b97d842fc7799b0f0ebe4da7209360f627eac6c07af7e6ddb55b
languageName: node
linkType: hard
-"@aws-sdk/protocol-http@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/protocol-http@npm:3.212.0"
+"@aws-sdk/protocol-http@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/protocol-http@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 6330d3259a560e952202ae9b964c210ab1b25b9161d4fc27da1bc081600abe2461854659a3b560764c8e2d1e8c1212bcc061250945f1f9c0ee3a19475fb17464
+ checksum: fd1d6db6168c3129b5311b42937f56731de5b536c11ffed08f8f7e3e1bbda1732e2632f642e601dd4af32722b78d179827772ae4564cea03553395dfa01e02d2
languageName: node
linkType: hard
-"@aws-sdk/querystring-builder@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/querystring-builder@npm:3.212.0"
+"@aws-sdk/querystring-builder@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/querystring-builder@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-uri-escape": 3.201.0
tslib: ^2.3.1
- checksum: 0bbd748f548c695d040b9ed225a2eb3fbba65b767acdba8dd8e157988b4ea66d22b994721d6eb5afcbfef7c49b105ab3a779534f4b2ae7e0d266f84159511e23
+ checksum: 68584d4de16eea7c649bad71b938716917e53aa42aca9a9298a7a21b2dd2195d3e0e5719f0f4a16e448d18f4db6d8ae2ea4229dff4f6a8807712a81097b7aa4c
languageName: node
linkType: hard
-"@aws-sdk/querystring-parser@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/querystring-parser@npm:3.212.0"
+"@aws-sdk/querystring-parser@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/querystring-parser@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ab73e0d3a4fd94cc5141fe65940ee700bc6d3497f68518687c196b415cac5f7e44fd71039f6b7abb6eafb7777fe85b7d8f7cb006238b8deaf1248af2a53d7e29
+ checksum: cfccb89aecadea63c3937e3db06690f2927aa32c8d98dd265151d971ee3221b570b715768a419777bf27a18f3c13509adbeccfbffd9e9d00ff90fbe648e36b22
languageName: node
linkType: hard
-"@aws-sdk/service-error-classification@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/service-error-classification@npm:3.212.0"
- checksum: 844f149d4a03c72ffa77103c8ce12b58ecb20484350633e88242e8d16cde50e3f35ba6db34ea7e180685d4545e0f48367ab8ce86d76dfb80e5d2a959749556be
+"@aws-sdk/service-error-classification@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/service-error-classification@npm:3.215.0"
+ checksum: 470cfec61df10efa304f61d44b75a8fc12fc6ded0c42dc36b7c8cbecc6b7290042e6a6b10ef28acf9e15534c234fd31475d1d0ee45522f8e49267f5eb6d8055e
languageName: node
linkType: hard
-"@aws-sdk/shared-ini-file-loader@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/shared-ini-file-loader@npm:3.212.0"
+"@aws-sdk/shared-ini-file-loader@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/shared-ini-file-loader@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 2c4f78b16338090d86ddc701f7ee13974387762b5f9c82b573b405a6e08db9bb979ac27809ac321cd8c33a3392c1576860475a47470cd59a1cb6092889d6ac17
+ checksum: b0fcdc3bf81928d3822a5e7e7c088d5ce3c07b6fe4a29692a142226d3829fd1c8ee312cf5b8ee2056893cc6e4686df886641f7cd30e27e4bbd9fcb7ee6b21377
languageName: node
linkType: hard
-"@aws-sdk/signature-v4@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/signature-v4@npm:3.212.0"
+"@aws-sdk/signature-v4@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/signature-v4@npm:3.215.0"
dependencies:
"@aws-sdk/is-array-buffer": 3.201.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
"@aws-sdk/util-hex-encoding": 3.201.0
- "@aws-sdk/util-middleware": 3.212.0
+ "@aws-sdk/util-middleware": 3.215.0
"@aws-sdk/util-uri-escape": 3.201.0
tslib: ^2.3.1
- checksum: dcbdb41fcb53c3bb890c26175716c9edb1da1450333a88c888742cd71b9d47a4d8bd1ce0c183115c5971ce3b152ea420ffd36ab6be6dd8e4ea285d66259a0ae5
+ checksum: 2bf3912bdf51c116abd2c3dcbbfdd669758b264066d4dd18353b984aaea2532ba6caef95043d1a58acf225a9ee59709c8593226f2acd779ad556c77b12fe0e4b
languageName: node
linkType: hard
-"@aws-sdk/smithy-client@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/smithy-client@npm:3.212.0"
+"@aws-sdk/smithy-client@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/smithy-client@npm:3.215.0"
dependencies:
- "@aws-sdk/middleware-stack": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/middleware-stack": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ecaa51cd72e0ab8f92f3989ba7dd5639082ef1db1832b155adc1d6e97d15d7f67ff7d27af165a487d11e862e84010b60e4744561925146dbe1d7307a7f50b00b
+ checksum: 4fd6d5631b738d7e7edf957335fb60c743025812183f3def0b4f83469bff95297c3c870fea790152731da9f3bd80aca4634722f6303774ae4b80a95cc17ad568
languageName: node
linkType: hard
-"@aws-sdk/token-providers@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/token-providers@npm:3.212.0"
+"@aws-sdk/token-providers@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/token-providers@npm:3.215.0"
dependencies:
- "@aws-sdk/client-sso-oidc": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/shared-ini-file-loader": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/client-sso-oidc": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/shared-ini-file-loader": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: be11407716a1f2891b64201475c085cfb8236df0075c22f3381c3e7ed9abe0f231017826935afd76c6b41ec1907d24e3c5e1e4537fd4c0d9c743ca1e6d127768
+ checksum: 6fc5c35dcde859906184a9b3839d13a57de69b3212895d969c3a20c124f4f0a9609fc502f89a2da68d1ede636839b24a48852f88bb7754f8bb48960b0be7ea5e
languageName: node
linkType: hard
-"@aws-sdk/types@npm:3.212.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0":
- version: 3.212.0
- resolution: "@aws-sdk/types@npm:3.212.0"
- checksum: ba085aa2f70930adc250b4d142563cf886b9cbd98c011abe9d1d8dbad8b9cc8558a54d34bbeabed62a1a958a871c8d9d6cdaf43d57c31af8fc03a35a93ae5fb4
+"@aws-sdk/types@npm:3.215.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/types@npm:3.215.0"
+ checksum: 7b1301af4444c6d949175337546093946e22c572b40474ada534bd9a4ab37e15f5aabdeca139328b7ea45a6dd1d1a86de89097adbbb07e31365bb3e84254ea38
languageName: node
linkType: hard
-"@aws-sdk/url-parser@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/url-parser@npm:3.212.0"
+"@aws-sdk/url-parser@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/url-parser@npm:3.215.0"
dependencies:
- "@aws-sdk/querystring-parser": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/querystring-parser": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: cd1c837a255d38a84d453226bab8af749a5a1c7075f70eb80124cc92c3b7301c3bc11eec624ee0d68b3daa68162676eabccfae7d291f0e3ad916c735b531cf87
+ checksum: 50221b570ddeb9255be9a7d1afbf9114cdba126dfa48b0c7cf7b0f55e5ca6581e6fa08bc119c7cc3fcceb43d9761bfe9a0e4e7e8a09b3cf010bb1518f0a8cd92
languageName: node
linkType: hard
@@ -1044,39 +1044,39 @@ __metadata:
languageName: node
linkType: hard
-"@aws-sdk/util-defaults-mode-browser@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.212.0"
+"@aws-sdk/util-defaults-mode-browser@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.215.0"
dependencies:
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
bowser: ^2.11.0
tslib: ^2.3.1
- checksum: 75fd275426a1708b0d353e497951a78d8b36297aa644342f063fcf26e321e6387944fe3d60beaa4d5fc40fa877b14277db0368a9d6120e6b83d56c84972c36b3
+ checksum: ed8a21c3d614f9b8ac64d2565c7106265d6fed0b8cda0e0b31b44f7be2fc3013aa79a9b5c113e7b016272c88d5547a07907a2f9ba626961f2b2d626866520c7e
languageName: node
linkType: hard
-"@aws-sdk/util-defaults-mode-node@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-defaults-mode-node@npm:3.212.0"
+"@aws-sdk/util-defaults-mode-node@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-defaults-mode-node@npm:3.215.0"
dependencies:
- "@aws-sdk/config-resolver": 3.212.0
- "@aws-sdk/credential-provider-imds": 3.212.0
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/property-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/config-resolver": 3.215.0
+ "@aws-sdk/credential-provider-imds": 3.215.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/property-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: ab2151cce3561378c3f07d78a898cdd627d097cc388785fe9e0df6f836f265bde98307ce800faaf8832a3723eff2258c00db2cc523425713b67c75ddc941b29e
+ checksum: 2dccee67d6fcc10ca5f93090b04851b561b638dacc9de1dedfc127323cdd0bd3f5bc8c5e27a87c90564b20805b8e9ba3992bebc023d76ce3d12e6f70005c7547
languageName: node
linkType: hard
-"@aws-sdk/util-endpoints@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-endpoints@npm:3.212.0"
+"@aws-sdk/util-endpoints@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-endpoints@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
- checksum: 6c1d9e47dee896e35b5a2b11c0c028d71d16ab707929901403997d30ca639a202ed0f9c19d7ff1c5affa2966813226925608c15695d0d540a593294e40afc4ef
+ checksum: 03fc9861fa28e95d4d4608b4c35a51dc96d07f0ddde843132762440f7b1208dd7d67b8fc6ae9c9aa2330ead6591012ba482517e65207be7537a0506c2e50df05
languageName: node
linkType: hard
@@ -1098,12 +1098,12 @@ __metadata:
languageName: node
linkType: hard
-"@aws-sdk/util-middleware@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-middleware@npm:3.212.0"
+"@aws-sdk/util-middleware@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-middleware@npm:3.215.0"
dependencies:
tslib: ^2.3.1
- checksum: d4bd527193fef871b480636aa99ab7b71a576fc2659e0a12f2ed14e48464c5267a4c6a24bb140ba88cd8205f224326479a548dc63de24b1b9b43ff3098041f7c
+ checksum: 19400d2560d70dbc0ec2087f4a76cb67ed28921028f851041da47cc55d00cc97520a5f2f0cbc1bd3a982f08d158073a32a4fa5cce5fe5459d0f734f0c20717e8
languageName: node
linkType: hard
@@ -1116,30 +1116,30 @@ __metadata:
languageName: node
linkType: hard
-"@aws-sdk/util-user-agent-browser@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-user-agent-browser@npm:3.212.0"
+"@aws-sdk/util-user-agent-browser@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-user-agent-browser@npm:3.215.0"
dependencies:
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/types": 3.215.0
bowser: ^2.11.0
tslib: ^2.3.1
- checksum: e55abbde07b550ff6b061376b00839ffb184e4e3238c307ce85bcf44166941cf74fc59fbd97c2e6923923b88eb5df5bbad482048271b91ca3b46e6988e85be7b
+ checksum: 29a66adec383886ded80abfb41e5c66f4c07d52af5a995aa084a8eae9f4af22caf73cf2e4dbebc86c080da5b8778fed178d941f819b18a9caa082aac62cfb3d6
languageName: node
linkType: hard
-"@aws-sdk/util-user-agent-node@npm:3.212.0":
- version: 3.212.0
- resolution: "@aws-sdk/util-user-agent-node@npm:3.212.0"
+"@aws-sdk/util-user-agent-node@npm:3.215.0":
+ version: 3.215.0
+ resolution: "@aws-sdk/util-user-agent-node@npm:3.215.0"
dependencies:
- "@aws-sdk/node-config-provider": 3.212.0
- "@aws-sdk/types": 3.212.0
+ "@aws-sdk/node-config-provider": 3.215.0
+ "@aws-sdk/types": 3.215.0
tslib: ^2.3.1
peerDependencies:
aws-crt: ">=1.0.0"
peerDependenciesMeta:
aws-crt:
optional: true
- checksum: 6d5f0bb7f66c9135c23f6db5f6d58122db130d4b4261278f11a6db627057e03c76e237a98d91eef05aa328202f55e3fb7f70eba690640df025dfa07f948bf678
+ checksum: 3f91d4bb57c4725fff15a1ef1b15b16026c38f02975af1b7567bc34fce4ef881968e1a871358f0d42f597a4ddb5c306e5bb9286809d075975715525b21f3213b
languageName: node
linkType: hard
@@ -2985,7 +2985,7 @@ __metadata:
minimist: ^1.2.5
mock-fs: ^5.1.0
morgan: ^1.10.0
- msw: ^0.48.0
+ msw: ^0.49.0
mysql2: ^2.2.5
node-abort-controller: ^3.0.1
node-fetch: ^2.6.7
@@ -3070,7 +3070,7 @@ __metadata:
"@backstage/config": "workspace:^"
better-sqlite3: ^7.5.0
knex: ^2.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
mysql2: ^2.2.5
pg: ^8.3.0
testcontainers: ^8.1.2
@@ -3086,7 +3086,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/errors": "workspace:^"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
languageName: unknown
linkType: soft
@@ -3213,7 +3213,7 @@ __metadata:
mini-css-extract-plugin: ^2.4.2
minimatch: 5.1.0
mock-fs: ^5.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
node-libs-browser: ^2.2.1
nodemon: ^2.0.2
@@ -3296,7 +3296,7 @@ __metadata:
json-schema-merge-allof: ^0.8.1
json-schema-traverse: ^1.0.0
mock-fs: ^5.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
typescript-json-schema: ^0.54.0
yaml: ^2.0.0
@@ -3334,7 +3334,7 @@ __metadata:
"@types/prop-types": ^15.7.3
"@types/zen-observable": ^0.8.0
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
prop-types: ^15.7.2
react-router-beta: "npm:react-router@6.0.0-beta.0"
react-router-dom-beta: "npm:react-router-dom@6.0.0-beta.0"
@@ -3447,7 +3447,7 @@ __metadata:
history: ^5.0.0
immer: ^9.0.1
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
pluralize: ^8.0.0
prop-types: ^15.7.2
qs: ^6.9.4
@@ -3492,7 +3492,7 @@ __metadata:
"@types/zen-observable": ^0.8.0
cross-fetch: ^3.1.5
history: ^5.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
prop-types: ^15.7.2
zen-observable: ^0.9.0
peerDependencies:
@@ -3590,7 +3590,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -3613,7 +3613,7 @@ __metadata:
git-url-parse: ^13.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
languageName: unknown
linkType: soft
@@ -3634,7 +3634,7 @@ __metadata:
"@types/supertest": ^2.0.8
luxon: ^3.0.0
marked: ^4.0.14
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.5
supertest: ^6.1.3
winston: ^3.2.1
@@ -3680,7 +3680,7 @@ __metadata:
"@types/node": "*"
cross-fetch: ^3.1.5
git-url-parse: ^13.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
octokit: ^2.0.0
react-markdown: ^8.0.0
react-use: ^17.2.4
@@ -3704,7 +3704,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
http-proxy-middleware: ^2.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.6
winston: ^3.2.1
yn: ^4.0.0
@@ -3733,7 +3733,7 @@ __metadata:
"@types/node": ^16.11.26
"@types/object-hash": ^2.2.1
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
object-hash: ^3.0.0
react-use: ^17.2.4
peerDependencies:
@@ -3763,7 +3763,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -3791,7 +3791,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-ga: ^3.3.0
react-use: ^17.2.4
peerDependencies:
@@ -3817,7 +3817,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.10.1
react-use: ^17.2.4
peerDependencies:
@@ -3866,7 +3866,7 @@ __metadata:
graphql: ^16.0.0
graphql-ws: ^5.4.1
isomorphic-form-data: ^2.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
swagger-ui-react: ^4.11.1
peerDependencies:
@@ -3897,7 +3897,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": "*"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
use-deep-compare-effect: ^1.8.1
peerDependencies:
@@ -3929,7 +3929,7 @@ __metadata:
lodash: ^4.17.21
luxon: ^3.0.0
mock-fs: ^5.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.1.3
winston: ^3.2.1
@@ -3980,7 +3980,7 @@ __metadata:
luxon: ^3.0.0
minimatch: ^5.0.0
morgan: ^1.10.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-cache: ^5.1.2
node-fetch: ^2.6.7
openid-client: ^5.2.1
@@ -4014,7 +4014,7 @@ __metadata:
express: ^4.17.1
jose: ^4.6.0
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4035,7 +4035,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
mime-types: ^2.1.27
- msw: ^0.48.0
+ msw: ^0.49.0
p-limit: ^3.1.0
supertest: ^6.1.6
winston: ^3.2.1
@@ -4076,7 +4076,7 @@ __metadata:
cross-fetch: ^3.1.5
humanize-duration: ^3.27.0
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -4099,7 +4099,7 @@ __metadata:
"@types/supertest": ^2.0.8
express: ^4.17.1
express-promise-router: ^4.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
winston: ^3.2.1
yn: ^4.0.0
@@ -4137,7 +4137,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -4188,7 +4188,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -4252,7 +4252,7 @@ __metadata:
"@backstage/integration": "workspace:^"
"@openapitools/openapi-generator-cli": ^2.4.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
ts-morph: ^15.0.0
languageName: unknown
linkType: soft
@@ -4281,7 +4281,7 @@ __metadata:
cross-fetch: ^3.1.5
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.6
react-use: ^17.2.4
recharts: ^2.0.0
@@ -4337,7 +4337,7 @@ __metadata:
"@types/lodash": ^4.14.151
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4363,7 +4363,7 @@ __metadata:
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/plugin-events-node": "workspace:^"
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
p-limit: ^3.1.0
uuid: ^8.0.0
winston: ^3.2.1
@@ -4387,7 +4387,7 @@ __metadata:
"@backstage/plugin-catalog-node": "workspace:^"
"@types/node-fetch": ^2.5.12
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4410,7 +4410,7 @@ __metadata:
"@backstage/types": "workspace:^"
"@types/lodash": ^4.14.151
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
winston: ^3.2.1
languageName: unknown
@@ -4434,7 +4434,7 @@ __metadata:
"@types/fs-extra": ^9.0.1
fs-extra: 10.1.0
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4464,7 +4464,7 @@ __metadata:
git-url-parse: ^13.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4491,7 +4491,7 @@ __metadata:
"@types/uuid": ^8.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
uuid: ^8.0.0
winston: ^3.2.1
@@ -4537,7 +4537,7 @@ __metadata:
"@types/node-fetch": ^2.5.12
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
p-limit: ^3.0.2
qs: ^6.9.4
@@ -4605,7 +4605,7 @@ __metadata:
knex: ^2.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
p-limit: ^3.0.2
prom-client: ^14.0.1
@@ -4684,7 +4684,7 @@ __metadata:
graphql-modules: ^2.0.0
graphql-tag: ^2.11.0
graphql-type-json: ^0.3.2
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
winston: ^3.2.1
languageName: unknown
@@ -4720,7 +4720,7 @@ __metadata:
git-url-parse: ^13.0.0
js-base64: ^3.6.0
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
react-hook-form: ^7.12.2
react-use: ^17.2.4
yaml: ^2.0.0
@@ -4900,7 +4900,7 @@ __metadata:
humanize-duration: ^3.27.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -4931,7 +4931,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-use: ^17.2.4
peerDependencies:
@@ -4965,7 +4965,7 @@ __metadata:
cross-fetch: ^3.1.5
humanize-duration: ^3.27.1
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -4991,7 +4991,7 @@ __metadata:
express-promise-router: ^4.1.0
express-xml-bodyparser: ^0.3.0
knex: ^2.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.6
uuid: ^8.3.2
winston: ^3.2.1
@@ -5028,7 +5028,7 @@ __metadata:
cross-fetch: ^3.1.5
highlight.js: ^10.6.0
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
recharts: ^2.0.0
peerDependencies:
@@ -5059,7 +5059,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": "*"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
rc-progress: 3.4.1
react-use: ^17.2.4
peerDependencies:
@@ -5091,7 +5091,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
jsonschema: ^1.2.6
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
zen-observable: ^0.9.0
peerDependencies:
@@ -5139,7 +5139,7 @@ __metadata:
cross-fetch: ^3.1.5
history: ^5.0.0
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
pluralize: ^8.0.0
qs: ^6.9.4
react-use: ^17.2.4
@@ -5173,7 +5173,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": "*"
express: ^4.18.1
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
"@backstage/plugin-catalog-react": "workspace:^"
@@ -5321,7 +5321,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
languageName: unknown
linkType: soft
@@ -5349,7 +5349,7 @@ __metadata:
"@types/node": ^16.11.26
classnames: ^2.2.6
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
"@types/react": ^16.13.1 || ^17.0.0
@@ -5380,7 +5380,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5410,7 +5410,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
p-limit: ^3.0.2
react-use: ^17.2.4
peerDependencies:
@@ -5447,7 +5447,7 @@ __metadata:
lodash: ^4.17.21
luxon: ^3.0.0
material-ui-popup-state: ^1.9.3
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5474,7 +5474,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
peerDependencies:
react: ^16.13.1 || ^17.0.0
react-router-dom: 6.0.0-beta.0 || ^6.3.0
@@ -5505,7 +5505,7 @@ __metadata:
"@types/recharts": ^1.8.15
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.10.1
react-use: ^17.2.4
recharts: ^2.0.0
@@ -5540,7 +5540,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5575,7 +5575,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5608,7 +5608,7 @@ __metadata:
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
octokit: ^2.0.4
react-use: ^17.4.0
peerDependencies:
@@ -5640,7 +5640,7 @@ __metadata:
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
p-limit: ^4.0.0
react-use: ^17.2.4
peerDependencies:
@@ -5668,7 +5668,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5702,7 +5702,7 @@ __metadata:
cross-fetch: ^3.1.5
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.10.1
react-use: ^17.2.4
peerDependencies:
@@ -5733,7 +5733,7 @@ __metadata:
graphiql: ^1.5.12
graphql: ^16.0.0
graphql-ws: ^5.4.1
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5759,7 +5759,7 @@ __metadata:
graphql: ^16.0.0
graphql-modules: ^2.0.0
helmet: ^6.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
reflect-metadata: ^0.1.13
supertest: ^6.1.3
winston: ^3.2.1
@@ -5791,7 +5791,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
"@types/react": ^16.13.1 || ^17.0.0
@@ -5826,7 +5826,7 @@ __metadata:
cross-fetch: ^3.1.5
humanize-duration: ^3.26.0
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5852,7 +5852,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
jenkins: ^1.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
promise-any-polyfill: ^1.0.1
supertest: ^6.1.6
winston: ^3.2.1
@@ -5895,7 +5895,7 @@ __metadata:
"@types/testing-library__jest-dom": ^5.9.1
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5950,7 +5950,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
jest-when: ^3.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -5964,6 +5964,7 @@ __metadata:
dependencies:
"@azure/identity": ^2.0.4
"@backstage/backend-common": "workspace:^"
+ "@backstage/backend-test-utils": "workspace:^"
"@backstage/catalog-client": "workspace:^"
"@backstage/catalog-model": "workspace:^"
"@backstage/cli": "workspace:^"
@@ -5972,9 +5973,11 @@ __metadata:
"@backstage/plugin-auth-node": "workspace:^"
"@backstage/plugin-kubernetes-common": "workspace:^"
"@google-cloud/container": ^4.0.0
+ "@jest-mock/express": ^2.0.1
"@kubernetes/client-node": 0.17.0
"@types/aws4": ^1.5.1
"@types/express": ^4.17.6
+ "@types/http-proxy-middleware": ^0.19.3
"@types/luxon": ^3.0.0
aws-sdk: ^2.840.0
aws-sdk-mock: ^5.2.1
@@ -5985,9 +5988,12 @@ __metadata:
express-promise-router: ^4.1.0
fs-extra: 10.1.0
helmet: ^6.0.0
+ http-proxy-middleware: ^2.0.6
lodash: ^4.17.21
luxon: ^3.0.0
morgan: ^1.10.0
+ msw: ^0.49.0
+ node-fetch: ^2.6.7
stream-buffers: ^3.0.2
supertest: ^6.1.3
winston: ^3.2.1
@@ -6035,7 +6041,7 @@ __metadata:
js-yaml: ^4.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -6067,7 +6073,7 @@ __metadata:
"@types/node": ^16.11.26
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -6117,7 +6123,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -6146,7 +6152,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": "*"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -6175,7 +6181,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
p-limit: ^3.1.0
pluralize: ^8.0.0
qs: ^6.10.1
@@ -6211,7 +6217,7 @@ __metadata:
classnames: ^2.2.6
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
"@types/react": ^16.13.1 || ^17.0.0
@@ -6231,7 +6237,7 @@ __metadata:
"@types/supertest": ^2.0.8
express: ^4.17.1
express-promise-router: ^4.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.1.6
winston: ^3.2.1
@@ -6263,7 +6269,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -6289,7 +6295,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.1.6
winston: ^3.2.1
@@ -6307,7 +6313,7 @@ __metadata:
"@backstage/errors": "workspace:^"
"@backstage/types": "workspace:^"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
uuid: ^8.0.0
zod: ^3.11.6
languageName: unknown
@@ -6328,7 +6334,7 @@ __metadata:
"@types/supertest": ^2.0.8
express: ^4.17.1
express-promise-router: ^4.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.3
zod: ^3.11.6
zod-to-json-schema: ^3.18.1
@@ -6376,7 +6382,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
knex: ^2.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.1.3
uuid: ^8.2.0
@@ -6424,7 +6430,7 @@ __metadata:
"@types/node": "*"
cross-fetch: ^3.1.5
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-hook-form: ^7.13.0
react-use: ^17.2.4
@@ -6452,7 +6458,7 @@ __metadata:
express-promise-router: ^4.1.0
http-proxy-middleware: ^2.0.0
morgan: ^1.10.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.3
uuid: ^8.0.0
winston: ^3.2.1
@@ -6480,7 +6486,7 @@ __metadata:
fs-extra: 10.1.0
lodash: ^4.17.21
morgan: ^1.10.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.1.3
winston: ^3.2.1
@@ -6512,7 +6518,7 @@ __metadata:
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
react-sparklines: ^1.7.0
react-use: ^17.2.4
peerDependencies:
@@ -6539,7 +6545,7 @@ __metadata:
command-exists: ^1.2.9
fs-extra: 10.1.0
mock-fs: ^5.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
winston: ^3.2.1
yn: ^4.0.0
languageName: unknown
@@ -6630,7 +6636,7 @@ __metadata:
luxon: ^3.0.0
mock-fs: ^5.1.0
morgan: ^1.10.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
nunjucks: ^3.2.3
octokit: ^2.0.0
@@ -6711,7 +6717,7 @@ __metadata:
json-schema-library: ^7.0.0
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-use: ^17.2.4
use-immer: ^0.7.0
@@ -6883,7 +6889,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-use: ^17.2.4
peerDependencies:
@@ -6919,7 +6925,7 @@ __metadata:
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-sparklines: ^1.7.0
react-use: ^17.2.4
peerDependencies:
@@ -6949,7 +6955,7 @@ __metadata:
"@types/node": ^16.11.26
"@types/zen-observable": ^0.8.2
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-hook-form: ^7.12.2
react-use: ^17.2.4
uuid: ^8.3.2
@@ -6973,7 +6979,7 @@ __metadata:
"@types/supertest": ^2.0.12
express: ^4.18.1
express-promise-router: ^4.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
supertest: ^6.2.4
winston: ^3.2.1
@@ -7003,7 +7009,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
rc-progress: 3.4.1
react-use: ^17.2.4
peerDependencies:
@@ -7035,7 +7041,7 @@ __metadata:
classnames: ^2.2.6
cross-fetch: ^3.1.5
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -7078,7 +7084,7 @@ __metadata:
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-use: ^17.2.4
peerDependencies:
@@ -7189,7 +7195,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
qs: ^6.9.4
react-use: ^17.2.4
peerDependencies:
@@ -7223,7 +7229,7 @@ __metadata:
color: ^4.0.1
cross-fetch: ^3.1.5
d3-force: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
prop-types: ^15.7.2
react-use: ^17.2.4
peerDependencies:
@@ -7255,7 +7261,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
testing-library__dom: ^7.29.4-beta.1
peerDependencies:
@@ -7291,7 +7297,7 @@ __metadata:
fs-extra: 10.1.0
knex: ^2.0.0
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
p-limit: ^3.1.0
supertest: ^6.1.3
@@ -7325,7 +7331,7 @@ __metadata:
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
git-url-parse: ^13.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -7436,7 +7442,7 @@ __metadata:
git-url-parse: ^13.0.0
jss: ~10.8.2
lodash: ^4.17.21
- msw: ^0.48.0
+ msw: ^0.49.0
react-helmet: 6.1.0
react-use: ^17.2.4
peerDependencies:
@@ -7464,7 +7470,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
leasot: ^12.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.3
winston: ^3.2.1
yn: ^4.0.0
@@ -7493,7 +7499,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -7545,7 +7551,7 @@ __metadata:
"@types/node": ^16.11.26
"@types/react": ^16.13.1 || ^17.0.0
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
zen-observable: ^0.9.0
peerDependencies:
@@ -7572,7 +7578,7 @@ __metadata:
express: ^4.17.1
express-promise-router: ^4.1.0
helmet: ^6.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
node-fetch: ^2.6.7
p-limit: ^3.1.0
supertest: ^6.1.6
@@ -7603,7 +7609,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": "*"
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -7633,7 +7639,7 @@ __metadata:
cross-fetch: ^3.1.5
lodash: ^4.17.21
luxon: ^3.0.0
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
recharts: ^2.0.0
peerDependencies:
@@ -7649,7 +7655,25 @@ __metadata:
"@backstage/test-utils": "workspace:^"
"@types/node": ^16.0.0
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
+ languageName: unknown
+ linkType: soft
+
+"@backstage/repo-tools@workspace:*, @backstage/repo-tools@workspace:packages/repo-tools":
+ version: 0.0.0-use.local
+ resolution: "@backstage/repo-tools@workspace:packages/repo-tools"
+ dependencies:
+ "@backstage/errors": "workspace:^"
+ "@microsoft/api-documenter": ^7.17.11
+ "@microsoft/api-extractor": ^7.23.0
+ "@microsoft/api-extractor-model": ^7.17.2
+ "@microsoft/tsdoc": 0.14.1
+ chalk: ^4.0.0
+ commander: ^9.1.0
+ fs-extra: 10.1.0
+ ts-node: ^10.0.0
+ bin:
+ backstage-repo-tools: bin/backstage-repo-tools
languageName: unknown
linkType: soft
@@ -7672,7 +7696,7 @@ __metadata:
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
zen-observable: ^0.9.0
peerDependencies:
"@types/react": ^16.13.1 || ^17.0.0
@@ -8017,11 +8041,11 @@ __metadata:
linkType: hard
"@codemirror/legacy-modes@npm:^6.1.0":
- version: 6.2.0
- resolution: "@codemirror/legacy-modes@npm:6.2.0"
+ version: 6.3.0
+ resolution: "@codemirror/legacy-modes@npm:6.3.0"
dependencies:
"@codemirror/language": ^6.0.0
- checksum: c4449ad4e9b80fad982956ace705af5e21cd8c8bb248930bcb394ec019babf1a7b23e1e2894428b67d28a0c5bee99592320673690d19039392ddbc77075ef132
+ checksum: d4da9b338376b72c1936e6780b4b53ec6a9581ac3d47ad2c1ec26a0068183b77489bbffde747837c89a5a92c69e9724ddebedc7790975a22f783fb13ede94403
languageName: node
linkType: hard
@@ -8047,10 +8071,10 @@ __metadata:
languageName: node
linkType: hard
-"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1":
- version: 6.1.2
- resolution: "@codemirror/state@npm:6.1.2"
- checksum: 7eda4b3eb6a777fecaa5a62e95a162aa163ccff01913d21a88d1157247390d9b57e6bcf54738be0b98aff8ba3a6ec3cb7aeb3b9714b019cb6c05242da9d9fdfe
+"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1, @codemirror/state@npm:^6.1.4":
+ version: 6.1.4
+ resolution: "@codemirror/state@npm:6.1.4"
+ checksum: ef6bc495d3b89d2f0202b6b1c0fc3e3610f8d815f4ca91f86153d6093c9b93ddbe2cfb787802d07514a7114f0b200cf2eeb54c1cd34d7e00eff774ecea97d845
languageName: node
linkType: hard
@@ -8067,13 +8091,13 @@ __metadata:
linkType: hard
"@codemirror/view@npm:^6.0.0":
- version: 6.4.2
- resolution: "@codemirror/view@npm:6.4.2"
+ version: 6.5.1
+ resolution: "@codemirror/view@npm:6.5.1"
dependencies:
- "@codemirror/state": ^6.0.0
+ "@codemirror/state": ^6.1.4
style-mod: ^4.0.0
w3c-keyname: ^2.2.4
- checksum: c79982563ad90adf1d7504b28bb1304a73f669c69634a1630b51521e4023b3630c15601daf2857683b34a86cac4ca24dc5b538a9d944616617f99c1a7da7faa6
+ checksum: 1bd66b4f174642c559a521b546e80a67556fdc1b7cc7d1c7baf1cac37fed83e0e63d7a9ff6a88f3991a82d11bbbcfcca6e7b3491dcdd536c4c114de142b0300d
languageName: node
linkType: hard
@@ -8296,61 +8320,61 @@ __metadata:
linkType: hard
"@gitbeaker/browser@npm:^35.6.0":
- version: 35.7.0
- resolution: "@gitbeaker/browser@npm:35.7.0"
+ version: 35.8.0
+ resolution: "@gitbeaker/browser@npm:35.8.0"
dependencies:
- "@gitbeaker/core": ^35.7.0
- "@gitbeaker/requester-utils": ^35.7.0
+ "@gitbeaker/core": ^35.8.0
+ "@gitbeaker/requester-utils": ^35.8.0
delay: ^5.0.0
ky: 0.28.7
- checksum: 35b1afbd047ba172a21e548259fb38764c50e4794d64e33e6be7ae16552dc41882dc2107df70da35a3431ccb5014604efd4b189d16db2251349d0d0b01d65618
+ checksum: 23fa14d64661108c03a5d141123037aebb68e257d84e26bd8f6241df65a0958eaa79b8b491e0f08159e325cdc3244f79b2426dedcc2354ad106316ea499415ac
languageName: node
linkType: hard
-"@gitbeaker/core@npm:^35.6.0, @gitbeaker/core@npm:^35.7.0":
- version: 35.7.0
- resolution: "@gitbeaker/core@npm:35.7.0"
+"@gitbeaker/core@npm:^35.6.0, @gitbeaker/core@npm:^35.8.0":
+ version: 35.8.0
+ resolution: "@gitbeaker/core@npm:35.8.0"
dependencies:
- "@gitbeaker/requester-utils": ^35.7.0
+ "@gitbeaker/requester-utils": ^35.8.0
form-data: ^4.0.0
li: ^1.3.0
mime: ^3.0.0
query-string: ^7.0.0
xcase: ^2.0.1
- checksum: 5039557ba432a2478edb2cf767cef9d5f5f46f1de78219166eb6ec1bf6ad8e1dbf090085e31526fa58010ae4966bad9232af368474d9765b54bb3334173cb3cb
+ checksum: b894e1ac86dc8ac85f2db51d83d392899c10bb555b2448900f502ffeb49d9f36c1063c7151128ca96951ac472c11be6320584c4bec873501e96607bd7c25a37b
languageName: node
linkType: hard
"@gitbeaker/node@npm:^35.1.0":
- version: 35.7.0
- resolution: "@gitbeaker/node@npm:35.7.0"
+ version: 35.8.0
+ resolution: "@gitbeaker/node@npm:35.8.0"
dependencies:
- "@gitbeaker/core": ^35.7.0
- "@gitbeaker/requester-utils": ^35.7.0
+ "@gitbeaker/core": ^35.8.0
+ "@gitbeaker/requester-utils": ^35.8.0
delay: ^5.0.0
got: ^11.8.3
xcase: ^2.0.1
- checksum: 879595b065f40027b6191f609bddba05988c308c924323aa0cf30220801c21ba01e62c3395fd9cd0072ff6bc330f211e7aadcf63d80e893d7d33149c09ba221e
+ checksum: af75fa2348ec6fcdd1605f269df10c13bd7d53f9a5c42da7e013db920a1129075072de3a0ada97d800be732575bb838b8a462472faebcfaf9fe243b93d29a464
languageName: node
linkType: hard
-"@gitbeaker/requester-utils@npm:^35.7.0":
- version: 35.7.0
- resolution: "@gitbeaker/requester-utils@npm:35.7.0"
+"@gitbeaker/requester-utils@npm:^35.8.0":
+ version: 35.8.0
+ resolution: "@gitbeaker/requester-utils@npm:35.8.0"
dependencies:
form-data: ^4.0.0
qs: ^6.10.1
xcase: ^2.0.1
- checksum: f928affa8c5cd6b1b2811d77e14e2d60611bc9b93767fce936125b59e75b9786e4d760b5dc624719fbfdb8638905d957817845bcee01b147bbe5aebf60a635c1
+ checksum: 6bd49b821fb6f262c6306c06fc4812f41902c864a7d941b0d112381b352f680e50ebd6180840e21a89d761427cb1326d9829b74c98c95bf9fa2a5d53872a400a
languageName: node
linkType: hard
"@google-cloud/container@npm:^4.0.0":
- version: 4.3.0
- resolution: "@google-cloud/container@npm:4.3.0"
+ version: 4.4.0
+ resolution: "@google-cloud/container@npm:4.4.0"
dependencies:
- google-gax: ^3.3.0
- checksum: cc1dc2ca7f6b47bac0d374013e78b05372f25dce7a3f84d799899af274d26fa22f23d2554a66ca1db528c3bbbec1cfbac86dfa9fc72cc78f175bcb737900b3ed
+ google-gax: ^3.5.2
+ checksum: 39e7ba3b8cd7e50908315eee5c42461b8cee909c5653ffc817503757e867d63815c5ca8f540b7566f38be9ae0454ed89d2efe95b64961a8692a9348ddf92074f
languageName: node
linkType: hard
@@ -8514,18 +8538,18 @@ __metadata:
linkType: hard
"@graphql-codegen/graphql-modules-preset@npm:^2.3.2":
- version: 2.5.5
- resolution: "@graphql-codegen/graphql-modules-preset@npm:2.5.5"
+ version: 2.5.6
+ resolution: "@graphql-codegen/graphql-modules-preset@npm:2.5.6"
dependencies:
"@graphql-codegen/plugin-helpers": ^2.7.2
- "@graphql-codegen/visitor-plugin-common": 2.13.1
+ "@graphql-codegen/visitor-plugin-common": 2.13.2
"@graphql-tools/utils": ^8.8.0
change-case-all: 1.0.14
parse-filepath: ^1.0.2
tslib: ~2.4.0
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: d499001af49d0a829c6adcbc211d252e8d5a42ba1635c32265ad99d187666425150c99815d48e591ca66e811a2b09860a5f59ba02484a3a3f0dcf4dcba8a6fb8
+ checksum: e446c4277f66304d34e9883c37dd241559ba47695716d8ef911514de998c927e2f37770d70b87b56238e3fed1bf43eff9ec7bce679e06fb4eb0b759c98f6cb25
languageName: node
linkType: hard
@@ -8559,39 +8583,39 @@ __metadata:
linkType: hard
"@graphql-codegen/typescript-resolvers@npm:^2.4.3":
- version: 2.7.6
- resolution: "@graphql-codegen/typescript-resolvers@npm:2.7.6"
+ version: 2.7.7
+ resolution: "@graphql-codegen/typescript-resolvers@npm:2.7.7"
dependencies:
"@graphql-codegen/plugin-helpers": ^2.7.2
- "@graphql-codegen/typescript": ^2.8.1
- "@graphql-codegen/visitor-plugin-common": 2.13.1
+ "@graphql-codegen/typescript": ^2.8.2
+ "@graphql-codegen/visitor-plugin-common": 2.13.2
"@graphql-tools/utils": ^8.8.0
auto-bind: ~4.0.0
tslib: ~2.4.0
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: f552f74aa264c0f9024834d6d1c126f9f1a69dccf7278525c7609ad1820daf87607447f30351506fe3728a855690928ba7775edbbbff0fee610a2ce02913a98e
+ checksum: f7b4fcda7fa3d73a48bf93e32ee73fdd8426d1d89951b22555702a98445b110aeb0715a1ed29dc1cdee7cbe0264510d021e98b57798a51bcf07eab34c4445cf5
languageName: node
linkType: hard
-"@graphql-codegen/typescript@npm:^2.4.2, @graphql-codegen/typescript@npm:^2.8.1":
- version: 2.8.1
- resolution: "@graphql-codegen/typescript@npm:2.8.1"
+"@graphql-codegen/typescript@npm:^2.4.2, @graphql-codegen/typescript@npm:^2.8.2":
+ version: 2.8.2
+ resolution: "@graphql-codegen/typescript@npm:2.8.2"
dependencies:
"@graphql-codegen/plugin-helpers": ^2.7.2
"@graphql-codegen/schema-ast": ^2.5.1
- "@graphql-codegen/visitor-plugin-common": 2.13.1
+ "@graphql-codegen/visitor-plugin-common": 2.13.2
auto-bind: ~4.0.0
tslib: ~2.4.0
peerDependencies:
graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 2b5466190e385c557eed6210b861fb9e632fb61b90bd0f97ff983f359c0ad8106228667c9ff2201842100417a07cfaffa91794ef03058a151df256d733363fa2
+ checksum: 7e3beda7a0a8b9b84ee7c40c54913ef496bd8716ddd68028a55b06743657bc1100c4a30cc2932745520f5e008aa3f386731bf09a88e05cc92005e066b57b21c8
languageName: node
linkType: hard
-"@graphql-codegen/visitor-plugin-common@npm:2.13.1":
- version: 2.13.1
- resolution: "@graphql-codegen/visitor-plugin-common@npm:2.13.1"
+"@graphql-codegen/visitor-plugin-common@npm:2.13.2":
+ version: 2.13.2
+ resolution: "@graphql-codegen/visitor-plugin-common@npm:2.13.2"
dependencies:
"@graphql-codegen/plugin-helpers": ^2.7.2
"@graphql-tools/optimize": ^1.3.0
@@ -8605,7 +8629,7 @@ __metadata:
tslib: ~2.4.0
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 0c329aa6e435602f2f6c1569ec2091b7850f58cc5dca7ac763c38c82588545ec1110c1de587f5f3949b11ff96f94401d1e63e329607d78424583b276fd08f1ae
+ checksum: b4b00f9d0cd8be221da69480d0d861f025eb7bec13aa9897acb9a3a485b5e0ca04df17745fa9850efcafefe4de54dab2e4d50dafc534df3fecd9095e6122eaa7
languageName: node
linkType: hard
@@ -8794,15 +8818,15 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/merge@npm:8.3.11, @graphql-tools/merge@npm:^8.2.6":
- version: 8.3.11
- resolution: "@graphql-tools/merge@npm:8.3.11"
+"@graphql-tools/merge@npm:8.3.12, @graphql-tools/merge@npm:^8.2.6":
+ version: 8.3.12
+ resolution: "@graphql-tools/merge@npm:8.3.12"
dependencies:
- "@graphql-tools/utils": 9.1.0
+ "@graphql-tools/utils": 9.1.1
tslib: ^2.4.0
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 3cd16577f1ea1bcc389d232fa620adc0fefc91a6b42b48e7bb5e7bb67b67d206d409a9a8d60cac4d8cd5f0f1c5353369f7c5eb4054b44ce2277545e1fd1de17f
+ checksum: aab6f6edbaa2f63c7f44e4a1832d8028570d09ea85bb4a9525016879fad2ea2f8ea260c0b78ab1f6b7a418d92a3debfbbedecb3f5a36a5590edd0b2ac1cd2012
languageName: node
linkType: hard
@@ -8928,16 +8952,16 @@ __metadata:
linkType: hard
"@graphql-tools/schema@npm:^9.0.0":
- version: 9.0.9
- resolution: "@graphql-tools/schema@npm:9.0.9"
+ version: 9.0.10
+ resolution: "@graphql-tools/schema@npm:9.0.10"
dependencies:
- "@graphql-tools/merge": 8.3.11
- "@graphql-tools/utils": 9.1.0
+ "@graphql-tools/merge": 8.3.12
+ "@graphql-tools/utils": 9.1.1
tslib: ^2.4.0
value-or-promise: 1.0.11
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 23620a993eff57723302315100d947b81664d6a1e00010ff293b3649f51ab423946d73920cce0ce822b7f7f42b99ea23240902ff47df3d252639613c0df7b971
+ checksum: 4c1c7fc1c84a2faf2310a110ed72125b511371f1ea2869442fd55b5bcdb2c431dd60235ff77f32860235ee99dd12746e23dace35a18a8ffd339fad4f51004321
languageName: node
linkType: hard
@@ -9010,18 +9034,7 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/utils@npm:9.1.0":
- version: 9.1.0
- resolution: "@graphql-tools/utils@npm:9.1.0"
- dependencies:
- tslib: ^2.4.0
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: dcf08df3bd1715e25e3b80bf2dd332376239ebcd2a9b93f4d6b72a7bd3feffe2207b9683bb8fcaed9d0d1286f701d0686fe99ac803b91c0df54509b869c0554d
- languageName: node
- linkType: hard
-
-"@graphql-tools/utils@npm:^9.1.1":
+"@graphql-tools/utils@npm:9.1.1, @graphql-tools/utils@npm:^9.1.1":
version: 9.1.1
resolution: "@graphql-tools/utils@npm:9.1.1"
dependencies:
@@ -9177,7 +9190,7 @@ __metadata:
"@types/uuid": ^8.0.0
express: ^4.17.1
express-promise-router: ^4.1.0
- msw: ^0.48.0
+ msw: ^0.49.0
supertest: ^6.1.6
uuid: ^8.3.2
winston: ^3.2.1
@@ -9196,7 +9209,7 @@ __metadata:
"@backstage/test-utils": "workspace:^"
"@types/node": ^16.11.26
cross-fetch: ^3.1.5
- msw: ^0.48.0
+ msw: ^0.49.0
languageName: unknown
linkType: soft
@@ -9218,7 +9231,7 @@ __metadata:
"@testing-library/react": ^12.1.3
"@testing-library/user-event": ^14.0.0
"@types/node": ^16.11.26
- msw: ^0.48.0
+ msw: ^0.49.0
react-use: ^17.2.4
peerDependencies:
react: ^16.13.1 || ^17.0.0
@@ -9258,6 +9271,15 @@ __metadata:
languageName: node
linkType: hard
+"@jest-mock/express@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "@jest-mock/express@npm:2.0.1"
+ dependencies:
+ "@types/express": ^4.17.13
+ checksum: 999ea0a953b3e911d0b8ecc4cb3b78ac252b3354832db9659be6754094410b10508f1688f3e623ab13fe40c28d89fd5a81699e6acd148dd8128abec4e81f3f14
+ languageName: node
+ linkType: hard
+
"@jest/console@npm:^29.0.3":
version: 29.0.3
resolution: "@jest/console@npm:29.0.3"
@@ -10498,13 +10520,6 @@ __metadata:
languageName: node
linkType: hard
-"@microsoft/tsdoc@npm:^0.14.1":
- version: 0.14.2
- resolution: "@microsoft/tsdoc@npm:0.14.2"
- checksum: b167c89e916ba73ee20b9c9d5dba6aa3a0de25ed3d50050e8a344dca7cd43cb2e1059bd515c820369b6e708901dd3fda476a42bc643ca74a35671ce77f724a3a
- languageName: node
- linkType: hard
-
"@mswjs/cookies@npm:^0.2.0, @mswjs/cookies@npm:^0.2.2":
version: 0.2.2
resolution: "@mswjs/cookies@npm:0.2.2"
@@ -12362,18 +12377,18 @@ __metadata:
languageName: node
linkType: hard
-"@tanstack/query-core@npm:4.14.5":
- version: 4.14.5
- resolution: "@tanstack/query-core@npm:4.14.5"
- checksum: 25af0f4999668cd66a4a54c2d2d64dd7002f4852fb901d1d1d64908da4ea43d63e53e512b536987a789039713ffc6ae4ffa2d41cfab676b01704f4937be18a04
+"@tanstack/query-core@npm:4.15.1":
+ version: 4.15.1
+ resolution: "@tanstack/query-core@npm:4.15.1"
+ checksum: ee98e75a3770fd35a6a10b9e7b3c417ea9da2b072481b5191d759182b29fd7bc4e8e340f83e2961b46fe4e1adac356087df04d4661c9459d09ff4d0574f683eb
languageName: node
linkType: hard
"@tanstack/react-query@npm:^4.1.3":
- version: 4.14.6
- resolution: "@tanstack/react-query@npm:4.14.6"
+ version: 4.16.1
+ resolution: "@tanstack/react-query@npm:4.16.1"
dependencies:
- "@tanstack/query-core": 4.14.5
+ "@tanstack/query-core": 4.15.1
use-sync-external-store: ^1.2.0
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -12384,7 +12399,7 @@ __metadata:
optional: true
react-native:
optional: true
- checksum: 38e293616aa04ccfe2fec47315c5b98f0b157ee6548b4dbb6a8ca01c90de113e437f5effbc82884f2d860bde54eeb07335e9ed4e233543c7039f717d9855ab9e
+ checksum: 2c2d4c5c8bab2cd978ddd42153d33f844bd24a17ebe42f269cc64ee2a031f60f980b441640172885d9fd156fe9abc74ffc800fb68c6b6f6ef4fe48ffadafff79
languageName: node
linkType: hard
@@ -14693,9 +14708,9 @@ __metadata:
languageName: node
linkType: hard
-"@uiw/codemirror-extensions-basic-setup@npm:4.13.2":
- version: 4.13.2
- resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.13.2"
+"@uiw/codemirror-extensions-basic-setup@npm:4.15.1":
+ version: 4.15.1
+ resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.15.1"
dependencies:
"@codemirror/autocomplete": ^6.0.0
"@codemirror/commands": ^6.0.0
@@ -14712,19 +14727,19 @@ __metadata:
"@codemirror/search": ">=6.0.0"
"@codemirror/state": ">=6.0.0"
"@codemirror/view": ">=6.0.0"
- checksum: 5597d6bd7ea0304aa15f77c4bec4a071d95ae9b706a2abd6486f5fc51dba4a89101fa1e6faeb8f4fc27f4698993b008c3fd751a864618eef6baef56434d1fafd
+ checksum: 1805caa6432a2ed0c616efee4977d3e90faae85be4a75b6e5f654c8bc9dced640ad75dbe7a57d50bc84c117139b486ef0a116a8127c6f8efb44068631a48bc09
languageName: node
linkType: hard
"@uiw/react-codemirror@npm:^4.9.3":
- version: 4.13.2
- resolution: "@uiw/react-codemirror@npm:4.13.2"
+ version: 4.15.1
+ resolution: "@uiw/react-codemirror@npm:4.15.1"
dependencies:
"@babel/runtime": ^7.18.6
"@codemirror/commands": ^6.1.0
"@codemirror/state": ^6.1.1
"@codemirror/theme-one-dark": ^6.0.0
- "@uiw/codemirror-extensions-basic-setup": 4.13.2
+ "@uiw/codemirror-extensions-basic-setup": 4.15.1
codemirror: ^6.0.0
peerDependencies:
"@babel/runtime": ">=7.11.0"
@@ -14734,7 +14749,7 @@ __metadata:
codemirror: ">=6.0.0"
react: ">=16.8.0"
react-dom: ">=16.8.0"
- checksum: 8f35aa2f54beabc440027584ccd6244f4d2e52e0792f700fb8612f1a5c8d0d705203ddddd202b3d6b82a3b1426bd4bdb230f76a5ec1ae41ec3806e9b2c955900
+ checksum: 49e3011e6d5455f26266b5d39d11d6e2c6505b48063882d1d4593f8c333c159fefcf0df4f743bea36d95ade1e88e19fad13571d0e3fa3b3d6cd5a43bb59f5eb7
languageName: node
linkType: hard
@@ -17988,8 +18003,8 @@ __metadata:
linkType: hard
"concurrently@npm:^7.0.0":
- version: 7.5.0
- resolution: "concurrently@npm:7.5.0"
+ version: 7.6.0
+ resolution: "concurrently@npm:7.6.0"
dependencies:
chalk: ^4.1.0
date-fns: ^2.29.1
@@ -18003,7 +18018,7 @@ __metadata:
bin:
conc: dist/bin/concurrently.js
concurrently: dist/bin/concurrently.js
- checksum: 7886e1c8559d2699ae1b62be8aca5d56c226966e252a2b9dd6077b3c1fd5397e98ef537c040fffa1de50418bd2616746eb9dd589a31ffb9056d4758b850a865b
+ checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e
languageName: node
linkType: hard
@@ -19841,10 +19856,9 @@ __metadata:
linkType: hard
"elastic-builder@npm:^2.16.0":
- version: 2.16.0
- resolution: "elastic-builder@npm:2.16.0"
+ version: 2.17.3
+ resolution: "elastic-builder@npm:2.17.3"
dependencies:
- babel-runtime: ^6.26.0
lodash.has: ^4.5.2
lodash.hasin: ^4.5.2
lodash.head: ^4.0.1
@@ -19853,7 +19867,7 @@ __metadata:
lodash.isobject: ^3.0.2
lodash.isstring: ^4.0.1
lodash.omit: ^4.5.0
- checksum: 39ce21c4d2bc643dd3e376c06f6e0de04ed7ee60c8f315f63e086e59f81524b7267aadf7c362facfc88d627f483703ae1913052c230b2176e31f1e55a791ff66
+ checksum: b1e47ad4d36e9974a1075e9e4f455e2d120eebc16d9e5c7e7219e89fcb64bcacd3015afddeae479a79f6b4cd92c4528f3e8535c9c9ca8d644286b9bb49635cdc
languageName: node
linkType: hard
@@ -20724,8 +20738,8 @@ __metadata:
linkType: hard
"eslint@npm:^8.6.0":
- version: 8.27.0
- resolution: "eslint@npm:8.27.0"
+ version: 8.28.0
+ resolution: "eslint@npm:8.28.0"
dependencies:
"@eslint/eslintrc": ^1.3.3
"@humanwhocodes/config-array": ^0.11.6
@@ -20768,7 +20782,7 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
- checksum: 153b022d309e1b647a73b1bb0fa98912add699b06e279084155f23c6f2b5fc5abd05411fc1ba81608a24bbfaf044ca079544c16fffa6fc987b8f676c9960a2c4
+ checksum: 1b793486b2ec80f0602d75fff7116f7c39a3286f523608a999eead9bec4154a06841785d2b4fb87f8292a94cf85778c1dbfaec727772a09c4d604fdb9ff0809a
languageName: node
linkType: hard
@@ -22620,9 +22634,9 @@ __metadata:
languageName: node
linkType: hard
-"google-gax@npm:^3.3.0, google-gax@npm:^3.5.1":
- version: 3.5.1
- resolution: "google-gax@npm:3.5.1"
+"google-gax@npm:^3.5.1, google-gax@npm:^3.5.2":
+ version: 3.5.2
+ resolution: "google-gax@npm:3.5.2"
dependencies:
"@grpc/grpc-js": ~1.7.0
"@grpc/proto-loader": ^0.7.0
@@ -22635,13 +22649,13 @@ __metadata:
node-fetch: ^2.6.1
object-hash: ^3.0.0
proto3-json-serializer: ^1.0.0
- protobufjs: 7.1.1
+ protobufjs: 7.1.2
protobufjs-cli: 1.0.2
retry-request: ^5.0.0
bin:
compileProtos: build/tools/compileProtos.js
minifyProtoJson: build/tools/minify.js
- checksum: 81ecd10981554944a117ace753b2fc8f6d82b26b244db005d01fc5e127181571de9a71ec02b28aa2e233c6fe696108617512a8b090c8304e753913f1ca441767
+ checksum: 619a961acba742c30eaba85f5e0fb5903f8fc6713e26bf1736549cbbd43d7fac3ba3379dbc96850117263199ea8e3e74635b078e9464c7fadbbcba8822949135
languageName: node
linkType: hard
@@ -23360,7 +23374,7 @@ __metadata:
languageName: node
linkType: hard
-"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3":
+"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6":
version: 2.0.6
resolution: "http-proxy-middleware@npm:2.0.6"
dependencies:
@@ -25335,9 +25349,9 @@ __metadata:
linkType: hard
"js-base64@npm:^3.6.0":
- version: 3.7.2
- resolution: "js-base64@npm:3.7.2"
- checksum: 573f28e9a27c3df60096d4d3f551bcb4fcb6d49161cf83396e9bad9b76f94736a70bb70b8808fe834dff2a388f76604ba09d6e153bbf181646e407720139fa5b
+ version: 3.7.3
+ resolution: "js-base64@npm:3.7.3"
+ checksum: ee19bed9ba21693e4583a47773dd701938de63db82e7c324d4c19093046157f0d87905cc20540f194f1d0ec88d6e1bfc4056aea916bcb873ebcf95942d26aa5a
languageName: node
linkType: hard
@@ -27117,11 +27131,11 @@ __metadata:
linkType: hard
"marked@npm:^4.0.10, marked@npm:^4.0.14":
- version: 4.1.1
- resolution: "marked@npm:4.1.1"
+ version: 4.2.3
+ resolution: "marked@npm:4.2.3"
bin:
marked: bin/marked.js
- checksum: 717e3357952ee53de831bf0eb110ed075bebca2376c58bcdf7ee523ef540d45308ad6d51b2c933da0968832ea4386f31c142ca65443e77c098e84f6cce73e418
+ checksum: 21b9f6cc4e7695b5e1f251b7b6c98fdc29c25f7ee6c8f4d5c51654856ea36d6222e9a5a227a9b89ccba717dcf7a722022f099aa0dc7caad8e041c996906c23d0
languageName: node
linkType: hard
@@ -28244,9 +28258,9 @@ __metadata:
languageName: node
linkType: hard
-"msw@npm:^0.48.0":
- version: 0.48.0
- resolution: "msw@npm:0.48.0"
+"msw@npm:^0.49.0":
+ version: 0.49.0
+ resolution: "msw@npm:0.49.0"
dependencies:
"@mswjs/cookies": ^0.2.2
"@mswjs/interceptors": ^0.17.5
@@ -28264,18 +28278,17 @@ __metadata:
node-fetch: ^2.6.7
outvariant: ^1.3.0
path-to-regexp: ^6.2.0
- statuses: ^2.0.0
strict-event-emitter: ^0.2.6
type-fest: ^2.19.0
yargs: ^17.3.1
peerDependencies:
- typescript: ">= 4.2.x <= 4.8.x"
+ typescript: ">= 4.4.x <= 4.9.x"
peerDependenciesMeta:
typescript:
optional: true
bin:
msw: cli/index.js
- checksum: a931232d18ad02c8b98ffb5db507824d619860743eab6ecf2c228a403b5a20e2b167d4e0ef6cdd7ca2c0d1e4cc913dce1a690e80d7ef3ec6724d3ee060abc477
+ checksum: 514d3d1ec8d2e7663409fae3904d1f6f0134ad6a9e7b43083ca5230b41afaee68c09dd3c3aadc555b5cbeac3f1a81b55cb6168bef1eb2c8d92b00445dbfbdd2f
languageName: node
linkType: hard
@@ -31138,9 +31151,9 @@ __metadata:
languageName: node
linkType: hard
-"protobufjs@npm:7.1.1, protobufjs@npm:^7.0.0":
- version: 7.1.1
- resolution: "protobufjs@npm:7.1.1"
+"protobufjs@npm:7.1.2, protobufjs@npm:^7.0.0":
+ version: 7.1.2
+ resolution: "protobufjs@npm:7.1.2"
dependencies:
"@protobufjs/aspromise": ^1.1.2
"@protobufjs/base64": ^1.1.2
@@ -31154,7 +31167,7 @@ __metadata:
"@protobufjs/utf8": ^1.1.0
"@types/node": ">=13.7.0"
long: ^5.0.0
- checksum: f6b0e7cec29056cefb83902009b39d24ac14a6117b52bc9b291b29778dad010e42d5563a20045e4de89b880114f4214f984396c8296a0d1b22f5dc7d9fe6705e
+ checksum: ae41669b1b0372fb1d49f506f2d1f2b0fb3dc3cece85987b17bcb544e4cef7c8d27f480486cdec324146ad0a5d22a327166a7ea864a9b3e49cc3c92a5d3f6500
languageName: node
linkType: hard
@@ -33066,12 +33079,9 @@ __metadata:
"@backstage/codemods": "workspace:*"
"@backstage/create-app": "workspace:*"
"@backstage/errors": "workspace:^"
+ "@backstage/repo-tools": "workspace:*"
"@changesets/cli": ^2.14.0
"@manypkg/get-packages": ^1.1.3
- "@microsoft/api-documenter": ^7.17.11
- "@microsoft/api-extractor": ^7.23.0
- "@microsoft/api-extractor-model": ^7.17.2
- "@microsoft/tsdoc": ^0.14.1
"@octokit/rest": ^19.0.3
"@spotify/prettier-config": ^14.0.0
"@techdocs/cli": "workspace:*"