From 74acf06f33d25e8eb52dbbc1f79f0bc86c166c78 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:13:16 +0400 Subject: [PATCH 01/30] Add changeset for the catalog-model package Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- .changeset/flat-deers-raise.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/flat-deers-raise.md diff --git a/.changeset/flat-deers-raise.md b/.changeset/flat-deers-raise.md new file mode 100644 index 0000000000..dfd2da971e --- /dev/null +++ b/.changeset/flat-deers-raise.md @@ -0,0 +1,5 @@ +--- +'@backstage/catalog-model': minor +--- + +Add `dependencyOf` prop to catalog model for Component kind to enable building relationship graphs with both directions using `dependsOn` and `dependencyOf`. From 6516c065b390b1c5ef9bf4b7195fe43cfc4791f4 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:14:38 +0400 Subject: [PATCH 02/30] update docs to describe new prop for components Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- docs/features/software-catalog/descriptor-format.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/features/software-catalog/descriptor-format.md b/docs/features/software-catalog/descriptor-format.md index 57c2283586..17bdac56e9 100644 --- a/docs/features/software-catalog/descriptor-format.md +++ b/docs/features/software-catalog/descriptor-format.md @@ -527,6 +527,8 @@ spec: system: artist-engagement-portal dependsOn: - resource:default/artists-db + dependencyOf: + - component:default/artist-web-lookup providesApis: - artist-api ``` @@ -636,6 +638,17 @@ field is optional. | [`Component`](#kind-component) | Same as this entity, typically `default` | [`dependsOn`, and reverse `dependencyOf`](well-known-relations.md#dependson-and-dependencyof) | | [`Resource`](#kind-resource) | Same as this entity, typically `default` | [`dependsOn`, and reverse `dependencyOf`](well-known-relations.md#dependson-and-dependencyof) | +### `spec.dependencyOf` [optional] + +An array of [entity references](references.md#string-references) to the +components and resources that the component is a dependency of, e.g. `artist-web-lookup`. +This field is optional. + +| [`kind`](#apiversion-and-kind-required) | Default [`namespace`](#namespace-optional) | Generated [relation](well-known-relations.md) type | +| --------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------- | +| [`Component`](#kind-component) | Same as this entity, typically `default` | [`dependencyOf`, and reverse `dependsOn`](well-known-relations.md#dependson-and-dependencyof) | +| [`Resource`](#kind-resource) | Same as this entity, typically `default` | [`dependencyOf`, and reverse `dependsOn`](well-known-relations.md#dependson-and-dependencyof) | + ## Kind: Template The following describes the following entity kind: From 6c9b803833cfcad344e2a59ec61a5447e5bd8759 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:15:23 +0400 Subject: [PATCH 03/30] Update api-report documentation Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- packages/catalog-model/api-report.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/catalog-model/api-report.md b/packages/catalog-model/api-report.md index de941e2502..ec03ce41e1 100644 --- a/packages/catalog-model/api-report.md +++ b/packages/catalog-model/api-report.md @@ -87,6 +87,7 @@ interface ComponentEntityV1alpha1 extends Entity { providesApis?: string[]; consumesApis?: string[]; dependsOn?: string[]; + dependencyOf?: string[]; system?: string; }; } From 78316f3976cf491d5b74ec13f8068f192c52aab3 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:16:13 +0400 Subject: [PATCH 04/30] Add dependencyOf to Component kind catalog model Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts b/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts index f931eab553..9a68d26cac 100644 --- a/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts @@ -38,6 +38,7 @@ export interface ComponentEntityV1alpha1 extends Entity { providesApis?: string[]; consumesApis?: string[]; dependsOn?: string[]; + dependencyOf?: string[]; system?: string; }; } From 03a05536c0d985fbc812b7cbd803364578f59f7b Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:17:29 +0400 Subject: [PATCH 05/30] Add dependency of for components in entity processor and validator Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- .../src/modules/core/BuiltinKindsEntityProcessor.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.ts b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.ts index c9ea0dbdc1..fd1195a13a 100644 --- a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.ts +++ b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.ts @@ -166,6 +166,12 @@ export class BuiltinKindsEntityProcessor implements CatalogProcessor { RELATION_DEPENDS_ON, RELATION_DEPENDENCY_OF, ); + doEmit( + component.spec.dependencyOf, + { defaultNamespace: selfRef.namespace }, + RELATION_DEPENDENCY_OF, + RELATION_DEPENDS_ON, + ); doEmit( component.spec.system, { defaultKind: 'System', defaultNamespace: selfRef.namespace }, From cada3c3c090a79ea008939d2b1855bfaf46b3de8 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:19:10 +0400 Subject: [PATCH 06/30] Add unit tests for entity processor and validator Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- .../core/BuiltinKindsEntityProcessor.test.ts | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts index e0368d40a6..f640b22520 100644 --- a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts +++ b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts @@ -46,13 +46,14 @@ describe('BuiltinKindsEntityProcessor', () => { providesApis: ['b'], consumesApis: ['c'], dependsOn: ['Resource:r', 'Component:d'], + dependencyOf: ['Resource:f', 'Component:g'], system: 's', }, }; await processor.postProcessEntity(entity, location, emit); - expect(emit).toHaveBeenCalledTimes(14); + expect(emit).toHaveBeenCalledTimes(18); expect(emit).toHaveBeenCalledWith({ type: 'relation', relation: { @@ -132,6 +133,38 @@ describe('BuiltinKindsEntityProcessor', () => { type: 'dependencyOf', target: { kind: 'Component', namespace: 'default', name: 'n' }, }, + }); + expect(emit).toHaveBeenCalledWith({ + type: 'relation', + relation: { + source: { kind: 'Component', namespace: 'default', name: 'n' }, + type: 'dependencyOf', + target: { kind: 'Resource', namespace: 'default', name: 'f' }, + }, + }); + expect(emit).toHaveBeenCalledWith({ + type: 'relation', + relation: { + source: { kind: 'Resource', namespace: 'default', name: 'f' }, + type: 'dependsOn', + target: { kind: 'Component', namespace: 'default', name: 'n' }, + }, + }); + expect(emit).toHaveBeenCalledWith({ + type: 'relation', + relation: { + source: { kind: 'Component', namespace: 'default', name: 'n' }, + type: 'dependencyOf', + target: { kind: 'Component', namespace: 'default', name: 'g' }, + }, + }); + expect(emit).toHaveBeenCalledWith({ + type: 'relation', + relation: { + source: { kind: 'Component', namespace: 'default', name: 'g' }, + type: 'dependsOn', + target: { kind: 'Component', namespace: 'default', name: 'n' }, + }, }); expect(emit).toHaveBeenCalledWith({ type: 'relation', @@ -190,6 +223,29 @@ describe('BuiltinKindsEntityProcessor', () => { ); }); + it('generates an error for component entities with unspecified dependencyOf entity reference kinds', async () => { + const entity: ComponentEntity = { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { name: 'n' }, + spec: { + type: 'service', + owner: 'o', + subcomponentOf: 's', + lifecycle: 'l', + providesApis: ['b'], + consumesApis: ['c'], + dependencyOf: ['y'], + system: 's', + }, + }; + await expect( + processor.postProcessEntity(entity, location, emit), + ).rejects.toThrow( + 'Entity reference "y" had missing or empty kind (e.g. did not start with "component:" or similar)', + ); + }); + it('generates relations for api entities', async () => { const entity: ApiEntity = { apiVersion: 'backstage.io/v1alpha1', From b9e244144f11ae8ce2adef8e1a0a75381317357a Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 14:15:42 +0400 Subject: [PATCH 07/30] Fix pretiier in BuiltinKindsEntityProcessor.test.ts Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- .../src/modules/core/BuiltinKindsEntityProcessor.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts index f640b22520..8fefb62bfc 100644 --- a/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts +++ b/plugins/catalog-backend/src/modules/core/BuiltinKindsEntityProcessor.test.ts @@ -134,7 +134,7 @@ describe('BuiltinKindsEntityProcessor', () => { target: { kind: 'Component', namespace: 'default', name: 'n' }, }, }); - expect(emit).toHaveBeenCalledWith({ + expect(emit).toHaveBeenCalledWith({ type: 'relation', relation: { source: { kind: 'Component', namespace: 'default', name: 'n' }, From 6e6ac1d2ef727d8537ed14be4e5ceb985de0b4c1 Mon Sep 17 00:00:00 2001 From: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> Date: Wed, 11 Sep 2024 14:18:22 +0400 Subject: [PATCH 08/30] Add catalog backend to changeset Signed-off-by: vahagsaribekyan <32436397+vahagsaribekyan@users.noreply.github.com> --- .changeset/flat-deers-raise.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/flat-deers-raise.md b/.changeset/flat-deers-raise.md index dfd2da971e..2595323e3a 100644 --- a/.changeset/flat-deers-raise.md +++ b/.changeset/flat-deers-raise.md @@ -1,5 +1,6 @@ --- '@backstage/catalog-model': minor +'@backstage/plugin-catalog-backend': minor --- Add `dependencyOf` prop to catalog model for Component kind to enable building relationship graphs with both directions using `dependsOn` and `dependencyOf`. From f2424b8d885488ef84e1d73c1965f9f4c66b7c65 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 12:17:58 +0000 Subject: [PATCH 09/30] fix(deps): update dependency @swc/core to v1.7.26 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- microsite/yarn.lock | 86 ++++++++++++++++++++++----------------------- storybook/yarn.lock | 86 ++++++++++++++++++++++----------------------- yarn.lock | 86 ++++++++++++++++++++++----------------------- 3 files changed, 129 insertions(+), 129 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index c619f0e03c..d1ec3a73ec 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -2715,90 +2715,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-arm64@npm:1.7.24" +"@swc/core-darwin-arm64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-arm64@npm:1.7.26" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-x64@npm:1.7.24" +"@swc/core-darwin-x64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-x64@npm:1.7.26" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.24" +"@swc/core-linux-arm-gnueabihf@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.26" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.24" +"@swc/core-linux-arm64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.24" +"@swc/core-linux-arm64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.24" +"@swc/core-linux-x64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-musl@npm:1.7.24" +"@swc/core-linux-x64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-musl@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.24" +"@swc/core-win32-arm64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.26" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.24" +"@swc/core-win32-ia32-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.26" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.24" +"@swc/core-win32-x64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.26" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.46": - version: 1.7.24 - resolution: "@swc/core@npm:1.7.24" + version: 1.7.26 + resolution: "@swc/core@npm:1.7.26" dependencies: - "@swc/core-darwin-arm64": 1.7.24 - "@swc/core-darwin-x64": 1.7.24 - "@swc/core-linux-arm-gnueabihf": 1.7.24 - "@swc/core-linux-arm64-gnu": 1.7.24 - "@swc/core-linux-arm64-musl": 1.7.24 - "@swc/core-linux-x64-gnu": 1.7.24 - "@swc/core-linux-x64-musl": 1.7.24 - "@swc/core-win32-arm64-msvc": 1.7.24 - "@swc/core-win32-ia32-msvc": 1.7.24 - "@swc/core-win32-x64-msvc": 1.7.24 + "@swc/core-darwin-arm64": 1.7.26 + "@swc/core-darwin-x64": 1.7.26 + "@swc/core-linux-arm-gnueabihf": 1.7.26 + "@swc/core-linux-arm64-gnu": 1.7.26 + "@swc/core-linux-arm64-musl": 1.7.26 + "@swc/core-linux-x64-gnu": 1.7.26 + "@swc/core-linux-x64-musl": 1.7.26 + "@swc/core-win32-arm64-msvc": 1.7.26 + "@swc/core-win32-ia32-msvc": 1.7.26 + "@swc/core-win32-x64-msvc": 1.7.26 "@swc/counter": ^0.1.3 "@swc/types": ^0.1.12 peerDependencies: @@ -2827,7 +2827,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: d46f58a43c8a5067459fec37e9df61f821e0315269165d05c7c173ad2039ca819986d1397b967f17163082c6333cb31293a1870e9b68dd09e03c2fc21d48b723 + checksum: 8249f2af001f2b5b312ccace4e3a8575bf286bb0f67f029eb58ef8b144f73e37f766800859161ef87c0993e586055238c000ab17dddf9d3760edcfa63ffd22e6 languageName: node linkType: hard diff --git a/storybook/yarn.lock b/storybook/yarn.lock index fd4cc6c72e..c547063187 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -2849,90 +2849,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-arm64@npm:1.7.24" +"@swc/core-darwin-arm64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-arm64@npm:1.7.26" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-x64@npm:1.7.24" +"@swc/core-darwin-x64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-x64@npm:1.7.26" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.24" +"@swc/core-linux-arm-gnueabihf@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.26" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.24" +"@swc/core-linux-arm64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.24" +"@swc/core-linux-arm64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.24" +"@swc/core-linux-x64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-musl@npm:1.7.24" +"@swc/core-linux-x64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-musl@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.24" +"@swc/core-win32-arm64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.26" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.24" +"@swc/core-win32-ia32-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.26" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.24" +"@swc/core-win32-x64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.26" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.46": - version: 1.7.24 - resolution: "@swc/core@npm:1.7.24" + version: 1.7.26 + resolution: "@swc/core@npm:1.7.26" dependencies: - "@swc/core-darwin-arm64": 1.7.24 - "@swc/core-darwin-x64": 1.7.24 - "@swc/core-linux-arm-gnueabihf": 1.7.24 - "@swc/core-linux-arm64-gnu": 1.7.24 - "@swc/core-linux-arm64-musl": 1.7.24 - "@swc/core-linux-x64-gnu": 1.7.24 - "@swc/core-linux-x64-musl": 1.7.24 - "@swc/core-win32-arm64-msvc": 1.7.24 - "@swc/core-win32-ia32-msvc": 1.7.24 - "@swc/core-win32-x64-msvc": 1.7.24 + "@swc/core-darwin-arm64": 1.7.26 + "@swc/core-darwin-x64": 1.7.26 + "@swc/core-linux-arm-gnueabihf": 1.7.26 + "@swc/core-linux-arm64-gnu": 1.7.26 + "@swc/core-linux-arm64-musl": 1.7.26 + "@swc/core-linux-x64-gnu": 1.7.26 + "@swc/core-linux-x64-musl": 1.7.26 + "@swc/core-win32-arm64-msvc": 1.7.26 + "@swc/core-win32-ia32-msvc": 1.7.26 + "@swc/core-win32-x64-msvc": 1.7.26 "@swc/counter": ^0.1.3 "@swc/types": ^0.1.12 peerDependencies: @@ -2961,7 +2961,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: d46f58a43c8a5067459fec37e9df61f821e0315269165d05c7c173ad2039ca819986d1397b967f17163082c6333cb31293a1870e9b68dd09e03c2fc21d48b723 + checksum: 8249f2af001f2b5b312ccace4e3a8575bf286bb0f67f029eb58ef8b144f73e37f766800859161ef87c0993e586055238c000ab17dddf9d3760edcfa63ffd22e6 languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index 020cafd66a..fdfc05dc2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16542,90 +16542,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-arm64@npm:1.7.24" +"@swc/core-darwin-arm64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-arm64@npm:1.7.26" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-darwin-x64@npm:1.7.24" +"@swc/core-darwin-x64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-x64@npm:1.7.26" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.24" +"@swc/core-linux-arm-gnueabihf@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.26" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.24" +"@swc/core-linux-arm64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.24" +"@swc/core-linux-arm64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.24" +"@swc/core-linux-x64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-linux-x64-musl@npm:1.7.24" +"@swc/core-linux-x64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-musl@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.24" +"@swc/core-win32-arm64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.26" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.24" +"@swc/core-win32-ia32-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.26" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.24": - version: 1.7.24 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.24" +"@swc/core-win32-x64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.26" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.46": - version: 1.7.24 - resolution: "@swc/core@npm:1.7.24" + version: 1.7.26 + resolution: "@swc/core@npm:1.7.26" dependencies: - "@swc/core-darwin-arm64": 1.7.24 - "@swc/core-darwin-x64": 1.7.24 - "@swc/core-linux-arm-gnueabihf": 1.7.24 - "@swc/core-linux-arm64-gnu": 1.7.24 - "@swc/core-linux-arm64-musl": 1.7.24 - "@swc/core-linux-x64-gnu": 1.7.24 - "@swc/core-linux-x64-musl": 1.7.24 - "@swc/core-win32-arm64-msvc": 1.7.24 - "@swc/core-win32-ia32-msvc": 1.7.24 - "@swc/core-win32-x64-msvc": 1.7.24 + "@swc/core-darwin-arm64": 1.7.26 + "@swc/core-darwin-x64": 1.7.26 + "@swc/core-linux-arm-gnueabihf": 1.7.26 + "@swc/core-linux-arm64-gnu": 1.7.26 + "@swc/core-linux-arm64-musl": 1.7.26 + "@swc/core-linux-x64-gnu": 1.7.26 + "@swc/core-linux-x64-musl": 1.7.26 + "@swc/core-win32-arm64-msvc": 1.7.26 + "@swc/core-win32-ia32-msvc": 1.7.26 + "@swc/core-win32-x64-msvc": 1.7.26 "@swc/counter": ^0.1.3 "@swc/types": ^0.1.12 peerDependencies: @@ -16654,7 +16654,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: d46f58a43c8a5067459fec37e9df61f821e0315269165d05c7c173ad2039ca819986d1397b967f17163082c6333cb31293a1870e9b68dd09e03c2fc21d48b723 + checksum: 8249f2af001f2b5b312ccace4e3a8575bf286bb0f67f029eb58ef8b144f73e37f766800859161ef87c0993e586055238c000ab17dddf9d3760edcfa63ffd22e6 languageName: node linkType: hard From e03acd82b5e7fda6da6504a69adbbf8b16ccac60 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Tue, 10 Sep 2024 19:15:02 -0500 Subject: [PATCH 10/30] Updated Docker docs to Node 20 Signed-off-by: Andre Wanlin --- .changeset/short-boxes-glow.md | 5 +++++ docs/deployment/docker.md | 8 ++++---- docs/deployment/flightcontrol.md | 4 ++-- docs/tooling/cli/02-build-system.md | 2 +- packages/backend/Dockerfile | 2 +- .../templates/default-app/packages/backend/Dockerfile | 2 +- 6 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 .changeset/short-boxes-glow.md diff --git a/.changeset/short-boxes-glow.md b/.changeset/short-boxes-glow.md new file mode 100644 index 0000000000..783d576d38 --- /dev/null +++ b/.changeset/short-boxes-glow.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Updated Dockerfile base image to `node:20-bookworm-slim` from `node:18-bookworm-slim` diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index a8e85c2f3c..6531aa88d3 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -54,7 +54,7 @@ Once the host build is complete, we are ready to build our image. The following `Dockerfile` is included when creating a new app with `@backstage/create-app`: ```dockerfile -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim # Set Python interpreter for `node-gyp` to use ENV PYTHON=/usr/bin/python3 @@ -175,7 +175,7 @@ the repo root: ```dockerfile # Stage 1 - Create yarn install skeleton layer -FROM node:18-bookworm-slim AS packages +FROM node:20-bookworm-slim AS packages WORKDIR /app COPY package.json yarn.lock ./ @@ -190,7 +190,7 @@ COPY plugins plugins RUN find packages \! -name "package.json" -mindepth 2 -maxdepth 2 -exec rm -rf {} \+ # Stage 2 - Install dependencies and build packages -FROM node:18-bookworm-slim AS build +FROM node:20-bookworm-slim AS build # Set Python interpreter for `node-gyp` to use ENV PYTHON=/usr/bin/python3 @@ -230,7 +230,7 @@ RUN mkdir packages/backend/dist/skeleton packages/backend/dist/bundle \ && tar xzf packages/backend/dist/bundle.tar.gz -C packages/backend/dist/bundle # Stage 3 - Build the actual backend image and install production dependencies -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim # Set Python interpreter for `node-gyp` to use ENV PYTHON=/usr/bin/python3 diff --git a/docs/deployment/flightcontrol.md b/docs/deployment/flightcontrol.md index fb2af87dd2..df0c9284fb 100644 --- a/docs/deployment/flightcontrol.md +++ b/docs/deployment/flightcontrol.md @@ -28,7 +28,7 @@ The following two code snippets demonstrate this method. The first block of code # yarn build:backend # # Once the commands have been run, you can build the image using `yarn build-image` -FROM node:18-bookworm-slim as build +FROM node:20-bookworm-slim as build USER node WORKDIR /app @@ -43,7 +43,7 @@ RUN yarn tsc # The configuration files here should match the one you use inside the Dockerfile below. RUN yarn build:backend --config ../../app-config.yaml -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim # Install isolate-vm dependencies, these are needed by the @backstage/plugin-scaffolder-backend. RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ diff --git a/docs/tooling/cli/02-build-system.md b/docs/tooling/cli/02-build-system.md index 1bcf7ad30c..ab7dc07802 100644 --- a/docs/tooling/cli/02-build-system.md +++ b/docs/tooling/cli/02-build-system.md @@ -420,7 +420,7 @@ The following is an example of a `Dockerfile` that can be used to package the output of building a package with role `'backend'` into an image: ```Dockerfile -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim WORKDIR /app COPY yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./ diff --git a/packages/backend/Dockerfile b/packages/backend/Dockerfile index b64a26afad..e07c266057 100644 --- a/packages/backend/Dockerfile +++ b/packages/backend/Dockerfile @@ -9,7 +9,7 @@ # # Once the commands have been run, you can build the image using `yarn build-image` -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim # Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image, # in which case you should also move better-sqlite3 to "devDependencies" in package.json. diff --git a/packages/create-app/templates/default-app/packages/backend/Dockerfile b/packages/create-app/templates/default-app/packages/backend/Dockerfile index b89d0477da..f18fa46af2 100644 --- a/packages/create-app/templates/default-app/packages/backend/Dockerfile +++ b/packages/create-app/templates/default-app/packages/backend/Dockerfile @@ -9,7 +9,7 @@ # # Once the commands have been run, you can build the image using `yarn build-image` -FROM node:18-bookworm-slim +FROM node:20-bookworm-slim # Set Python interpreter for `node-gyp` to use ENV PYTHON=/usr/bin/python3 From 94612ca243e26dbc030dc674a3093148b35e85f3 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Wed, 11 Sep 2024 07:27:08 -0500 Subject: [PATCH 11/30] Added no node snapshot Signed-off-by: Andre Wanlin --- docs/deployment/docker.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 6531aa88d3..1017684595 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -89,6 +89,9 @@ COPY --chown=node:node .yarnrc.yml ./ # This switches many Node.js dependencies to production mode. ENV NODE_ENV=production +# This disables node snapshot for Node 20 to work with the Scaffolder +ENV NODE_OPTIONS "--no-node-snapshot" + # Copy repo skeleton first, to avoid unnecessary docker cache invalidation. # The skeleton contains the package.json of each package in the monorepo, # and along with yarn.lock and the root package.json, that's enough to run yarn install. @@ -283,6 +286,9 @@ COPY --chown=node:node examples ./examples # This switches many Node.js dependencies to production mode. ENV NODE_ENV=production +# This disables node snapshot for Node 20 to work with the Scaffolder +ENV NODE_OPTIONS "--no-node-snapshot" + CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"] ``` From 6f23757e7d3b5d3d2d535e063f06ef60df07e961 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Wed, 11 Sep 2024 07:27:55 -0500 Subject: [PATCH 12/30] Also for create-app Signed-off-by: Andre Wanlin --- .../templates/default-app/packages/backend/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/create-app/templates/default-app/packages/backend/Dockerfile b/packages/create-app/templates/default-app/packages/backend/Dockerfile index f18fa46af2..09024eb44f 100644 --- a/packages/create-app/templates/default-app/packages/backend/Dockerfile +++ b/packages/create-app/templates/default-app/packages/backend/Dockerfile @@ -44,6 +44,9 @@ COPY --chown=node:node .yarnrc.yml ./ # This switches many Node.js dependencies to production mode. ENV NODE_ENV=production +# This disables node snapshot for Node 20 to work with the Scaffolder +ENV NODE_OPTIONS "--no-node-snapshot" + # Copy repo skeleton first, to avoid unnecessary docker cache invalidation. # The skeleton contains the package.json of each package in the monorepo, # and along with yarn.lock and the root package.json, that's enough to run yarn install. From 6bc8e1c3761ba8e4cac8d275cfe842567f093e40 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:18:03 +0000 Subject: [PATCH 13/30] build(deps): bump express from 4.19.2 to 4.21.0 in /storybook Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md) - [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0) --- updated-dependencies: - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] --- storybook/yarn.lock | 207 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 167 insertions(+), 40 deletions(-) diff --git a/storybook/yarn.lock b/storybook/yarn.lock index fd4cc6c72e..da547ad240 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -4085,9 +4085,9 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.2": - version: 1.20.2 - resolution: "body-parser@npm:1.20.2" +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" dependencies: bytes: 3.1.2 content-type: ~1.0.5 @@ -4097,11 +4097,11 @@ __metadata: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: ~1.6.18 unpipe: 1.0.0 - checksum: 14d37ec638ab5c93f6099ecaed7f28f890d222c650c69306872e00b9efa081ff6c596cd9afb9930656aae4d6c4e1c17537bea12bb73c87a217cb3cfea8896737 + checksum: 1a35c59a6be8d852b00946330141c4f142c6af0f970faa87f10ad74f1ee7118078056706a05ae3093c54dabca9cd3770fa62a170a85801da1a4324f04381167d languageName: node linkType: hard @@ -4326,6 +4326,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.1 resolution: "call-me-maybe@npm:1.0.1" @@ -5059,6 +5072,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + gopd: ^1.0.1 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -5326,6 +5350,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5444,6 +5475,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-get-iterator@npm:^1.0.2, es-get-iterator@npm:^1.1.3": version: 1.1.3 resolution: "es-get-iterator@npm:1.1.3" @@ -5650,41 +5697,41 @@ __metadata: linkType: hard "express@npm:^4.17.1": - version: 4.19.2 - resolution: "express@npm:4.19.2" + version: 4.21.0 + resolution: "express@npm:4.21.0" dependencies: accepts: ~1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: ~1.0.4 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 etag: ~1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: ~1.1.2 on-finished: 2.4.1 parseurl: ~1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: ~2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: ~1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: ~1.6.18 utils-merge: 1.0.1 vary: ~1.1.2 - checksum: 212dbd6c2c222a96a61bc927639c95970a53b06257080bb9e2838adb3bffdb966856551fdad1ab5dd654a217c35db94f987d0aa88d48fb04d306340f5f34dca5 + checksum: 1c5212993f665809c249bf00ab550b989d1365a5b9171cdfaa26d93ee2ef10cd8add520861ec8d5da74b3194d8374e1d9d53e85ef69b89fd9c4196b87045a5d4 languageName: node linkType: hard @@ -5853,18 +5900,18 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" dependencies: debug: 2.6.9 - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 on-finished: 2.4.1 parseurl: ~1.3.3 statuses: 2.0.1 unpipe: ~1.0.0 - checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 + checksum: a8c58cd97c9cd47679a870f6833a7b417043f5a288cd6af6d0f49b476c874a506100303a128b6d3b654c3d74fa4ff2ffed68a48a27e8630cda5c918f2977dcf4 languageName: node linkType: hard @@ -6131,6 +6178,13 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + "function.prototype.name@npm:^1.1.0, function.prototype.name@npm:^1.1.5": version: 1.1.5 resolution: "function.prototype.name@npm:1.1.5" @@ -6209,6 +6263,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: ^1.3.0 + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + languageName: node + linkType: hard + "get-stdin@npm:^4.0.1": version: 4.0.1 resolution: "get-stdin@npm:4.0.1" @@ -6440,6 +6507,15 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 + languageName: node + linkType: hard + "has-proto@npm:^1.0.1": version: 1.0.1 resolution: "has-proto@npm:1.0.1" @@ -6518,6 +6594,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "hast-to-hyperscript@npm:^9.0.0": version: 9.0.1 resolution: "hast-to-hyperscript@npm:9.0.1" @@ -8057,10 +8142,10 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": - version: 1.0.1 - resolution: "merge-descriptors@npm:1.0.1" - checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 languageName: node linkType: hard @@ -8567,6 +8652,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 9f850b3c045db60e0e97746e809ee4090d6ce62195af17dd1e9438ac761394a7d8ec4f7906559aea5424eaf61e35d3e53feded2ccd5f62fcc7d9670d3c8eb353 + languageName: node + linkType: hard + "object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -9012,10 +9104,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.7": - version: 0.1.7 - resolution: "path-to-regexp@npm:0.1.7" - checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce +"path-to-regexp@npm:0.1.10": + version: 0.1.10 + resolution: "path-to-regexp@npm:0.1.10" + checksum: ab7a3b7a0b914476d44030340b0a65d69851af2a0f33427df1476100ccb87d409c39e2182837a96b98fb38c4ef2ba6b87bdad62bb70a2c153876b8061760583c languageName: node linkType: hard @@ -9489,7 +9581,16 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0, qs@npm:^6.10.0": +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: ^1.0.6 + checksum: e9404dc0fc2849245107108ce9ec2766cde3be1b271de0bf1021d049dc5b98d1a2901e67b431ac5509f865420a7ed80b7acb3980099fe1c118a1c5d2e1432ad8 + languageName: node + linkType: hard + +"qs@npm:^6.10.0": version: 6.11.0 resolution: "qs@npm:6.11.0" dependencies: @@ -10240,9 +10341,9 @@ __metadata: languageName: node linkType: hard -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: 2.6.9 depd: 2.0.0 @@ -10257,7 +10358,7 @@ __metadata: on-finished: 2.4.1 range-parser: ~1.2.1 statuses: 2.0.1 - checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + checksum: 5ae11bd900c1c2575525e2aa622e856804e2f96a09281ec1e39610d089f53aa69e13fd8db84b52f001d0318cf4bb0b3b904ad532fc4c0014eb90d32db0cff55f languageName: node linkType: hard @@ -10292,15 +10393,15 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.15.0": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" dependencies: - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 parseurl: ~1.3.3 - send: 0.18.0 - checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d + send: 0.19.0 + checksum: dffc52feb4cc5c68e66d0c7f3c1824d4e989f71050aefc9bd5f822a42c54c9b814f595fc5f2b717f4c7cc05396145f3e90422af31186a93f76cf15f707019759 languageName: node linkType: hard @@ -10311,6 +10412,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -10373,6 +10488,18 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" From 6f409b7942904c7c872f75bf854cb20204bf5180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustaf=20R=C3=A4ntil=C3=A4?= Date: Fri, 13 Sep 2024 11:27:15 +0200 Subject: [PATCH 14/30] fix: Try matching emails without plus addressing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gustaf Räntilä --- .changeset/six-poems-press.md | 5 +++ .../src/sign-in/commonSignInResolvers.ts | 32 ++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 .changeset/six-poems-press.md diff --git a/.changeset/six-poems-press.md b/.changeset/six-poems-press.md new file mode 100644 index 0000000000..e08586a881 --- /dev/null +++ b/.changeset/six-poems-press.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-node': patch +--- + +[emailMatchingUserEntityProfileEmail resolver]: Try also matching emails with plus addressing removed. diff --git a/plugins/auth-node/src/sign-in/commonSignInResolvers.ts b/plugins/auth-node/src/sign-in/commonSignInResolvers.ts index 5b5da07c73..dafb110ccc 100644 --- a/plugins/auth-node/src/sign-in/commonSignInResolvers.ts +++ b/plugins/auth-node/src/sign-in/commonSignInResolvers.ts @@ -16,6 +16,11 @@ import { createSignInResolverFactory } from './createSignInResolverFactory'; +// This splits an email "joe+work@acme.com" into ["joe", "+work", "@acme.com"] +// so that we can remove the plus addressing. May output a shorter array: +// ["joe", "@acme.com"], if no plus addressing was found. +const reEmail = /([^@+]+)(\+[^@]+)?(@.*)/; + /** * A collection of common sign-in resolvers that work with any auth provider. * @@ -38,11 +43,28 @@ export namespace commonSignInResolvers { ); } - return ctx.signInWithCatalogUser({ - filter: { - 'spec.profile.email': profile.email, - }, - }); + try { + return await ctx.signInWithCatalogUser({ + filter: { + 'spec.profile.email': profile.email, + }, + }); + } catch (err) { + // Try removing the plus addressing from the email address + const m = profile.email.match(reEmail); + if (m?.length === 4) { + const [_, name, _plus, domain] = m; + const noPlusEmail = `${name}${domain}`; + + return ctx.signInWithCatalogUser({ + filter: { + 'spec.profile.email': noPlusEmail, + }, + }); + } + // Email had no plus addressing or is missing in the catalog, forward failure + throw err; + } }; }, }); From f5276a21c7b16af065083b22bda62c5bdf5b741a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustaf=20R=C3=A4ntil=C3=A4?= Date: Fri, 13 Sep 2024 16:02:29 +0200 Subject: [PATCH 15/30] Adapted to PR feedback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gustaf Räntilä --- .changeset/six-poems-press.md | 2 +- .../src/sign-in/commonSignInResolvers.ts | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.changeset/six-poems-press.md b/.changeset/six-poems-press.md index e08586a881..90868b44dc 100644 --- a/.changeset/six-poems-press.md +++ b/.changeset/six-poems-press.md @@ -2,4 +2,4 @@ '@backstage/plugin-auth-node': patch --- -[emailMatchingUserEntityProfileEmail resolver]: Try also matching emails with plus addressing removed. +The `emailMatchingUserEntityProfileEmail` sign-in resolver will now also try matching emails with plus addressing removed. diff --git a/plugins/auth-node/src/sign-in/commonSignInResolvers.ts b/plugins/auth-node/src/sign-in/commonSignInResolvers.ts index dafb110ccc..f664e7e33b 100644 --- a/plugins/auth-node/src/sign-in/commonSignInResolvers.ts +++ b/plugins/auth-node/src/sign-in/commonSignInResolvers.ts @@ -19,7 +19,7 @@ import { createSignInResolverFactory } from './createSignInResolverFactory'; // This splits an email "joe+work@acme.com" into ["joe", "+work", "@acme.com"] // so that we can remove the plus addressing. May output a shorter array: // ["joe", "@acme.com"], if no plus addressing was found. -const reEmail = /([^@+]+)(\+[^@]+)?(@.*)/; +const reEmail = /^([^@+]+)(\+[^@]+)?(@.*)$/; /** * A collection of common sign-in resolvers that work with any auth provider. @@ -50,17 +50,19 @@ export namespace commonSignInResolvers { }, }); } catch (err) { - // Try removing the plus addressing from the email address - const m = profile.email.match(reEmail); - if (m?.length === 4) { - const [_, name, _plus, domain] = m; - const noPlusEmail = `${name}${domain}`; + if (err?.name === 'NotFoundError') { + // Try removing the plus addressing from the email address + const m = profile.email.match(reEmail); + if (m?.length === 4) { + const [_, name, _plus, domain] = m; + const noPlusEmail = `${name}${domain}`; - return ctx.signInWithCatalogUser({ - filter: { - 'spec.profile.email': noPlusEmail, - }, - }); + return ctx.signInWithCatalogUser({ + filter: { + 'spec.profile.email': noPlusEmail, + }, + }); + } } // Email had no plus addressing or is missing in the catalog, forward failure throw err; From 0a50d441a4f0fddd991e649f1884514c3eded98a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Sep 2024 21:33:33 +0000 Subject: [PATCH 16/30] fix(deps): update rjsf monorepo to v5.21.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .changeset/renovate-9f1173b.md | 11 +++++ plugins/home-react/package.json | 2 +- plugins/home/package.json | 8 ++-- plugins/scaffolder-react/package.json | 8 ++-- plugins/scaffolder/package.json | 8 ++-- yarn.lock | 58 +++++++++++++-------------- 6 files changed, 53 insertions(+), 42 deletions(-) create mode 100644 .changeset/renovate-9f1173b.md diff --git a/.changeset/renovate-9f1173b.md b/.changeset/renovate-9f1173b.md new file mode 100644 index 0000000000..f481cf1299 --- /dev/null +++ b/.changeset/renovate-9f1173b.md @@ -0,0 +1,11 @@ +--- +'@backstage/plugin-home-react': patch +'@backstage/plugin-home': patch +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +Updated dependency `@rjsf/utils` to `5.21.1`. +Updated dependency `@rjsf/core` to `5.21.1`. +Updated dependency `@rjsf/material-ui` to `5.21.1`. +Updated dependency `@rjsf/validator-ajv8` to `5.21.1`. diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 48d5122ab3..64e5b31704 100644 --- a/plugins/home-react/package.json +++ b/plugins/home-react/package.json @@ -46,7 +46,7 @@ "@backstage/core-plugin-api": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@rjsf/utils": "5.20.1", + "@rjsf/utils": "5.21.1", "@types/react": "^16.13.1 || ^17.0.0" }, "devDependencies": { diff --git a/plugins/home/package.json b/plugins/home/package.json index 8f0c567bf9..617778dd52 100644 --- a/plugins/home/package.json +++ b/plugins/home/package.json @@ -70,10 +70,10 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", - "@rjsf/core": "5.20.1", - "@rjsf/material-ui": "5.20.1", - "@rjsf/utils": "5.20.1", - "@rjsf/validator-ajv8": "5.20.1", + "@rjsf/core": "5.21.1", + "@rjsf/material-ui": "5.21.1", + "@rjsf/utils": "5.21.1", + "@rjsf/validator-ajv8": "5.21.1", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "lodash": "^4.17.21", "luxon": "^3.4.3", diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index cbf9995c84..0fc60ee7c2 100644 --- a/plugins/scaffolder-react/package.json +++ b/plugins/scaffolder-react/package.json @@ -72,10 +72,10 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^24.0.0", - "@rjsf/core": "5.20.1", - "@rjsf/material-ui": "5.20.1", - "@rjsf/utils": "5.20.1", - "@rjsf/validator-ajv8": "5.20.1", + "@rjsf/core": "5.21.1", + "@rjsf/material-ui": "5.21.1", + "@rjsf/utils": "5.21.1", + "@rjsf/validator-ajv8": "5.21.1", "@types/json-schema": "^7.0.9", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "ajv-errors": "^3.0.0", diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 351707c2bf..c4fe3ab8ad 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -81,10 +81,10 @@ "@material-ui/lab": "4.0.0-alpha.61", "@microsoft/fetch-event-source": "^2.0.1", "@react-hookz/web": "^24.0.0", - "@rjsf/core": "5.20.1", - "@rjsf/material-ui": "5.20.1", - "@rjsf/utils": "5.20.1", - "@rjsf/validator-ajv8": "5.20.1", + "@rjsf/core": "5.21.1", + "@rjsf/material-ui": "5.21.1", + "@rjsf/utils": "5.21.1", + "@rjsf/validator-ajv8": "5.21.1", "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", "@uiw/react-codemirror": "^4.9.3", "classnames": "^2.2.6", diff --git a/yarn.lock b/yarn.lock index 1734cc11cf..d16c90ce39 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6325,7 +6325,7 @@ __metadata: "@backstage/core-plugin-api": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@rjsf/utils": 5.20.1 + "@rjsf/utils": 5.21.1 "@types/react": ^16.13.1 || ^17.0.0 "@types/react-grid-layout": ^1.3.2 peerDependencies: @@ -6356,10 +6356,10 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 - "@rjsf/core": 5.20.1 - "@rjsf/material-ui": 5.20.1 - "@rjsf/utils": 5.20.1 - "@rjsf/validator-ajv8": 5.20.1 + "@rjsf/core": 5.21.1 + "@rjsf/material-ui": 5.21.1 + "@rjsf/utils": 5.21.1 + "@rjsf/validator-ajv8": 5.21.1 "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 @@ -7367,10 +7367,10 @@ __metadata: "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^24.0.0 - "@rjsf/core": 5.20.1 - "@rjsf/material-ui": 5.20.1 - "@rjsf/utils": 5.20.1 - "@rjsf/validator-ajv8": 5.20.1 + "@rjsf/core": 5.21.1 + "@rjsf/material-ui": 5.21.1 + "@rjsf/utils": 5.21.1 + "@rjsf/validator-ajv8": 5.21.1 "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 @@ -7434,10 +7434,10 @@ __metadata: "@material-ui/lab": 4.0.0-alpha.61 "@microsoft/fetch-event-source": ^2.0.1 "@react-hookz/web": ^24.0.0 - "@rjsf/core": 5.20.1 - "@rjsf/material-ui": 5.20.1 - "@rjsf/utils": 5.20.1 - "@rjsf/validator-ajv8": 5.20.1 + "@rjsf/core": 5.21.1 + "@rjsf/material-ui": 5.21.1 + "@rjsf/utils": 5.21.1 + "@rjsf/validator-ajv8": 5.21.1 "@testing-library/dom": ^10.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^16.0.0 @@ -14368,9 +14368,9 @@ __metadata: languageName: node linkType: hard -"@rjsf/core@npm:5.20.1": - version: 5.20.1 - resolution: "@rjsf/core@npm:5.20.1" +"@rjsf/core@npm:5.21.1": + version: 5.21.1 + resolution: "@rjsf/core@npm:5.21.1" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -14380,26 +14380,26 @@ __metadata: peerDependencies: "@rjsf/utils": ^5.20.x react: ^16.14.0 || >=17 - checksum: a75a5261090bc1dd46594060981a130721060c38805031d1554b077e46673f84ffb40c489c2b579cf50e4fbb709210585a139e1c5d9eaccd603d957e95c2ead2 + checksum: a2372faeaeba53e83d9301b7b2fa300a37477bad18fcd55400b3aca270e8be5746590c398212ba6d53bc7f0092dc3bf28a46f17a7e8ddb0864c6590efd75f1f2 languageName: node linkType: hard -"@rjsf/material-ui@npm:5.20.1": - version: 5.20.1 - resolution: "@rjsf/material-ui@npm:5.20.1" +"@rjsf/material-ui@npm:5.21.1": + version: 5.21.1 + resolution: "@rjsf/material-ui@npm:5.21.1" peerDependencies: "@material-ui/core": ^4.12.3 "@material-ui/icons": ^4.11.2 "@rjsf/core": ^5.20.x "@rjsf/utils": ^5.20.x react: ^16.14.0 || >=17 - checksum: d7f5d4107ccf31d3320ef2f42e50c79004aaff44cac76dba60382f8f7e051fbb3b0470675bdccc25aa15c18ac84c77301509546eb0f0cfac897fd06a0f95facd + checksum: 3ff88b9f33deb767abd640f301857f12edfe436a1252f52b70d6f60b02f1975d2becc79f2a940bb8de2fd1732481d2101104b07c09c80b61ed4c393f9df8718e languageName: node linkType: hard -"@rjsf/utils@npm:5.20.1": - version: 5.20.1 - resolution: "@rjsf/utils@npm:5.20.1" +"@rjsf/utils@npm:5.21.1": + version: 5.21.1 + resolution: "@rjsf/utils@npm:5.21.1" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -14408,13 +14408,13 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 8bf59caeb9d32d40ec492df7fc702f0573ad2054042a3a0676fb7e10afa56d0d85740be28a752782fc16273952553ab76b40eb17e4e5b1178f473628003109f4 + checksum: bc0ac70a1a50f83d2425a782f6878537071922e0187026578005ca578700f8b0dc214cf72366668c7bb80374bb9409cc5233f1b1437aeadbd842f86e77e80067 languageName: node linkType: hard -"@rjsf/validator-ajv8@npm:5.20.1": - version: 5.20.1 - resolution: "@rjsf/validator-ajv8@npm:5.20.1" +"@rjsf/validator-ajv8@npm:5.21.1": + version: 5.21.1 + resolution: "@rjsf/validator-ajv8@npm:5.21.1" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 @@ -14422,7 +14422,7 @@ __metadata: lodash-es: ^4.17.21 peerDependencies: "@rjsf/utils": ^5.20.x - checksum: b6d9833335903465fa79cc808e4ad564d6f09adb23e728d3a3d0d309202b45846494ea1bed2bbc32b07d8583d37c9ce8fe9772ba48aa77c0660829162517c4d2 + checksum: d987a368092e561ff49ee2ab7f2b17d68d17bbedfb02356e453987cd2032fe476b1c35f0934fd5e0149ff478c7c87dfef43ff6f459fd15679a4c478cc32bd1be languageName: node linkType: hard From 107a1476b0c42160b2590227d3ac39386dec839f Mon Sep 17 00:00:00 2001 From: Heikki Hellgren Date: Sat, 14 Sep 2024 14:00:43 +0300 Subject: [PATCH 17/30] fix: table width overriden with custom styles when custom styles are passed to Table component, they override the default width 100%. moving the style out of restProps fixes this issue while still allows customizing the width if wanted. Signed-off-by: Heikki Hellgren --- .changeset/giant-seas-smile.md | 5 +++++ packages/core-components/src/components/Table/Table.tsx | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/giant-seas-smile.md diff --git a/.changeset/giant-seas-smile.md b/.changeset/giant-seas-smile.md new file mode 100644 index 0000000000..6c5bd899e7 --- /dev/null +++ b/.changeset/giant-seas-smile.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Fixed Table width being overriden by custom styling diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index e0bd3541f5..bcd411934b 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -350,6 +350,7 @@ export function Table(props: TableProps) { onStateChange, components, isLoading: loading, + style, ...restProps } = props; const tableClasses = useTableStyles(); @@ -483,7 +484,7 @@ export function Table(props: TableProps) { } data={tableData} - style={{ width: '100%' }} + style={{ width: '100%', ...style }} localization={{ toolbar: { searchPlaceholder: 'Filter', searchTooltip: 'Filter' }, ...localization, From 7b509c60f3a21e0c04f44159e7d2ab5bcf87e7ad Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 14 Sep 2024 14:45:33 +0200 Subject: [PATCH 18/30] Update .changeset/giant-seas-smile.md Signed-off-by: Patrik Oldsberg --- .changeset/giant-seas-smile.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/giant-seas-smile.md b/.changeset/giant-seas-smile.md index 6c5bd899e7..e2df4275bd 100644 --- a/.changeset/giant-seas-smile.md +++ b/.changeset/giant-seas-smile.md @@ -2,4 +2,4 @@ '@backstage/core-components': patch --- -Fixed Table width being overriden by custom styling +Fixed `Table` width being overridden by custom `style` prop. From 213664e85bea5cf074d5fc9ab686cb692557d177 Mon Sep 17 00:00:00 2001 From: zcmander Date: Fri, 13 Sep 2024 14:57:05 +0300 Subject: [PATCH 19/30] fix(cache): pass useRedisSets option to KeyvRedis cache storage adapter Co-authored-by: Patrik Oldsberg Signed-off-by: zcmander --- .changeset/clever-numbers-impress.md | 5 +++++ .../backend-defaults/src/entrypoints/cache/CacheManager.ts | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .changeset/clever-numbers-impress.md diff --git a/.changeset/clever-numbers-impress.md b/.changeset/clever-numbers-impress.md new file mode 100644 index 0000000000..feb1a0438c --- /dev/null +++ b/.changeset/clever-numbers-impress.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-defaults': patch +--- + +Fixed an issue where the `useRedisSets` configuration for the cache service would have no effect. diff --git a/packages/backend-defaults/src/entrypoints/cache/CacheManager.ts b/packages/backend-defaults/src/entrypoints/cache/CacheManager.ts index 41fe595123..a54959f155 100644 --- a/packages/backend-defaults/src/entrypoints/cache/CacheManager.ts +++ b/packages/backend-defaults/src/entrypoints/cache/CacheManager.ts @@ -147,7 +147,9 @@ export class CacheManager { let store: typeof KeyvRedis | undefined; return (pluginId, defaultTtl) => { if (!store) { - store = new KeyvRedis(this.connection); + store = new KeyvRedis(this.connection, { + useRedisSets: this.useRedisSets, + }); // Always provide an error handler to avoid stopping the process store.on('error', (err: Error) => { this.logger?.error('Failed to create redis cache client', err); From a0f1f0d3f2008f80a6a81dd2559b493d5a72a596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 16 Sep 2024 11:59:49 +0200 Subject: [PATCH 20/30] bump ws MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/big-sloths-melt.md | 7 +++++++ plugins/kubernetes-backend/package.json | 2 +- plugins/signals-backend/package.json | 2 +- plugins/signals-node/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 .changeset/big-sloths-melt.md diff --git a/.changeset/big-sloths-melt.md b/.changeset/big-sloths-melt.md new file mode 100644 index 0000000000..9d0b72ed8e --- /dev/null +++ b/.changeset/big-sloths-melt.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-signals-backend': patch +'@backstage/plugin-signals-node': patch +--- + +Bump the `ws` library diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 6e7bf85660..f47fd650e4 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -107,7 +107,7 @@ "@types/aws4": "^1.5.1", "msw": "^1.0.0", "supertest": "^7.0.0", - "ws": "^8.13.0" + "ws": "^8.18.0" }, "configSchema": "config.d.ts" } diff --git a/plugins/signals-backend/package.json b/plugins/signals-backend/package.json index 5e3447f10b..7ad1d7055f 100644 --- a/plugins/signals-backend/package.json +++ b/plugins/signals-backend/package.json @@ -51,7 +51,7 @@ "node-fetch": "^2.7.0", "uuid": "^9.0.0", "winston": "^3.2.1", - "ws": "^8.17.0", + "ws": "^8.18.0", "yn": "^4.0.0" }, "devDependencies": { diff --git a/plugins/signals-node/package.json b/plugins/signals-node/package.json index 05df60588e..5bda432188 100644 --- a/plugins/signals-node/package.json +++ b/plugins/signals-node/package.json @@ -45,7 +45,7 @@ "@backstage/types": "workspace:^", "express": "^4.17.1", "uuid": "^9.0.0", - "ws": "^8.14.2" + "ws": "^8.18.0" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/yarn.lock b/yarn.lock index 1734cc11cf..c794ec326c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6429,7 +6429,7 @@ __metadata: stream-buffers: ^3.0.2 supertest: ^7.0.0 winston: ^3.2.1 - ws: ^8.13.0 + ws: ^8.18.0 yn: ^4.0.0 languageName: unknown linkType: soft @@ -7751,7 +7751,7 @@ __metadata: supertest: ^7.0.0 uuid: ^9.0.0 winston: ^3.2.1 - ws: ^8.17.0 + ws: ^8.18.0 yn: ^4.0.0 languageName: unknown linkType: soft @@ -7770,7 +7770,7 @@ __metadata: "@types/express": ^4.17.21 express: ^4.17.1 uuid: ^9.0.0 - ws: ^8.14.2 + ws: ^8.18.0 languageName: unknown linkType: soft @@ -44352,7 +44352,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.14.2, ws@npm:^8.17.0, ws@npm:^8.18.0, ws@npm:^8.8.0": +"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.18.0, ws@npm:^8.8.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: From 619c22b0861a3c09009c7b7c7c045ab8d4f6c2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 16 Sep 2024 12:03:37 +0200 Subject: [PATCH 21/30] bump graphql tools too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- yarn.lock | 47 ++++++++++++++++------------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/yarn.lock b/yarn.lock index c794ec326c..1ed6e90ed2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9668,17 +9668,17 @@ __metadata: linkType: hard "@graphql-tools/executor-legacy-ws@npm:^1.0.0": - version: 1.0.4 - resolution: "@graphql-tools/executor-legacy-ws@npm:1.0.4" + version: 1.1.0 + resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.0" dependencies: - "@graphql-tools/utils": ^10.0.0 + "@graphql-tools/utils": ^10.3.0 "@types/ws": ^8.0.0 - isomorphic-ws: 5.0.0 + isomorphic-ws: ^5.0.0 tslib: ^2.4.0 - ws: 8.14.2 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: d271e7b0860dfa47b29ca56aa761e555c804a3223ed9f42784b2f1dcc872b15976a2c89db9b34ca26143a0b5cf6f45c771ddc23c0c012f5dabf222334c59635e + checksum: eb4acf16cf4b99f3b5fa8fc0b431e82ee7c5c424a6df4d89b73840bdbb7dcee8bff9652df986a08abecdcbec107892f3fe26c6a7adc6d447af8c6683b08b66a6 languageName: node linkType: hard @@ -9839,17 +9839,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.2, @graphql-tools/utils@npm:^10.0.5": - version: 10.0.8 - resolution: "@graphql-tools/utils@npm:10.0.8" +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.2, @graphql-tools/utils@npm:^10.0.5, @graphql-tools/utils@npm:^10.3.0": + version: 10.5.4 + resolution: "@graphql-tools/utils@npm:10.5.4" dependencies: "@graphql-typed-document-node/core": ^3.1.1 - cross-inspect: 1.0.0 + cross-inspect: 1.0.1 dset: ^3.1.2 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 75d4f17592b5b93c1a60efb583decd96cc0f7cacfb68f483569d28bb9afd5a8d0b4e85a0136fa54c222c090d55bfc085798f1acccd5db41f7971673547cf2a34 + checksum: 56b41b276401c9010e47627b0d84336ac840d4e3e7c0124884626f11b92a20a1f1aec97712dd06d8adf5239fc39f4a86d4f4349f6a7028205e577e4c200bf070 languageName: node linkType: hard @@ -23635,12 +23635,12 @@ __metadata: languageName: node linkType: hard -"cross-inspect@npm:1.0.0": - version: 1.0.0 - resolution: "cross-inspect@npm:1.0.0" +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" dependencies: tslib: ^2.4.0 - checksum: 975c81799549627027254eb70f1c349cefb14435d580bea6f351f510c839dcb1a9288983407bac2ad317e6eff29cf1e99299606da21f404562bfa64cec502239 + checksum: 7c1e02e0a9670b62416a3ea1df7ae880fdad3aa0a857de8932c4e5f8acd71298c7e3db9da8e9da603f5692cd1879938f5e72e34a9f5d1345987bef656d117fc1 languageName: node linkType: hard @@ -44352,7 +44352,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.18.0, ws@npm:^8.8.0": +"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.8.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -44367,21 +44367,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.14.2": - version: 8.14.2 - resolution: "ws@npm:8.14.2" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b - languageName: node - linkType: hard - "ws@npm:8.17.1": version: 8.17.1 resolution: "ws@npm:8.17.1" From bd32d5a9997b4bfc33efa8279ee04a865a3a2cb0 Mon Sep 17 00:00:00 2001 From: MT Lewis Date: Mon, 16 Sep 2024 11:40:27 +0100 Subject: [PATCH 22/30] yarn-plugin: add additional check during pack to confirm that all backstage versions have been replaced Adds an additional check during pack which walks all the dependencies in the manifest, and verifies that there are no remaining `backstage:` versions. I'm not aware of any realistic cases where the code that does the replacement would be expected to fail, but since a backstage:^ package in the manifest will break the release, it seems prudent to double check and fail fast to allow us to catch unexpected results. Signed-off-by: MT Lewis --- .changeset/seven-ladybugs-fetch.md | 5 +++ .../handlers/beforeWorkspacePacking.test.ts | 32 ++++++++++++++++++- .../src/handlers/beforeWorkspacePacking.ts | 15 +++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .changeset/seven-ladybugs-fetch.md diff --git a/.changeset/seven-ladybugs-fetch.md b/.changeset/seven-ladybugs-fetch.md new file mode 100644 index 0000000000..31c670f181 --- /dev/null +++ b/.changeset/seven-ladybugs-fetch.md @@ -0,0 +1,5 @@ +--- +'yarn-plugin-backstage': patch +--- + +Add additional check before packing workspace to verify that all backstage:^ versions have been removed. diff --git a/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.test.ts b/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.test.ts index ca99b88437..d156182923 100644 --- a/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.test.ts +++ b/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.test.ts @@ -28,6 +28,14 @@ jest.mock('@backstage/release-manifests', () => ({ name: '@backstage/core', version: '3.2.1', }, + { + name: '@backstage/plugin-1', + version: '6.5.4', + }, + { + name: '@backstage/plugin-2', + version: '9.8.7', + }, ], }), })); @@ -100,7 +108,29 @@ describe('beforeWorkspacePacking', () => { await expect(() => beforeWorkspacePacking(makeWorkspace(result), result), - ).rejects.toThrow(); + ).rejects.toThrow(/unexpected version range/i); + }); + + it(`throws an error if the final manifest unexpectedly contains backstage: versions`, async () => { + const result = { + name: 'test-package', + [dependencyType]: { + get ['@backstage/core']() { + return 'backstage:^'; + }, + set ['@backstage/core'](_value: unknown) { + // ignore the attempt to set the value to + // allow testing the validation logic at + // the end of the hook. + }, + '@backstage/plugin-1': 'backstage:^', + '@backstage/plugin-2': 'backstage:^', + }, + }; + + await expect(() => + beforeWorkspacePacking(makeWorkspace(result), result), + ).rejects.toThrow(/failed to replace all "backstage:" ranges/i); }); it('converts backstage:^ versions to the corresponding package version prefixed by ^', async () => { diff --git a/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.ts b/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.ts index b804f64226..41014a55a6 100644 --- a/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.ts +++ b/packages/yarn-plugin/src/handlers/beforeWorkspacePacking.ts @@ -15,9 +15,13 @@ */ import { Descriptor, Workspace, structUtils } from '@yarnpkg/core'; +import { some } from 'lodash'; import { getCurrentBackstageVersion, getPackageVersion } from '../util'; import { PROTOCOL } from '../constants'; +const hasBackstageVersion = (range: string) => + structUtils.parseRange(range).protocol === PROTOCOL; + const getFinalDependencyType = ( dependencyType: string, descriptor: Descriptor, @@ -69,4 +73,15 @@ export const beforeWorkspacePacking = async ( )}`; } } + + if ( + some( + ['dependencies', 'devDependencies', 'optionalDependencies'], + dependencyType => some(rawManifest[dependencyType], hasBackstageVersion), + ) + ) { + throw new Error( + `Failed to replace all "backstage:" ranges in manifest for ${rawManifest.name}`, + ); + } }; From 1c6f1424bd633ed23fb0533070ea1c872bd4010c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 16 Sep 2024 12:53:05 +0200 Subject: [PATCH 23/30] notifications-backend: avoid use of insecure express response patterns Signed-off-by: Patrik Oldsberg --- .changeset/empty-squids-peel.md | 5 +++++ plugins/notifications-backend/src/service/router.ts | 13 ++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 .changeset/empty-squids-peel.md diff --git a/.changeset/empty-squids-peel.md b/.changeset/empty-squids-peel.md new file mode 100644 index 0000000000..170d1bdd66 --- /dev/null +++ b/.changeset/empty-squids-peel.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-notifications-backend': patch +--- + +Internal refactor to avoid use of insecure coding patterns. diff --git a/plugins/notifications-backend/src/service/router.ts b/plugins/notifications-backend/src/service/router.ts index fb5aacb5f4..912651ab34 100644 --- a/plugins/notifications-backend/src/service/router.ts +++ b/plugins/notifications-backend/src/service/router.ts @@ -28,7 +28,7 @@ import { NotificationProcessor, NotificationSendOptions, } from '@backstage/plugin-notifications-node'; -import { InputError } from '@backstage/errors'; +import { InputError, NotFoundError } from '@backstage/errors'; import { AuthService, HttpAuthService, @@ -249,7 +249,7 @@ export async function createRouter( store.getNotifications(opts), store.getNotificationsCount(opts), ]); - res.send({ + res.json({ totalCount, notifications, }); @@ -258,7 +258,7 @@ export async function createRouter( router.get('/status', async (req: Request, res) => { const user = await getUser(req); const status = await store.getStatus({ user }); - res.send(status); + res.json(status); }); // Make sure this is the last "GET" handler @@ -271,10 +271,9 @@ export async function createRouter( }; const notifications = await store.getNotifications(opts); if (notifications.length !== 1) { - res.status(404).send({ error: 'Not found' }); - return; + throw new NotFoundError('Not found'); } - res.send(notifications[0]); + res.json(notifications[0]); }); router.post('/update', async (req, res) => { @@ -313,7 +312,7 @@ export async function createRouter( } const notifications = await store.getNotifications({ ids, user: user }); - res.status(200).send(notifications); + res.json(notifications); }); const sendBroadcastNotification = async ( From a60dd73256aa5f12d2ce17e2df175642b02a0438 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 16 Sep 2024 13:00:45 +0200 Subject: [PATCH 24/30] docs: update custom action docs to use resolveSafeChildPath Signed-off-by: Patrik Oldsberg --- docs/features/software-templates/writing-custom-actions.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/features/software-templates/writing-custom-actions.md b/docs/features/software-templates/writing-custom-actions.md index 98457d2e8d..e5a82c09a9 100644 --- a/docs/features/software-templates/writing-custom-actions.md +++ b/docs/features/software-templates/writing-custom-actions.md @@ -43,6 +43,7 @@ After running the command, the CLI will create a new directory with your new sca Let's create a simple action that adds a new file and some contents that are passed as `input` to the function. Within the generated directory, locate the file at `src/actions/example/example.ts`. Feel free to rename this file along with its generated unit test. We will replace the existing placeholder code with our custom action code as follows: ```ts title="With Zod" +import { resolveSafeChildPath } from '@backstage/backend-plugin-api'; import { createTemplateAction } from '@backstage/plugin-scaffolder-node'; import fs from 'fs-extra'; import { z } from 'zod'; @@ -62,7 +63,7 @@ export const createNewFileAction = () => { async handler(ctx) { await fs.outputFile( - `${ctx.workspacePath}/${ctx.input.filename}`, + resolveSafeChildPath(ctx.workspacePath, ctx.input.filename), ctx.input.contents, ); }, @@ -90,6 +91,7 @@ The `createTemplateAction` takes an object which specifies the following: You can also choose to define your custom action using JSON schema instead of `zod`: ```ts title="With JSON Schema" +import { resolveSafeChildPath } from '@backstage/backend-plugin-api'; import { createTemplateAction } from '@backstage/plugin-scaffolder-node'; import { writeFile } from 'fs'; @@ -118,7 +120,7 @@ export const createNewFileAction = () => { async handler(ctx) { const { signal } = ctx; await writeFile( - `${ctx.workspacePath}/${ctx.input.filename}`, + resolveSafeChildPath(ctx.workspacePath, ctx.input.filename), ctx.input.contents, { signal }, _ => {}, From 047dd5e87a597e3d33616c4861421d8afd1f87f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:28:54 +0000 Subject: [PATCH 25/30] build(deps): bump dset from 3.1.3 to 3.1.4 Bumps [dset](https://github.com/lukeed/dset) from 3.1.3 to 3.1.4. - [Release notes](https://github.com/lukeed/dset/releases) - [Commits](https://github.com/lukeed/dset/compare/v3.1.3...v3.1.4) --- updated-dependencies: - dependency-name: dset dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1ed6e90ed2..943126df8b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25010,9 +25010,9 @@ __metadata: linkType: hard "dset@npm:^3.1.2": - version: 3.1.3 - resolution: "dset@npm:3.1.3" - checksum: 5db964a36c60c51aa3f7088bfe1dc5c0eedd9a6ef3b216935bb70ef4a7b8fc40fd2f9bb16b9a4692c9c9772cea60cfefb108d2d09fbd53c85ea8f6cd54502d6a + version: 3.1.4 + resolution: "dset@npm:3.1.4" + checksum: 9a7677e9ffd3c13ad850f7cf367aa94b39984006510e84c3c09b7b88bba0a5b3b7196d85a99d0c4cae4e47d67bdeca43dc1834a41d80f31bcdc86dd26121ecec languageName: node linkType: hard From 23f90a1aa257afaa8765e6dc6f749767837a4e37 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:36:45 +0000 Subject: [PATCH 26/30] chore(deps): update dependency @playwright/test to v1.47.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8fb7322a92..d3cbaa2b50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13623,13 +13623,13 @@ __metadata: linkType: hard "@playwright/test@npm:^1.32.3": - version: 1.47.0 - resolution: "@playwright/test@npm:1.47.0" + version: 1.47.1 + resolution: "@playwright/test@npm:1.47.1" dependencies: - playwright: 1.47.0 + playwright: 1.47.1 bin: playwright: cli.js - checksum: 4f5a921c57d2577c64b0bc03d4b97937a6f853eee6afb58f2fc8fb140147b7f33800afe490c9ba3af515d5feb104f65319663931ec1ee75e10f001c1d69b138c + checksum: 8596e03e2a05f3fa3c3dac2a591d2366275dd643f6d181adf6b006ed1cb202b25a9ef1d13a41346bdbd9117cfe5e660422a8e1197bff9e020e569b1737f5dee9 languageName: node linkType: hard @@ -36596,27 +36596,27 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.47.0": - version: 1.47.0 - resolution: "playwright-core@npm:1.47.0" +"playwright-core@npm:1.47.1": + version: 1.47.1 + resolution: "playwright-core@npm:1.47.1" bin: playwright-core: cli.js - checksum: 64c6adae3ba76cd9f05e6569b1350a6e6990fd8236bb17d1f241b49bea68592a4f4390adb38863d2ee8ef5124e9cb77ff50b9076f8ef3a0890b2a37f87fb842a + checksum: f61cee27a04df439b1e0df48e43bcd4f71cc41adcac3c35ac2df538d27be52cd1da91220295abb089c702ef40311af0dce12e1a71959ec15933bcdc1e6091563 languageName: node linkType: hard -"playwright@npm:1.47.0": - version: 1.47.0 - resolution: "playwright@npm:1.47.0" +"playwright@npm:1.47.1": + version: 1.47.1 + resolution: "playwright@npm:1.47.1" dependencies: fsevents: 2.3.2 - playwright-core: 1.47.0 + playwright-core: 1.47.1 dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: e055fee751035f306a636267d0e080f08d4a523a6c1e3ebb01c91c18838c29bb9165ec3e63eb706798886fa2715f272dec908a7e2e1abcd7a55984688dbac2db + checksum: 90b9405b20946f1dd6bafc5b0248bb8a0217e850b1f740c672448cb0a284c57c7faef4c7207807d1a94cb45172fc5903478b12aef4f1bd03541630e8ab6267c1 languageName: node linkType: hard From 67fd913e773c17c4df430050ca0294d0ecf0f34c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:50:13 +0000 Subject: [PATCH 27/30] chore(deps): update dependency @types/pg to v8.11.10 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 659c3d4635..49813db771 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18072,13 +18072,13 @@ __metadata: linkType: hard "@types/pg@npm:*, @types/pg@npm:^8.6.6": - version: 8.11.9 - resolution: "@types/pg@npm:8.11.9" + version: 8.11.10 + resolution: "@types/pg@npm:8.11.10" dependencies: "@types/node": "*" pg-protocol: "*" pg-types: ^4.0.1 - checksum: b8985ebd12321ad2c21b943931c11bc6ddf13b707c321f095f8299af4101aa420b80302ad15f3618ed9e461e206655f2cef8fa01f01117e2de725e1657eba0c0 + checksum: b2b481784e44429b284c7fc18121372f8afe747c3ada84aaff55de3aa07e205cecf18e8623c8b61860f8eeb499305bef8f934b62c9a1911bef3f8509febef071 languageName: node linkType: hard From 37e46e67cf5c70b2ab021508b46d46af7f4e528f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 12:28:34 +0000 Subject: [PATCH 28/30] chore(deps): update dependency @types/react to v18.3.6 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0fb5d1438c..00c37c61a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18256,12 +18256,12 @@ __metadata: linkType: hard "@types/react@npm:^18": - version: 18.3.5 - resolution: "@types/react@npm:18.3.5" + version: 18.3.6 + resolution: "@types/react@npm:18.3.6" dependencies: "@types/prop-types": "*" csstype: ^3.0.2 - checksum: 63d2ff473b348c902b68c20be55d2c5124d078c4336c2d1778f316c27789ed596657e8e714022ce14fb24994b0960fc64c913e629bb0bf85815355b0c31eb46b + checksum: 66cf1ea408b63c518e2d36c5a8c425e856885c62160d85cfa653c061bbf744f7858b102da04d2bad72bd93a5469e016538e0723f57ef56de512c79712d209add languageName: node linkType: hard From 9e45ff62968b46dd0b6c6aebd90d8e67a78a1420 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:19:46 +0000 Subject: [PATCH 29/30] build(deps): bump express from 4.19.2 to 4.21.0 in /microsite Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md) - [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0) --- updated-dependencies: - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] --- microsite/yarn.lock | 231 +++++++++++++++++++++++++++++--------------- 1 file changed, 155 insertions(+), 76 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index c619f0e03c..a2c75c294c 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -3949,9 +3949,9 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.2": - version: 1.20.2 - resolution: "body-parser@npm:1.20.2" +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" dependencies: bytes: 3.1.2 content-type: ~1.0.5 @@ -3961,11 +3961,11 @@ __metadata: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: ~1.6.18 unpipe: 1.0.0 - checksum: 14d37ec638ab5c93f6099ecaed7f28f890d222c650c69306872e00b9efa081ff6c596cd9afb9930656aae4d6c4e1c17537bea12bb73c87a217cb3cfea8896737 + checksum: 1a35c59a6be8d852b00946330141c4f142c6af0f970faa87f10ad74f1ee7118078056706a05ae3093c54dabca9cd3770fa62a170a85801da1a4324f04381167d languageName: node linkType: hard @@ -4131,13 +4131,16 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 languageName: node linkType: hard @@ -5005,6 +5008,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + gopd: ^1.0.1 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -5328,6 +5342,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5384,6 +5405,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-module-lexer@npm:^1.2.1": version: 1.2.1 resolution: "es-module-lexer@npm:1.2.1" @@ -5607,41 +5644,41 @@ __metadata: linkType: hard "express@npm:^4.17.3": - version: 4.19.2 - resolution: "express@npm:4.19.2" + version: 4.21.0 + resolution: "express@npm:4.21.0" dependencies: accepts: ~1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: ~1.0.4 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 etag: ~1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: ~1.1.2 on-finished: 2.4.1 parseurl: ~1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: ~2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: ~1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: ~1.6.18 utils-merge: 1.0.1 vary: ~1.1.2 - checksum: 212dbd6c2c222a96a61bc927639c95970a53b06257080bb9e2838adb3bffdb966856551fdad1ab5dd654a217c35db94f987d0aa88d48fb04d306340f5f34dca5 + checksum: 1c5212993f665809c249bf00ab550b989d1365a5b9171cdfaa26d93ee2ef10cd8add520861ec8d5da74b3194d8374e1d9d53e85ef69b89fd9c4196b87045a5d4 languageName: node linkType: hard @@ -5768,18 +5805,18 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" dependencies: debug: 2.6.9 - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 on-finished: 2.4.1 parseurl: ~1.3.3 statuses: 2.0.1 unpipe: ~1.0.0 - checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 + checksum: a8c58cd97c9cd47679a870f6833a7b417043f5a288cd6af6d0f49b476c874a506100303a128b6d3b654c3d74fa4ff2ffed68a48a27e8630cda5c918f2977dcf4 languageName: node linkType: hard @@ -5963,10 +6000,10 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard @@ -5993,14 +6030,16 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": - version: 1.1.3 - resolution: "get-intrinsic@npm:1.1.3" +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 languageName: node linkType: hard @@ -6140,6 +6179,15 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "got@npm:^12.1.0": version: 12.6.0 resolution: "got@npm:12.6.0" @@ -6208,12 +6256,19 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 languageName: node linkType: hard @@ -6247,6 +6302,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "hast-util-from-parse5@npm:^8.0.0": version: 8.0.1 resolution: "hast-util-from-parse5@npm:8.0.1" @@ -7843,10 +7907,10 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": - version: 1.0.1 - resolution: "merge-descriptors@npm:1.0.1" - checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 languageName: node linkType: hard @@ -8765,10 +8829,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 9f850b3c045db60e0e97746e809ee4090d6ce62195af17dd1e9438ac761394a7d8ec4f7906559aea5424eaf61e35d3e53feded2ccd5f62fcc7d9670d3c8eb353 languageName: node linkType: hard @@ -9090,10 +9154,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.7": - version: 0.1.7 - resolution: "path-to-regexp@npm:0.1.7" - checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce +"path-to-regexp@npm:0.1.10": + version: 0.1.10 + resolution: "path-to-regexp@npm:0.1.10" + checksum: ab7a3b7a0b914476d44030340b0a65d69851af2a0f33427df1476100ccb87d409c39e2182837a96b98fb38c4ef2ba6b87bdad62bb70a2c153876b8061760583c languageName: node linkType: hard @@ -9744,12 +9808,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0": - version: 6.11.0 - resolution: "qs@npm:6.11.0" +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" dependencies: - side-channel: ^1.0.4 - checksum: 6e1f29dd5385f7488ec74ac7b6c92f4d09a90408882d0c208414a34dd33badc1a621019d4c799a3df15ab9b1d0292f97c1dd71dc7c045e69f81a8064e5af7297 + side-channel: ^1.0.6 + checksum: e9404dc0fc2849245107108ce9ec2766cde3be1b271de0bf1021d049dc5b98d1a2901e67b431ac5509f865420a7ed80b7acb3980099fe1c118a1c5d2e1432ad8 languageName: node linkType: hard @@ -10561,9 +10625,9 @@ __metadata: languageName: node linkType: hard -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: 2.6.9 depd: 2.0.0 @@ -10578,7 +10642,7 @@ __metadata: on-finished: 2.4.1 range-parser: ~1.2.1 statuses: 2.0.1 - checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + checksum: 5ae11bd900c1c2575525e2aa622e856804e2f96a09281ec1e39610d089f53aa69e13fd8db84b52f001d0318cf4bb0b3b904ad532fc4c0014eb90d32db0cff55f languageName: node linkType: hard @@ -10622,15 +10686,15 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.15.0": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" dependencies: - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 parseurl: ~1.3.3 - send: 0.18.0 - checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d + send: 0.19.0 + checksum: dffc52feb4cc5c68e66d0c7f3c1824d4e989f71050aefc9bd5f822a42c54c9b814f595fc5f2b717f4c7cc05396145f3e90422af31186a93f76cf15f707019759 languageName: node linkType: hard @@ -10641,6 +10705,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + "setprototypeof@npm:1.1.0": version: 1.1.0 resolution: "setprototypeof@npm:1.1.0" @@ -10707,14 +10785,15 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" dependencies: - call-bind: ^1.0.0 - get-intrinsic: ^1.0.2 - object-inspect: ^1.9.0 - checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 languageName: node linkType: hard From 2896a2d73c5a4d4856c504d91437607ab915affe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 12:49:06 +0000 Subject: [PATCH 30/30] chore(deps): update dependency knip to v5.30.2 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f78fca5354..40f190e30b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31929,8 +31929,8 @@ __metadata: linkType: hard "knip@npm:^5.0.0": - version: 5.30.1 - resolution: "knip@npm:5.30.1" + version: 5.30.2 + resolution: "knip@npm:5.30.2" dependencies: "@nodelib/fs.walk": 1.2.8 "@snyk/github-codeowners": 1.1.0 @@ -31954,7 +31954,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: a3b7f3c8d6867584089c2775b7ab5f44e9c755c607ed1ec2dd85a9012652d51f1de6851ab860a9d6ff83c92a79da59ee1a6b32a44685437ccdbb5ef126348771 + checksum: fafb6ee078c1e9f24e83c08c6b97c7ad82ef78d043eff6a064639e08354a4b81cbb132d705acc53874d0f0d02dc690d960f75efe8783ac349fde491bcbf1b742 languageName: node linkType: hard