From 9fe7b5b68dea6f96a4ae5e860a59a6d8f6abb055 Mon Sep 17 00:00:00 2001 From: Florian JUDITH Date: Fri, 20 Oct 2023 00:42:51 -0400 Subject: [PATCH 01/38] Added node-gyp module dependency Signed-off-by: Florian JUDITH --- packages/create-app/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/create-app/package.json b/packages/create-app/package.json index 597908c894..7fdf858605 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -38,6 +38,7 @@ "fs-extra": "10.1.0", "handlebars": "^4.7.3", "inquirer": "^8.2.0", + "node-gyp": "^9.4.0", "ora": "^5.3.0", "recursive-readdir": "^2.2.2" }, diff --git a/yarn.lock b/yarn.lock index 8561896b24..ded61608b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4183,6 +4183,7 @@ __metadata: handlebars: ^4.7.3 inquirer: ^8.2.0 mock-fs: ^5.2.0 + node-gyp: ^9.4.0 nodemon: ^3.0.1 ora: ^5.3.0 recursive-readdir: ^2.2.2 From e6b7ab8d2bc179d543648e143fa1f2eecb08809e Mon Sep 17 00:00:00 2001 From: Florian JUDITH Date: Fri, 20 Oct 2023 00:48:07 -0400 Subject: [PATCH 02/38] Added changeset Signed-off-by: Florian JUDITH --- .changeset/thick-boats-decide.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thick-boats-decide.md diff --git a/.changeset/thick-boats-decide.md b/.changeset/thick-boats-decide.md new file mode 100644 index 0000000000..e258962ecd --- /dev/null +++ b/.changeset/thick-boats-decide.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Added missing node-gyp dependency to fix Docker image build From 46c3cf223d1a43a11902488aa6be5e221cbfeee2 Mon Sep 17 00:00:00 2001 From: Florian JUDITH Date: Fri, 20 Oct 2023 17:00:21 -0400 Subject: [PATCH 03/38] Revert "Added node-gyp module dependency" This reverts commit ae83e81512e608afd530bc82403d0723ecbd8d6a. Signed-off-by: Florian JUDITH --- packages/create-app/package.json | 1 - yarn.lock | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/create-app/package.json b/packages/create-app/package.json index 7fdf858605..597908c894 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -38,7 +38,6 @@ "fs-extra": "10.1.0", "handlebars": "^4.7.3", "inquirer": "^8.2.0", - "node-gyp": "^9.4.0", "ora": "^5.3.0", "recursive-readdir": "^2.2.2" }, diff --git a/yarn.lock b/yarn.lock index ded61608b6..8561896b24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4183,7 +4183,6 @@ __metadata: handlebars: ^4.7.3 inquirer: ^8.2.0 mock-fs: ^5.2.0 - node-gyp: ^9.4.0 nodemon: ^3.0.1 ora: ^5.3.0 recursive-readdir: ^2.2.2 From 0f29f1c5167157886c0bc8b578bf96c5bf983819 Mon Sep 17 00:00:00 2001 From: Florian JUDITH Date: Tue, 24 Oct 2023 06:30:54 -0400 Subject: [PATCH 04/38] Added "node-gyp" dependency to resolve docker image build Signed-off-by: Florian JUDITH --- .../templates/default-app/packages/backend/package.json.hbs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/create-app/templates/default-app/packages/backend/package.json.hbs b/packages/create-app/templates/default-app/packages/backend/package.json.hbs index cb358db911..1469271132 100644 --- a/packages/create-app/templates/default-app/packages/backend/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/backend/package.json.hbs @@ -39,7 +39,8 @@ "express": "^4.17.1", "express-promise-router": "^4.1.0", "pg": "^8.3.0", - "winston": "^3.2.1" + "winston": "^3.2.1", + "node-gyp": "^9.0.0" }, "devDependencies": { "@backstage/cli": "^{{version '@backstage/cli'}}", From ef0e4f204a212dc48be27e36f7dce114b7a5d1ed Mon Sep 17 00:00:00 2001 From: Frank Kong Date: Wed, 25 Oct 2023 12:46:40 -0400 Subject: [PATCH 05/38] chore: add nexus-repository-manager plugin to plugin list in website Signed-off-by: Frank Kong --- microsite/data/plugins/nexus-repository-manager.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 microsite/data/plugins/nexus-repository-manager.yaml diff --git a/microsite/data/plugins/nexus-repository-manager.yaml b/microsite/data/plugins/nexus-repository-manager.yaml new file mode 100644 index 0000000000..aca1e366e2 --- /dev/null +++ b/microsite/data/plugins/nexus-repository-manager.yaml @@ -0,0 +1,10 @@ +--- +title: Nexus Repository Manager +author: Red Hat +authorUrl: https://redhat.com +category: Image +description: View information about the build artifacts in your Nexus Repository Manager in Backstage. +documentation: https://janus-idp.io/plugins/nexus-repository-manager +iconUrl: https://janus-idp.io/images/plugins/nexus-repository-manager.svg +npmPackageName: '@janus-idp/backstage-plugin-nexus-repository-manager' +addedDate: '2023-10-25' From c6e7940ccfc986bce1077ba8e8abdae6ebb06296 Mon Sep 17 00:00:00 2001 From: AmbrishRamachandiran Date: Thu, 26 Oct 2023 12:24:54 +0530 Subject: [PATCH 06/38] updated readme document in bazaar plugin Signed-off-by: AmbrishRamachandiran --- .changeset/chatty-countries-refuse.md | 5 +++++ plugins/bazaar/README.md | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/chatty-countries-refuse.md diff --git a/.changeset/chatty-countries-refuse.md b/.changeset/chatty-countries-refuse.md new file mode 100644 index 0000000000..d29d1a453b --- /dev/null +++ b/.changeset/chatty-countries-refuse.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-bazaar': patch +--- + +Updated Readme document in bazaar plugin diff --git a/plugins/bazaar/README.md b/plugins/bazaar/README.md index 9b5fb466df..941979d4d3 100644 --- a/plugins/bazaar/README.md +++ b/plugins/bazaar/README.md @@ -2,15 +2,15 @@ ### What is the Bazaar? -The Bazaar is a place where teams can propose projects for cross-functional team development. Essentially a marketplace for internal projects suitable for [Inner Sourcing](https://en.wikipedia.org/wiki/Inner_source). With "Inner Sourcing", we mean projects that are developed internally within a company, but with Open Source best practices. +The Bazaar is a place where teams can propose projects for cross-functional team development. Essentially, it’s a marketplace for internal projects suitable for [Inner Sourcing](https://en.wikipedia.org/wiki/Inner_source). By “Inner Sourcing,” we mean projects that are developed internally within a company but follow Open Source best practices. ### Why? -Many companies today are of high need to increase the ease of cross-team cooperation. In large organizations, engineers often have limited ways of discovering or announcing the projects which could benefit from a wider development effort in terms of different expertise, experiences, and teams spread across the organization. With no good way to find these existing internal projects to join, the possibility of working with Inner Sourcing practices suffers. +Many companies today have a high need to increase the ease of cross-team cooperation. In large organizations, engineers often have limited ways of discovering or announcing projects that could benefit from a wider development effort in terms of different expertise, experiences, and teams spread across the organization. With no good way to find these existing internal projects to join, the possibility of working with Inner Sourcing practices suffers. ### How? -The Bazaar allows engineers and teams to open up and announce their new and exciting projects for transparent cooperation in other parts of larger organizations. The Bazaar ensures that new Inner Sourcing friendly projects gain visibility through Backstage and a way for interested engineers to show their interest and in the future contribute with their specific skill set. The Bazaar also provides an easy way to manage, catalog, and browse these Inner Sourcing friendly projects and components. +The Bazaar allows engineers and teams to open up and announce their new and exciting projects for transparent cooperation in other parts of larger organizations. The Bazaar ensures that new Inner Sourcing-friendly projects gain visibility through Backstage and a way for interested engineers to show their interest and, in the future, contribute with their specific skill set. The Bazaar also provides an easy way to manage, catalog, and browse these Inner Sourcing-friendly projects and components. # Note From dfbea6bf409bd8c8a8a1e47e5f73ec09c1d45329 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Thu, 26 Oct 2023 14:55:40 +0200 Subject: [PATCH 07/38] Update config.yml Signed-off-by: Philipp Hugenroth --- .github/ISSUE_TEMPLATE/config.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index e4b99b3be1..a3ef40c13d 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,8 @@ --- blank_issues_enabled: false contact_links: - - about: 'Please ask and answer usage questions in GitHub Discussions' - name: Question - url: 'https://github.com/backstage/backstage/discussions' - - about: 'Alternatively, you can use the Backstage Community Discord' - name: Chat + - about: 'Use the Backstage Community Discord for questions & discussions' + name: Questions url: 'https://discord.gg/backstage-687207715902193673' - about: 'Please check the FAQ before filing new issues' name: 'Backstage FAQ' From 0dd8af36b0d5744c210958bf28daecac54e11fb9 Mon Sep 17 00:00:00 2001 From: Hammar Johan Date: Sun, 29 Oct 2023 15:50:15 +0100 Subject: [PATCH 08/38] docs(docker): remove cypress from Docker deployment documentation Signed-off-by: Hammar Johan --- docs/deployment/docker.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 4b29ef8a0e..c9ace49d4d 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -194,8 +194,6 @@ WORKDIR /app COPY --from=packages --chown=node:node /app . -# Stop cypress from downloading it's massive binary. -ENV CYPRESS_INSTALL_BINARY=0 RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \ yarn install --frozen-lockfile --network-timeout 600000 From 733bd95746b99ad8cdb4a7b87e8dc3e16d3b764a Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 28 Oct 2023 12:52:42 +0200 Subject: [PATCH 09/38] frontend-*-api: add and implement AppTreeApi Signed-off-by: Patrik Oldsberg --- .changeset/orange-jokes-tap.md | 5 ++ .changeset/shiny-goats-flash.md | 5 ++ .../routing/extractRouteInfoFromAppNode.ts | 2 +- .../src/tree/createAppTree.ts | 2 +- packages/frontend-app-api/src/tree/index.ts | 6 -- .../src/tree/instantiateAppNodeTree.test.ts | 2 +- .../src/tree/instantiateAppNodeTree.ts | 6 +- .../src/tree/resolveAppNodeSpecs.ts | 2 +- .../src/tree/resolveAppTree.ts | 7 ++- .../src/wiring/createApp.test.tsx | 57 +++++++++++++++++ .../frontend-app-api/src/wiring/createApp.tsx | 21 +++++-- packages/frontend-plugin-api/api-report.md | 61 +++++++++++++++++++ .../src/apis/definitions/AppTreeApi.ts} | 55 ++++++++++------- .../src/apis/definitions/index.ts | 25 ++++++++ .../frontend-plugin-api/src/apis/index.ts | 17 ++++++ packages/frontend-plugin-api/src/index.ts | 1 + 16 files changed, 236 insertions(+), 38 deletions(-) create mode 100644 .changeset/orange-jokes-tap.md create mode 100644 .changeset/shiny-goats-flash.md rename packages/{frontend-app-api/src/tree/types.ts => frontend-plugin-api/src/apis/definitions/AppTreeApi.ts} (72%) create mode 100644 packages/frontend-plugin-api/src/apis/definitions/index.ts create mode 100644 packages/frontend-plugin-api/src/apis/index.ts diff --git a/.changeset/orange-jokes-tap.md b/.changeset/orange-jokes-tap.md new file mode 100644 index 0000000000..0fd9e14a46 --- /dev/null +++ b/.changeset/orange-jokes-tap.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-app-api': patch +--- + +Implement new `AppTreeApi` diff --git a/.changeset/shiny-goats-flash.md b/.changeset/shiny-goats-flash.md new file mode 100644 index 0000000000..35a7ce0697 --- /dev/null +++ b/.changeset/shiny-goats-flash.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': patch +--- + +Add new `AppTreeApi`. diff --git a/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.ts b/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.ts index 5700bf4eae..43955328a8 100644 --- a/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.ts +++ b/packages/frontend-app-api/src/routing/extractRouteInfoFromAppNode.ts @@ -18,7 +18,7 @@ import { RouteRef, coreExtensionData } from '@backstage/frontend-plugin-api'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports import { toLegacyPlugin } from '../wiring/createApp'; import { BackstageRouteObject } from './types'; -import { AppNode } from '../tree'; +import { AppNode } from '@backstage/frontend-plugin-api'; // We always add a child that matches all subroutes but without any route refs. This makes // sure that we're always able to match each route no matter how deep the navigation goes. diff --git a/packages/frontend-app-api/src/tree/createAppTree.ts b/packages/frontend-app-api/src/tree/createAppTree.ts index 2c36d56bf7..950669febd 100644 --- a/packages/frontend-app-api/src/tree/createAppTree.ts +++ b/packages/frontend-app-api/src/tree/createAppTree.ts @@ -22,7 +22,7 @@ import { import { readAppExtensionsConfig } from './readAppExtensionsConfig'; import { resolveAppTree } from './resolveAppTree'; import { resolveAppNodeSpecs } from './resolveAppNodeSpecs'; -import { AppTree } from './types'; +import { AppTree } from '@backstage/frontend-plugin-api'; import { Config } from '@backstage/config'; import { instantiateAppNodeTree } from './instantiateAppNodeTree'; diff --git a/packages/frontend-app-api/src/tree/index.ts b/packages/frontend-app-api/src/tree/index.ts index c864e86a7a..4b5ad5e867 100644 --- a/packages/frontend-app-api/src/tree/index.ts +++ b/packages/frontend-app-api/src/tree/index.ts @@ -14,10 +14,4 @@ * limitations under the License. */ -export type { - AppNode, - AppNodeEdges, - AppNodeInstance, - AppNodeSpec, -} from './types'; export { createAppTree } from './createAppTree'; diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts index 2f4a112166..7c8f49f96d 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts @@ -25,7 +25,7 @@ import { createAppNodeInstance, instantiateAppNodeTree, } from './instantiateAppNodeTree'; -import { AppNodeInstance, AppNodeSpec } from './types'; +import { AppNodeInstance, AppNodeSpec } from '@backstage/frontend-plugin-api'; import { resolveAppTree } from './resolveAppTree'; const testDataRef = createExtensionDataRef('test'); diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts index b6e4179867..53f6fdf4da 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts @@ -20,7 +20,11 @@ import { ExtensionDataRef, } from '@backstage/frontend-plugin-api'; import mapValues from 'lodash/mapValues'; -import { AppNode, AppNodeInstance, AppNodeSpec } from './types'; +import { + AppNode, + AppNodeInstance, + AppNodeSpec, +} from '@backstage/frontend-plugin-api'; type Mutable = { -readonly [P in keyof T]: T[P]; diff --git a/packages/frontend-app-api/src/tree/resolveAppNodeSpecs.ts b/packages/frontend-app-api/src/tree/resolveAppNodeSpecs.ts index ca3c4fd1ea..2133bfc457 100644 --- a/packages/frontend-app-api/src/tree/resolveAppNodeSpecs.ts +++ b/packages/frontend-app-api/src/tree/resolveAppNodeSpecs.ts @@ -22,7 +22,7 @@ import { // eslint-disable-next-line @backstage/no-relative-monorepo-imports import { toInternalExtensionOverrides } from '../../../frontend-plugin-api/src/wiring/createExtensionOverrides'; import { ExtensionParameters } from './readAppExtensionsConfig'; -import { AppNodeSpec } from './types'; +import { AppNodeSpec } from '@backstage/frontend-plugin-api'; /** @internal */ export function resolveAppNodeSpecs(options: { diff --git a/packages/frontend-app-api/src/tree/resolveAppTree.ts b/packages/frontend-app-api/src/tree/resolveAppTree.ts index e1665a01fd..24948373bf 100644 --- a/packages/frontend-app-api/src/tree/resolveAppTree.ts +++ b/packages/frontend-app-api/src/tree/resolveAppTree.ts @@ -14,7 +14,12 @@ * limitations under the License. */ -import { AppTree, AppNode, AppNodeInstance, AppNodeSpec } from './types'; +import { + AppTree, + AppNode, + AppNodeInstance, + AppNodeSpec, +} from '@backstage/frontend-plugin-api'; function indent(str: string) { return str.replace(/^/gm, ' '); diff --git a/packages/frontend-app-api/src/wiring/createApp.test.tsx b/packages/frontend-app-api/src/wiring/createApp.test.tsx index e9fb48f957..80d9f846f0 100644 --- a/packages/frontend-app-api/src/wiring/createApp.test.tsx +++ b/packages/frontend-app-api/src/wiring/createApp.test.tsx @@ -15,6 +15,8 @@ */ import { + AppTreeApi, + appTreeApiRef, createPageExtension, createPlugin, createThemeExtension, @@ -23,6 +25,7 @@ import { screen, waitFor } from '@testing-library/react'; import { createApp } from './createApp'; import { MockConfigApi, renderWithEffects } from '@backstage/test-utils'; import React from 'react'; +import { useApi } from '@backstage/core-plugin-api'; describe('createApp', () => { it('should allow themes to be installed', async () => { @@ -90,4 +93,58 @@ describe('createApp', () => { expect(screen.getByText('Last Page')).toBeInTheDocument(), ); }); + + it('should make the app structure available through the AppTreeApi', async () => { + let appTreeApi: AppTreeApi | undefined = undefined; + + const app = createApp({ + configLoader: async () => new MockConfigApi({}), + features: [ + createPlugin({ + id: 'my-plugin', + extensions: [ + createPageExtension({ + id: 'plugin.my-plugin.page', + defaultPath: '/', + loader: async () => { + const Component = () => { + appTreeApi = useApi(appTreeApiRef); + return
My Plugin Page
; + }; + return ; + }, + }), + ], + }), + ], + }); + + await renderWithEffects(app.createRoot()); + + expect(appTreeApi).toBeDefined(); + const { tree } = appTreeApi!.getTree(); + + expect(String(tree.root)).toMatchInlineSnapshot(` + " + root [ + + content [ + + routes [ + + ] + + ] + nav [ + + ] + + ] + themes [ + + + ] + " + `); + }); }); diff --git a/packages/frontend-app-api/src/wiring/createApp.tsx b/packages/frontend-app-api/src/wiring/createApp.tsx index d726773fd3..f02b440ff5 100644 --- a/packages/frontend-app-api/src/wiring/createApp.tsx +++ b/packages/frontend-app-api/src/wiring/createApp.tsx @@ -17,6 +17,8 @@ import React, { JSX } from 'react'; import { ConfigReader, Config } from '@backstage/config'; import { + AppTree, + appTreeApiRef, BackstagePlugin, coreExtensionData, ExtensionDataRef, @@ -87,7 +89,8 @@ import { AppRouteBinder } from '../routing'; import { RoutingProvider } from '../routing/RoutingProvider'; import { resolveRouteBindings } from '../routing/resolveRouteBindings'; import { collectRouteIds } from '../routing/collectRouteIds'; -import { AppNode, createAppTree } from '../tree'; +import { createAppTree } from '../tree'; +import { AppNode } from '@backstage/frontend-plugin-api'; const builtinExtensions = [ Core, @@ -262,7 +265,7 @@ export function createApp(options: { const routeIds = collectRouteIds(allFeatures); const App = () => ( - + e.instance?.getData(coreExtensionData.apiFactory)) .filter((x): x is AnyApiFactory => !!x) ?? []; const themeExtensions = - core.edges.attachments + tree.root.edges.attachments .get('themes') ?.map(e => e.instance?.getData(coreExtensionData.theme)) .filter((x): x is AppTheme => !!x) ?? []; @@ -414,6 +417,14 @@ function createApiHolder(core: AppNode, configApi: ConfigApi): ApiHolder { }, }); + factoryRegistry.register('static', { + api: appTreeApiRef, + deps: {}, + factory: () => ({ + getTree: () => ({ tree }), + }), + }); + factoryRegistry.register('static', { api: appThemeApiRef, deps: {}, diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index 250ce5f676..794da9617b 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -7,6 +7,7 @@ import { AnyApiFactory } from '@backstage/core-plugin-api'; import { AnyApiRef } from '@backstage/core-plugin-api'; +import { ApiRef } from '@backstage/core-plugin-api'; import { AppTheme } from '@backstage/core-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JsonObject } from '@backstage/types'; @@ -55,6 +56,66 @@ export type AnyRoutes = { [name in string]: RouteRef; }; +// @public +export interface AppNode { + readonly edges: AppNodeEdges; + readonly instance?: AppNodeInstance; + readonly spec: AppNodeSpec; +} + +// @public +export interface AppNodeEdges { + // (undocumented) + readonly attachedTo?: { + node: AppNode; + input: string; + }; + // (undocumented) + readonly attachments: ReadonlyMap; +} + +// @public +export interface AppNodeInstance { + getData(ref: ExtensionDataRef): T | undefined; + getDataRefs(): Iterable>; +} + +// @public +export interface AppNodeSpec { + // (undocumented) + readonly attachTo: { + id: string; + input: string; + }; + // (undocumented) + readonly config?: unknown; + // (undocumented) + readonly disabled: boolean; + // (undocumented) + readonly extension: Extension; + // (undocumented) + readonly id: string; + // (undocumented) + readonly source?: BackstagePlugin; +} + +// @public +export interface AppTree { + readonly nodes: ReadonlyMap; + readonly orphans: Iterable; + readonly root: AppNode; +} + +// @public +export interface AppTreeApi { + getTree(): { + tree: AppTree; + }; +} + +// @public +export const appTreeApiRef: ApiRef; + // @public (undocumented) export interface BackstagePlugin< Routes extends AnyRoutes = AnyRoutes, diff --git a/packages/frontend-app-api/src/tree/types.ts b/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts similarity index 72% rename from packages/frontend-app-api/src/tree/types.ts rename to packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts index 3246dfe5c2..6c79a16964 100644 --- a/packages/frontend-app-api/src/tree/types.ts +++ b/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts @@ -14,20 +14,13 @@ * limitations under the License. */ -import { - BackstagePlugin, - Extension, - ExtensionDataRef, -} from '@backstage/frontend-plugin-api'; - -/* -NOTE: These types are marked as @internal for now, but the intention is for this to be a public API in the future. -*/ +import { createApiRef } from '@backstage/core-plugin-api'; +import { BackstagePlugin, Extension, ExtensionDataRef } from '../../wiring'; /** - * The specification for this node in the app tree. + * The specification for this {@link AppNode} in the {@link AppTree}. * - * @internal + * @public * @remarks * * The specifications for a collection of app nodes is all the information needed @@ -43,9 +36,9 @@ export interface AppNodeSpec { } /** - * The connections from this node to other nodes. + * The connections from this {@link AppNode} to other nodes. * - * @internal + * @public * @remarks * * The app node edges are resolved based on the app node specs, regardless of whether @@ -57,9 +50,9 @@ export interface AppNodeEdges { } /** - * The instance of this node in the app tree. + * The instance of this {@link AppNode} in the {@link AppTree}. * - * @internal + * @public * @remarks * * The app node instance is created when the `factory` function of an extension is called. @@ -74,8 +67,9 @@ export interface AppNodeInstance { } /** + * A node in the {@link AppTree}. * - * @internal + * @public */ export interface AppNode { /** The specification for how this node should be instantiated */ @@ -87,15 +81,34 @@ export interface AppNode { } /** - * The app tree containing all nodes of the app. + * The app tree containing all {@link AppNode}s of the app. * - * @internal + * @public */ export interface AppTree { /** The root node of the app */ - root: AppNode; + readonly root: AppNode; /** A map of all nodes in the app by ID, including orphaned or disabled nodes */ - nodes: ReadonlyMap; + readonly nodes: ReadonlyMap; /** A sequence of all nodes with a parent that is not reachable from the app root node */ - orphans: Iterable; + readonly orphans: Iterable; } + +/** + * The API for interacting with the {@link AppTree}. + * + * @public + */ +export interface AppTreeApi { + /** + * Get the {@link AppTree} for the app. + */ + getTree(): { tree: AppTree }; +} + +/** + * The `ApiRef` of {@link AppTreeApi}. + * + * @public + */ +export const appTreeApiRef = createApiRef({ id: 'core.app-tree' }); diff --git a/packages/frontend-plugin-api/src/apis/definitions/index.ts b/packages/frontend-plugin-api/src/apis/definitions/index.ts new file mode 100644 index 0000000000..8facdca2ca --- /dev/null +++ b/packages/frontend-plugin-api/src/apis/definitions/index.ts @@ -0,0 +1,25 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { + appTreeApiRef, + type AppNode, + type AppNodeEdges, + type AppNodeInstance, + type AppNodeSpec, + type AppTree, + type AppTreeApi, +} from './AppTreeApi'; diff --git a/packages/frontend-plugin-api/src/apis/index.ts b/packages/frontend-plugin-api/src/apis/index.ts new file mode 100644 index 0000000000..5a012c0553 --- /dev/null +++ b/packages/frontend-plugin-api/src/apis/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './definitions'; diff --git a/packages/frontend-plugin-api/src/index.ts b/packages/frontend-plugin-api/src/index.ts index 73abf28ce4..498bc96a77 100644 --- a/packages/frontend-plugin-api/src/index.ts +++ b/packages/frontend-plugin-api/src/index.ts @@ -20,6 +20,7 @@ * @packageDocumentation */ +export * from './apis'; export * from './components'; export * from './extensions'; export * from './routing'; From 8889079f0601282e8c2082269a3d6802961d3cd4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 16:27:23 +0000 Subject: [PATCH 10/38] chore(deps): update dependency @types/recharts to v1.8.26 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 d48588b7b2..ca203fa0d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19557,12 +19557,12 @@ __metadata: linkType: hard "@types/recharts@npm:^1.8.14, @types/recharts@npm:^1.8.15": - version: 1.8.25 - resolution: "@types/recharts@npm:1.8.25" + version: 1.8.26 + resolution: "@types/recharts@npm:1.8.26" dependencies: "@types/d3-shape": ^1 "@types/react": "*" - checksum: b2ab1596f391b70e349ae5f6fc6b29c16f6298f1151747aff84b3380f4644c4e087a489ca55325dc627794317f8e677c9906ab75d2e270c79e45da976a347af5 + checksum: fb644ca93b12691ab45ac2bab863051945f9f33ddf52ad07857c982995262b14135c6d18ec3caed71f4fe7c4a6933b69e62bee3aba8e0bf3463f04e0d6ae7952 languageName: node linkType: hard From 24954cf6e775289ac8534aa2a60f3c8b6e5b7072 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 17:01:46 +0000 Subject: [PATCH 11/38] chore(deps): update dependency @types/recursive-readdir to v2.2.3 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 80481ebf27..a5ee76dc80 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19567,11 +19567,11 @@ __metadata: linkType: hard "@types/recursive-readdir@npm:^2.2.0": - version: 2.2.2 - resolution: "@types/recursive-readdir@npm:2.2.2" + version: 2.2.3 + resolution: "@types/recursive-readdir@npm:2.2.3" dependencies: "@types/node": "*" - checksum: ed7f73d11354c7df7c5296a73500ace0b9874083c9f9cce4c5a294bb6c9b11f92d25c08a23bdc991f0537358d31e2ae3943169d42fe739ff54ecfddf9ff6b420 + checksum: 9a9136b93a133de006bf6d9b2f8bbae6e308a0b5a9c9acf490848de3ec3621804a09bc166999e81beace3151cacc2085f5617d90eaa329a99f73c1bb6806531d languageName: node linkType: hard From 59167a54042fa79f484169a5c7a75a6580709c01 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 17:11:58 +0000 Subject: [PATCH 12/38] chore(deps): update dependency @types/luxon to v3.3.3 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- microsite/yarn.lock | 6 +++--- yarn.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index ba22850109..0200b84675 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -3055,9 +3055,9 @@ __metadata: linkType: hard "@types/luxon@npm:^3.0.0": - version: 3.3.2 - resolution: "@types/luxon@npm:3.3.2" - checksum: b9111132720eae0269538872a5a496b29587ecfc8edc3b0ff7d269aa93a5ff00a131b23d1e9d1f12ec39f2c779ad21bd8d9f90b122c85a182771aabde7f676b8 + version: 3.3.3 + resolution: "@types/luxon@npm:3.3.3" + checksum: 072dd39eea3f63453788fab2fcfc83eb33917afcaffe178ce08ecd8b016824b8ab3bfa991f66266f2fc1927768a56b4334945f2eb1d83638e325c0c43d7d0e86 languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index 008f181286..146486067c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19057,9 +19057,9 @@ __metadata: linkType: hard "@types/luxon@npm:*, @types/luxon@npm:^3.0.0, @types/luxon@npm:~3.3.0": - version: 3.3.2 - resolution: "@types/luxon@npm:3.3.2" - checksum: b9111132720eae0269538872a5a496b29587ecfc8edc3b0ff7d269aa93a5ff00a131b23d1e9d1f12ec39f2c779ad21bd8d9f90b122c85a182771aabde7f676b8 + version: 3.3.3 + resolution: "@types/luxon@npm:3.3.3" + checksum: 072dd39eea3f63453788fab2fcfc83eb33917afcaffe178ce08ecd8b016824b8ab3bfa991f66266f2fc1927768a56b4334945f2eb1d83638e325c0c43d7d0e86 languageName: node linkType: hard From 1d6ed3011d928e10f91b270642dbb06a8a2e6f12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 17:13:14 +0000 Subject: [PATCH 13/38] chore(deps): update dependency @types/regression to v2.0.4 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 008f181286..187acc06ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19576,9 +19576,9 @@ __metadata: linkType: hard "@types/regression@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/regression@npm:2.0.3" - checksum: 774ef76911225b61c44946573b54ab710401d0e65b9433aa7014c701272167c47e818d4c9809284514881837c2159cd47aad6b290f00f8581920f2c7a146a512 + version: 2.0.4 + resolution: "@types/regression@npm:2.0.4" + checksum: e35f7474103ecd9750da2daa6182e236e096ad9edeba70e479a6f6dbe1486b3b7b03dac1976976622161e8f48ef92f83f1ed3f1d42b8e6ba249a50c168059a46 languageName: node linkType: hard From 877e58ceefbcce38b18756e66a93bcf2abfda376 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 18:13:47 +0000 Subject: [PATCH 14/38] chore(deps): update dependency @types/rollup-plugin-peer-deps-external to v2.2.3 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 71094bbd15..9c3dc07b8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19630,12 +19630,12 @@ __metadata: linkType: hard "@types/rollup-plugin-peer-deps-external@npm:^2.2.0": - version: 2.2.2 - resolution: "@types/rollup-plugin-peer-deps-external@npm:2.2.2" + version: 2.2.3 + resolution: "@types/rollup-plugin-peer-deps-external@npm:2.2.3" dependencies: "@types/node": "*" rollup: ^0.63.4 - checksum: a821911276d1882cf30c9650abc3c1cf7b29490ecacfdd537663a4de32b42ff7171bcd69568ce1b256191ad1d2937b1de839d1db85538769787986a5877273e2 + checksum: aa656653c469d50fd68cdb6af332032952a27fd761155e749df14e2379eec77fa24a40910c1f207f2d7a2f0c2274087882dea0ce52ad8031b1066e64905dfbc8 languageName: node linkType: hard From ad069a5ede3750bffb9cbdec909706c91139c5ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:35:22 +0000 Subject: [PATCH 15/38] chore(deps): update dependency @types/stoppable to v1.1.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 7c3810e6b0..88f1912bf7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19784,11 +19784,11 @@ __metadata: linkType: hard "@types/stoppable@npm:^1.1.0": - version: 1.1.1 - resolution: "@types/stoppable@npm:1.1.1" + version: 1.1.2 + resolution: "@types/stoppable@npm:1.1.2" dependencies: "@types/node": "*" - checksum: 65617648686469e7130a9c00a018c03ddcfed8527a162e50352780e9a1acb7187d646389a596c2aef3a5566e3d649f68f0de7822be7349cafde5c1ec863c37c6 + checksum: 729137560d508786dd381b96206074b6a622387a5c8a1f082fa23620a0734b84e909a972dee4dbc1891272b8fcdbd30f372043c43bdf917f2a5bfb7ac6640cf0 languageName: node linkType: hard From 081b151be7c53d64e92ae8ff7e7c2f1bdbf684b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:36:02 +0000 Subject: [PATCH 16/38] chore(deps): update dependency @types/supertest to v2.0.15 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 7c3810e6b0..2616086dc1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19812,11 +19812,11 @@ __metadata: linkType: hard "@types/supertest@npm:^2.0.12, @types/supertest@npm:^2.0.8": - version: 2.0.14 - resolution: "@types/supertest@npm:2.0.14" + version: 2.0.15 + resolution: "@types/supertest@npm:2.0.15" dependencies: "@types/superagent": "*" - checksum: 9f6850a22b8f0fd4c26a6dfd9b64771a66476b1a4f841a3b84a9da843ce69463efbf37594fe107297dd14a225d199b802464d48d70e9413238c637903d392137 + checksum: 89c1983662f0ab20969b3a6c44344397fd222d0f78b282619aabbe817f7c88a64210fd2b8b8f075ea22a27084e30ebc287bc5105619cbbf9af7f008e77f6eb93 languageName: node linkType: hard From d30c13cb35c69b17be0c5f3ad00b9299fa41ad84 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:42:31 +0000 Subject: [PATCH 17/38] chore(deps): update chromaui/action digest to d726e4e Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/verify_storybook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index c428375a40..4afdefb17b 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -51,7 +51,7 @@ jobs: - run: yarn build-storybook - - uses: chromaui/action@c7e9d129ad2b8e728e10522270e14596473a7958 # v1 + - uses: chromaui/action@d726e4e790a99e876f71b8e09d3053bfe783d6b8 # v1 with: token: ${{ secrets.GITHUB_TOKEN }} # projectToken intentionally shared to allow collaborators to run Chromatic on forks From 72ade6e3a728d7e4479ff9f59bc47f41bf969474 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 16:32:07 +0000 Subject: [PATCH 18/38] build(deps): Bump browserify-sign from 4.0.4 to 4.2.2 Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.0.4 to 4.2.2. - [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md) - [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.0.4...v4.2.2) --- updated-dependencies: - dependency-name: browserify-sign dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 87 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 71 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0a8a00ef9f..ef840af423 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21460,6 +21460,18 @@ __metadata: languageName: node linkType: hard +"asn1.js@npm:^5.2.0": + version: 5.4.1 + resolution: "asn1.js@npm:5.4.1" + dependencies: + bn.js: ^4.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + safer-buffer: ^2.1.0 + checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a + languageName: node + linkType: hard + "asn1@npm:^0.2.4, asn1@npm:~0.2.3": version: 0.2.4 resolution: "asn1@npm:0.2.4" @@ -22263,13 +22275,20 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.1.1, bn.js@npm:^4.11.9": +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 languageName: node linkType: hard +"bn.js@npm:^5.0.0, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 + languageName: node + linkType: hard + "body-parser-xml@npm:^2.0.5": version: 2.0.5 resolution: "body-parser-xml@npm:2.0.5" @@ -22503,18 +22522,30 @@ __metadata: languageName: node linkType: hard -"browserify-sign@npm:^4.0.0": - version: 4.0.4 - resolution: "browserify-sign@npm:4.0.4" +"browserify-rsa@npm:^4.1.0": + version: 4.1.0 + resolution: "browserify-rsa@npm:4.1.0" dependencies: - bn.js: ^4.1.1 - browserify-rsa: ^4.0.0 - create-hash: ^1.1.0 - create-hmac: ^1.1.2 - elliptic: ^6.0.0 - inherits: ^2.0.1 - parse-asn1: ^5.0.0 - checksum: b1e6f6383f6abbbd5e0f4eb0161cd211cb79af636dd14b5f038db7f3a309b3e026e7e8d7428e3f072a9baace57051a2f45cff311f3b26a901e8be921c3dab847 + bn.js: ^5.0.0 + randombytes: ^2.0.1 + checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.2.2 + resolution: "browserify-sign@npm:4.2.2" + dependencies: + bn.js: ^5.2.1 + browserify-rsa: ^4.1.0 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + elliptic: ^6.5.4 + inherits: ^2.0.4 + parse-asn1: ^5.1.6 + readable-stream: ^3.6.2 + safe-buffer: ^5.2.1 + checksum: b622730c0fc183328c3a1c9fdaaaa5118821ed6822b266fa6b0375db7e20061ebec87301d61931d79b9da9a96ada1cab317fce3c68f233e5e93ed02dbb35544c languageName: node linkType: hard @@ -24329,7 +24360,7 @@ __metadata: languageName: node linkType: hard -"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2": +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": version: 1.2.0 resolution: "create-hash@npm:1.2.0" dependencies: @@ -24342,7 +24373,7 @@ __metadata: languageName: node linkType: hard -"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.2, create-hmac@npm:^1.1.4": +"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": version: 1.1.7 resolution: "create-hmac@npm:1.1.7" dependencies: @@ -26004,7 +26035,7 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.0.0": +"elliptic@npm:^6.0.0, elliptic@npm:^6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" dependencies: @@ -37148,6 +37179,19 @@ __metadata: languageName: node linkType: hard +"parse-asn1@npm:^5.1.6": + version: 5.1.6 + resolution: "parse-asn1@npm:5.1.6" + dependencies: + asn1.js: ^5.2.0 + browserify-aes: ^1.0.0 + evp_bytestokey: ^1.0.0 + pbkdf2: ^3.0.3 + safe-buffer: ^5.1.1 + checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7 + languageName: node + linkType: hard + "parse-conflict-json@npm:^2.0.1": version: 2.0.1 resolution: "parse-conflict-json@npm:2.0.1" @@ -40092,6 +40136,17 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.6.2": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d + languageName: node + linkType: hard + "readable-stream@npm:^4.3.0": version: 4.4.2 resolution: "readable-stream@npm:4.4.2" @@ -41226,7 +41281,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 From 76a15d59da6ca0e0937c5a9f7d7f8bea3268216c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Fri, 3 Nov 2023 10:49:47 +0100 Subject: [PATCH 19/38] dedupe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- yarn.lock | 58 ++++++------------------------------------------------- 1 file changed, 6 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index ef840af423..91b09df135 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21449,17 +21449,6 @@ __metadata: languageName: node linkType: hard -"asn1.js@npm:^4.0.0": - version: 4.10.1 - resolution: "asn1.js@npm:4.10.1" - dependencies: - bn.js: ^4.0.0 - inherits: ^2.0.1 - minimalistic-assert: ^1.0.0 - checksum: 9289a1a55401238755e3142511d7b8f6fc32f08c86ff68bd7100da8b6c186179dd6b14234fba2f7f6099afcd6758a816708485efe44bc5b2a6ec87d9ceeddbb5 - languageName: node - linkType: hard - "asn1.js@npm:^5.2.0": version: 5.4.1 resolution: "asn1.js@npm:5.4.1" @@ -22512,17 +22501,7 @@ __metadata: languageName: node linkType: hard -"browserify-rsa@npm:^4.0.0": - version: 4.0.1 - resolution: "browserify-rsa@npm:4.0.1" - dependencies: - bn.js: ^4.1.0 - randombytes: ^2.0.1 - checksum: e5d8406e65f8e9a2e038f6fa0cb30108269a1ab33c1563ddc78fb0fff1a43ea21d44bd3dcd01a783683f60dcbc4b58c63120a11f6d09939e3f84af378e6caef8 - languageName: node - linkType: hard - -"browserify-rsa@npm:^4.1.0": +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" dependencies: @@ -37165,21 +37144,7 @@ __metadata: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0": - version: 5.1.5 - resolution: "parse-asn1@npm:5.1.5" - dependencies: - asn1.js: ^4.0.0 - browserify-aes: ^1.0.0 - create-hash: ^1.1.0 - evp_bytestokey: ^1.0.0 - pbkdf2: ^3.0.3 - safe-buffer: ^5.1.1 - checksum: e3bf40ce4953ec66754fd692bafdd99d9f00a6bb05822361f47222f959ddf5d1f9928088cda3892433f81eee6394ac1d1d9dd4dbd5d5cdc567b644a2cf860a0a - languageName: node - linkType: hard - -"parse-asn1@npm:^5.1.6": +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.6": version: 5.1.6 resolution: "parse-asn1@npm:5.1.6" dependencies: @@ -40110,14 +40075,14 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" +"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" dependencies: inherits: ^2.0.3 string_decoder: ^1.1.1 util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d languageName: node linkType: hard @@ -40136,17 +40101,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.6.2": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d - languageName: node - linkType: hard - "readable-stream@npm:^4.3.0": version: 4.4.2 resolution: "readable-stream@npm:4.4.2" From aec712fae9e64f180b1534490611b941a52d15be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:51:40 +0000 Subject: [PATCH 20/38] chore(deps): update dependency @types/node to v16.18.60 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5a0558cf6e..d0b66417a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19178,11 +19178,11 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^20.1.1": - version: 20.8.6 - resolution: "@types/node@npm:20.8.6" + version: 20.8.10 + resolution: "@types/node@npm:20.8.10" dependencies: - undici-types: ~5.25.1 - checksum: ccfb7ac482c5a96edeb239893c5c099f5257fcc2ed9ae62fefdfbc782b79e16dbc2af9a85b379665237bf759904b44ca2be68e75d239e0297882aad42f61905c + undici-types: ~5.26.4 + checksum: 7c61190e43e8074a1b571e52ff14c880bc67a0447f2fe5ed0e1a023eb8a23d5f815658edb98890f7578afe0f090433c4a635c7c87311762544e20dd78723e515 languageName: node linkType: hard @@ -19201,9 +19201,9 @@ __metadata: linkType: hard "@types/node@npm:^16.11.26, @types/node@npm:^16.7.10, @types/node@npm:^16.9.2": - version: 16.18.59 - resolution: "@types/node@npm:16.18.59" - checksum: 70f28744d239c48db056ff6355d2eb99305db54d1f9377b3f4458e92ffb4da8962a0c67665452d5f430cea2286ced256dac8f769660007aedd3676cf03ff28ad + version: 16.18.60 + resolution: "@types/node@npm:16.18.60" + checksum: aa0c81c3f20e663584bf17a5968e54c419277af7982ef41f9d83edd1b7ab4c8af2583a3c8a9e1cf659c6307e6f787e1be20522855121371f5a46d1d54f8a70e3 languageName: node linkType: hard @@ -19215,9 +19215,11 @@ __metadata: linkType: hard "@types/node@npm:^18.17.8": - version: 18.18.5 - resolution: "@types/node@npm:18.18.5" - checksum: fc8c9b2bf226270cf9085a7dac76ce09dd7c3519ec9b687ee2b50385954ab3709c45ca82d002d1536e24286803cd194d7ab7008acebdcd6681b8b19d4277fa5c + version: 18.18.8 + resolution: "@types/node@npm:18.18.8" + dependencies: + undici-types: ~5.26.4 + checksum: d6a82bfc28bca8e4e32ffc9526798d1aea62f6993ea3a535cd3f47ac3f725a48efe3f484d68168dd154af0001c89935e4e1d77e7b1809c3824c6382bf99b86f6 languageName: node linkType: hard @@ -44335,10 +44337,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~5.25.1": - version: 5.25.3 - resolution: "undici-types@npm:5.25.3" - checksum: ec9d2cc36520cbd9fbe3b3b6c682a87fe5be214699e1f57d1e3d9a2cb5be422e62735f06e0067dc325fd3dd7404c697e4d479f9147dc8a804e049e29f357f2ff +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 languageName: node linkType: hard From 9127b484e348c2fe4b4331b270a2961e2858f0de Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:51:50 +0000 Subject: [PATCH 21/38] chore(deps): update github/codeql-action action to v2.22.5 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/scorecard.yml | 2 +- .github/workflows/sync_snyk-monitor.yml | 2 +- .github/workflows/verify_codeql.yml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3b017e759c..e0227d0099 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@49abf0ba24d0b7953cb586944e918a0b92074c80 # v2.22.4 + uses: github/codeql-action/upload-sarif@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 with: sarif_file: results.sarif diff --git a/.github/workflows/sync_snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml index 9268fc4975..eda19a3a88 100644 --- a/.github/workflows/sync_snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -58,6 +58,6 @@ jobs: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} NODE_OPTIONS: --max-old-space-size=7168 - name: Upload Snyk report - uses: github/codeql-action/upload-sarif@v2.22.4 + uses: github/codeql-action/upload-sarif@v2.22.5 with: sarif_file: snyk.sarif diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml index 59aa41ff55..06feec23ae 100644 --- a/.github/workflows/verify_codeql.yml +++ b/.github/workflows/verify_codeql.yml @@ -55,7 +55,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2.22.4 + uses: github/codeql-action/init@v2.22.5 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -66,7 +66,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2.22.4 + uses: github/codeql-action/autobuild@v2.22.5 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -80,4 +80,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2.22.4 + uses: github/codeql-action/analyze@v2.22.5 From 0f967a040525672cb8bf8965e05208f44bb3b40b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:51:56 +0000 Subject: [PATCH 22/38] chore(deps): update ossf/scorecard-action action to v2.3.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3b017e759c..2c88770e57 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -39,7 +39,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@483ef80eb98fb506c348f7d62e28055e49fe2398 # v2.3.0 + uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 with: results_file: results.sarif results_format: sarif From 6192093e21bab602c428da1b497704712998bd54 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:10:42 +0000 Subject: [PATCH 23/38] chore(deps): update dependency @types/swagger-ui-react to v4.18.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 0a8a00ef9f..7fe8853e37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19813,11 +19813,11 @@ __metadata: linkType: hard "@types/swagger-ui-react@npm:^4.18.0": - version: 4.18.1 - resolution: "@types/swagger-ui-react@npm:4.18.1" + version: 4.18.2 + resolution: "@types/swagger-ui-react@npm:4.18.2" dependencies: "@types/react": "*" - checksum: 33c5e9aeccaf6591bd8f59489f8ef50b941daf491f08ba00cb1f26140a756b00ecd6a84fcf0171cdb068134e52c3877bdac571357e12f224ae7fc5979aeedb6f + checksum: 71c5659f6d4bd75da20923aea551ecf013f4bc5af25cb03824ae6a8d324704ca413a0031c0488107c748000ff919b2179a36f34ab8d47e3519617217a95de039 languageName: node linkType: hard From 165db53cbec8661b7d839570cdb01c8e213d867c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:11:14 +0000 Subject: [PATCH 24/38] chore(deps): update dependency @types/tar to v6.1.7 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 0a8a00ef9f..9436e31683 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19822,12 +19822,12 @@ __metadata: linkType: hard "@types/tar@npm:^6.1.1": - version: 6.1.6 - resolution: "@types/tar@npm:6.1.6" + version: 6.1.7 + resolution: "@types/tar@npm:6.1.7" dependencies: "@types/node": "*" minipass: ^4.0.0 - checksum: d4bcb5a06d8e4b6eac564f22274d72f6a14c614eaf5f6c6c270f3a43c197da2797a7c707bc0377cd2e6d8c429f277e1ca446121546c86021e9782034a306eafb + checksum: 74a346c86eb9fd1d7849b675e019ec784accf2f4a2abedc607e5449809f5205db6c31a7c0e7ac34e1ae5beabc3d260dbf82d7829398791397b971a56de4028b9 languageName: node linkType: hard From 2a89938e8d058686b0b9cdd711807a51f634565f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 15:13:33 +0000 Subject: [PATCH 25/38] chore(deps): update dependency @types/webpack-env to v1.18.3 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- microsite/yarn.lock | 6 +++--- yarn.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 0200b84675..7b3a8d5cdc 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -3265,9 +3265,9 @@ __metadata: linkType: hard "@types/webpack-env@npm:^1.18.0": - version: 1.18.2 - resolution: "@types/webpack-env@npm:1.18.2" - checksum: 883908ade827d35a10efc574fb6f2728a7c520d4296cf1507633ac7457204ccd697bc6c8cadac99bc5d96074a6109c658ebfde59f42ba5ba0fdfffc538892b0f + version: 1.18.3 + resolution: "@types/webpack-env@npm:1.18.3" + checksum: f24e82485d8e325b1875608766ba6dad2b2f53a0fb182bc96173b4590110c6b791163402cdf19b50c04e8c05292f227a08aafe9230b2bba52c40c5f7ceccc101 languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index 9df6b9bcd3..0f5510d829 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19936,9 +19936,9 @@ __metadata: linkType: hard "@types/webpack-env@npm:^1.15.2, @types/webpack-env@npm:^1.15.3": - version: 1.18.2 - resolution: "@types/webpack-env@npm:1.18.2" - checksum: 883908ade827d35a10efc574fb6f2728a7c520d4296cf1507633ac7457204ccd697bc6c8cadac99bc5d96074a6109c658ebfde59f42ba5ba0fdfffc538892b0f + version: 1.18.3 + resolution: "@types/webpack-env@npm:1.18.3" + checksum: f24e82485d8e325b1875608766ba6dad2b2f53a0fb182bc96173b4590110c6b791163402cdf19b50c04e8c05292f227a08aafe9230b2bba52c40c5f7ceccc101 languageName: node linkType: hard From 9d52c0831d9912db1e28cb4d93f125296ffa6034 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 15:14:04 +0000 Subject: [PATCH 26/38] chore(deps): update dependency @types/xml2js to v0.4.13 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 9df6b9bcd3..f98a71a3b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19970,11 +19970,11 @@ __metadata: linkType: hard "@types/xml2js@npm:*, @types/xml2js@npm:^0.4.7": - version: 0.4.12 - resolution: "@types/xml2js@npm:0.4.12" + version: 0.4.13 + resolution: "@types/xml2js@npm:0.4.13" dependencies: "@types/node": "*" - checksum: 6197f6d51d70ba7e6d3169ef6d58adacfeddeb2d8cfe4d2bb24eda86223c7dd77c82896c3aa3c636b3b1442cebc6d05959d1e65fa206dac2caeb99aa2c943716 + checksum: 757355c1867b4bd70a85cacac91ed771d172f269469b92b3bace2c7e91f9848ea3efa2be2901f831e2a632efbf6d128208a4495ec8a5fed9f7c12f2c9ec4d929 languageName: node linkType: hard From dbbb3d34379867d4d40d28778596667cbb58eea0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 16:14:43 +0000 Subject: [PATCH 27/38] chore(deps): update dependency @types/yarnpkg__lockfile to v1.1.8 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 f98a71a3b1..0839702a6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20004,9 +20004,9 @@ __metadata: linkType: hard "@types/yarnpkg__lockfile@npm:^1.1.4": - version: 1.1.7 - resolution: "@types/yarnpkg__lockfile@npm:1.1.7" - checksum: f7d898bfa7a75440ecc57a72d5297c9ce1566d10996004a61765bc79fa82f0c6c82df892442343e983602956f04f0943249902b9e4c09af472873382d0029b21 + version: 1.1.8 + resolution: "@types/yarnpkg__lockfile@npm:1.1.8" + checksum: 96f1c673c0eca3cf55cf48158819625b6a8d203e9762ef0de77d21990def371bf0291fb8374d10fd125fd1571a71bcbed5bc1ca8f188e73032f997a5abee0665 languageName: node linkType: hard From 7397afed0fae55b5b0aa45421e736751fd216c3a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 16:15:15 +0000 Subject: [PATCH 28/38] chore(deps): update dependency @types/yauzl to v2.10.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 f98a71a3b1..b7b22e605c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20011,11 +20011,11 @@ __metadata: linkType: hard "@types/yauzl@npm:^2.10.0": - version: 2.10.1 - resolution: "@types/yauzl@npm:2.10.1" + version: 2.10.2 + resolution: "@types/yauzl@npm:2.10.2" dependencies: "@types/node": "*" - checksum: 3377916a2d493cb2422b167fb7dfff8cb3ea045a9489dab4955858719bf7fe6808e5f6a51ee819904fb7f623f7ac092b87f9d6a857ea1214a45070d19c8b3d7e + checksum: 4ee53b704074064179ed50881b2dfa6f07f8a7032af487f513aa04f0ed333be4ff4231ac8531e6a2024cc45ac69a22e78a2ff4e39a6ed2fe8cc0bfabc353da45 languageName: node linkType: hard From 41ca60d5b3c3c390df14778b6c335750cf48aae9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 18:38:43 +0000 Subject: [PATCH 29/38] chore(deps): update dependency @types/dockerode to v3.3.22 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 f98a71a3b1..ecd169b030 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18539,12 +18539,12 @@ __metadata: linkType: hard "@types/dockerode@npm:^3.3.0, @types/dockerode@npm:^3.3.8": - version: 3.3.21 - resolution: "@types/dockerode@npm:3.3.21" + version: 3.3.22 + resolution: "@types/dockerode@npm:3.3.22" dependencies: "@types/docker-modem": "*" "@types/node": "*" - checksum: 025c97cd2549f1b3f0dc6e117e24e3b7e56dcf3e482e2abe5f2d6961e56e637b0e1f1b4f032e065cd7245302064ac3ccdb9c7dfdb0fe43a5bfb2b5f4ccbf4a8d + checksum: e9954730eea82a87e21dd5322ac090b389e3294d646f27785dc553496435146ecd828102250a31bad94f81a8ca292b0fd2e061675b00f2b93f6191d2615a839e languageName: node linkType: hard From 000dcd01afaa4a06b67da20c3590a7753af4f532 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 3 Nov 2023 15:37:57 +0100 Subject: [PATCH 30/38] catalog-react: remove unnecessary integration dep Signed-off-by: Patrik Oldsberg --- .changeset/violet-falcons-leave.md | 5 +++++ plugins/catalog-react/api-report.md | 4 ++-- plugins/catalog-react/package.json | 2 +- plugins/catalog-react/src/utils/getEntitySourceLocation.ts | 4 ++-- yarn.lock | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/violet-falcons-leave.md diff --git a/.changeset/violet-falcons-leave.md b/.changeset/violet-falcons-leave.md new file mode 100644 index 0000000000..03b91957b1 --- /dev/null +++ b/.changeset/violet-falcons-leave.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-react': patch +--- + +Removed unnecessary `@backstage/integration` dependency, replaced by `@backstage/integration-react`. diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index 03c97ee4c4..5ebc9de8d6 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -22,7 +22,7 @@ import { PropsWithChildren } from 'react'; import { default as React_2 } from 'react'; import { ReactNode } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; -import { ScmIntegrationRegistry } from '@backstage/integration'; +import { scmIntegrationsApiRef } from '@backstage/integration-react'; import { StyleRules } from '@material-ui/core/styles/withStyles'; import { SystemEntity } from '@backstage/catalog-model'; import { TableColumn } from '@backstage/core-components'; @@ -597,7 +597,7 @@ export function getEntityRelations( // @public (undocumented) export function getEntitySourceLocation( entity: Entity, - scmIntegrationsApi: ScmIntegrationRegistry, + scmIntegrationsApi: typeof scmIntegrationsApiRef.T, ): EntitySourceLocation | undefined; // @public (undocumented) diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index 25bd244ab7..3c39185732 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -52,7 +52,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/integration": "workspace:^", + "@backstage/integration-react": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", diff --git a/plugins/catalog-react/src/utils/getEntitySourceLocation.ts b/plugins/catalog-react/src/utils/getEntitySourceLocation.ts index d2141449a8..40074b79e2 100644 --- a/plugins/catalog-react/src/utils/getEntitySourceLocation.ts +++ b/plugins/catalog-react/src/utils/getEntitySourceLocation.ts @@ -19,7 +19,7 @@ import { Entity, parseLocationRef, } from '@backstage/catalog-model'; -import { ScmIntegrationRegistry } from '@backstage/integration'; +import { scmIntegrationsApiRef } from '@backstage/integration-react'; /** @public */ export type EntitySourceLocation = { @@ -30,7 +30,7 @@ export type EntitySourceLocation = { /** @public */ export function getEntitySourceLocation( entity: Entity, - scmIntegrationsApi: ScmIntegrationRegistry, + scmIntegrationsApi: typeof scmIntegrationsApiRef.T, ): EntitySourceLocation | undefined { const sourceLocation = entity.metadata.annotations?.[ANNOTATION_SOURCE_LOCATION]; diff --git a/yarn.lock b/yarn.lock index 0a8a00ef9f..9cf6bf7cfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6089,7 +6089,7 @@ __metadata: "@backstage/core-plugin-api": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" - "@backstage/integration": "workspace:^" + "@backstage/integration-react": "workspace:^" "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" "@backstage/plugin-permission-react": "workspace:^" From 99f807d0dfe32e62b1035b830553b87268807534 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:23:50 +0000 Subject: [PATCH 31/38] chore(deps): update dependency @types/zen-observable to v0.8.5 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 93365ae2c1..183735d0b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20027,9 +20027,9 @@ __metadata: linkType: hard "@types/zen-observable@npm:^0.8.0, @types/zen-observable@npm:^0.8.2": - version: 0.8.4 - resolution: "@types/zen-observable@npm:0.8.4" - checksum: 784bae5554de07c9b0beda9ff0b81dfa4b52dee2f112d1c874e942114be00133b8159b413c5ba2503b8f0b1baa281c33e91028fe00b44abca0a22552c536e3ec + version: 0.8.5 + resolution: "@types/zen-observable@npm:0.8.5" + checksum: 7a17f4d11cf97ac4abdbdedd18877ad751bcb38f678f58b404e770fd98bf236562f2c20310a1875f835982f3a9c9077b39d972e0be1d54635c5868603605fdf0 languageName: node linkType: hard From 50a9c1d520a469fce55a4ffb76c1122a61fe1b68 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:32:42 +0000 Subject: [PATCH 32/38] chore(deps): update dependency @vitejs/plugin-react to v4.1.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2dcd402265..f63b690ff1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1863,26 +1863,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.22.20": - version: 7.23.0 - resolution: "@babel/core@npm:7.23.0" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/core@npm:7.23.2" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.13 "@babel/generator": ^7.23.0 "@babel/helper-compilation-targets": ^7.22.15 "@babel/helper-module-transforms": ^7.23.0 - "@babel/helpers": ^7.23.0 + "@babel/helpers": ^7.23.2 "@babel/parser": ^7.23.0 "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 + "@babel/traverse": ^7.23.2 "@babel/types": ^7.23.0 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 + checksum: 003897718ded16f3b75632d63cd49486bf67ff206cc7ebd1a10d49e2456f8d45740910d5ec7e42e3faf0deec7a2e96b1a02e766d19a67a8309053f0d4e57c0fe languageName: node linkType: hard @@ -2136,14 +2136,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.0": - version: 7.23.1 - resolution: "@babel/helpers@npm:7.23.1" +"@babel/helpers@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/helpers@npm:7.23.2" dependencies: "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 + "@babel/traverse": ^7.23.2 "@babel/types": ^7.23.0 - checksum: acfc345102045c24ea2a4d60e00dcf8220e215af3add4520e2167700661338e6a80bd56baf44bb764af05ec6621101c9afc315dc107e18c61fa6da8acbdbb893 + checksum: aaf4828df75ec460eaa70e5c9f66e6dadc28dae3728ddb7f6c13187dbf38030e142194b83d81aa8a31bbc35a5529a5d7d3f3cf59d5d0b595f5dd7f9d8f1ced8e languageName: node linkType: hard @@ -3393,9 +3393,9 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.23.0, @babel/traverse@npm:^7.4.5": - version: 7.23.0 - resolution: "@babel/traverse@npm:7.23.0" +"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.4.5": + version: 7.23.2 + resolution: "@babel/traverse@npm:7.23.2" dependencies: "@babel/code-frame": ^7.22.13 "@babel/generator": ^7.23.0 @@ -3407,7 +3407,7 @@ __metadata: "@babel/types": ^7.23.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 0b17fae53269e1af2cd3edba00892bc2975ad5df9eea7b84815dab07dfec2928c451066d51bc65b4be61d8499e77db7e547ce69ef2a7b0eca3f96269cb43a0b0 + checksum: 26a1eea0dde41ab99dde8b9773a013a0dc50324e5110a049f5d634e721ff08afffd54940b3974a20308d7952085ac769689369e9127dea655f868c0f6e1ab35d languageName: node linkType: hard @@ -18118,16 +18118,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.2": - version: 7.20.2 - resolution: "@types/babel__core@npm:7.20.2" +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.3": + version: 7.20.3 + resolution: "@types/babel__core@npm:7.20.3" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 564fbaa8ff1305d50807ada0ec227c3e7528bebb2f8fe6b2ed88db0735a31511a74ad18729679c43eeed8025ed29d408f53059289719e95ab1352ed559a100bd + checksum: 8d14acc14d99b4b8bf36c00da368f6d597bd9ae3344aa7048f83f0f701b0463fa7c7bf2e50c3e4382fdbcfd1e4187b3452a0f0888b0f3ae8fad975591f7bdb94 languageName: node linkType: hard @@ -20435,17 +20435,17 @@ __metadata: linkType: hard "@vitejs/plugin-react@npm:^4.0.4": - version: 4.1.0 - resolution: "@vitejs/plugin-react@npm:4.1.0" + version: 4.1.1 + resolution: "@vitejs/plugin-react@npm:4.1.1" dependencies: - "@babel/core": ^7.22.20 + "@babel/core": ^7.23.2 "@babel/plugin-transform-react-jsx-self": ^7.22.5 "@babel/plugin-transform-react-jsx-source": ^7.22.5 - "@types/babel__core": ^7.20.2 + "@types/babel__core": ^7.20.3 react-refresh: ^0.14.0 peerDependencies: vite: ^4.2.0 - checksum: 73dd403f5bca4f3f99f0bd3dcbb0cc0ecf88f758b886fb599711be744ca93f20adafe1af3574a998ac7cbd24aaf67ac7fe06983d87088cbdf535540ab402d496 + checksum: 275132ab1e4c227326396aeee93084f20bbe5f0fbe92d45813f3eacd0766eb6e8cd83ee222f90411aefad1ce60fbd31766a8e4725e7bb36914f2bba37afbdebf languageName: node linkType: hard From ce632aaa3832079ef86268a2774a907e9cf3eefb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 6 Nov 2023 14:42:23 +0100 Subject: [PATCH 33/38] fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .../FetchApi/IdentityAuthInjectorFetchMiddleware.ts | 10 +++++++--- .../FetchApi/PluginProtocolResolverFetchMiddleware.ts | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.ts b/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.ts index 810d9e76c1..6f9733cba1 100644 --- a/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.ts +++ b/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.ts @@ -55,8 +55,12 @@ export class IdentityAuthInjectorFetchMiddleware implements FetchMiddleware { apply(next: typeof fetch): typeof fetch { return async (input, init) => { // Skip this middleware if the header already exists, or if the URL - // doesn't match any of the allowlist items, or if there was no token - const request = new Request(input, init); + // doesn't match any of the allowlist items, or if there was no token. + // NOTE(freben): The "as any" casts here and below are because of subtle + // undici type differences that happened in a node types bump. Those are + // immaterial to the code at hand at runtime, as the global fetch and + // Request are always taken from the same place. + const request = new Request(input as any, init); const { token } = await this.identityApi.getCredentials(); if ( request.headers.get(this.headerName) || @@ -64,7 +68,7 @@ export class IdentityAuthInjectorFetchMiddleware implements FetchMiddleware { !token || !this.allowUrl(request.url) ) { - return next(input, init); + return next(input as any, init); } request.headers.set(this.headerName, this.headerValue(token)); diff --git a/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.ts b/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.ts index ff20b594b4..e0afaed614 100644 --- a/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.ts +++ b/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.ts @@ -34,11 +34,15 @@ export class PluginProtocolResolverFetchMiddleware implements FetchMiddleware { apply(next: typeof fetch): typeof fetch { return async (input, init) => { - const request = new Request(input, init); + // NOTE(freben): The "as any" casts here and below are because of subtle + // undici type differences that happened in a node types bump. Those are + // immaterial to the code at hand at runtime, as the global fetch and + // Request are always taken from the same place. + const request = new Request(input as any, init); const prefix = 'plugin://'; if (!request.url.startsWith(prefix)) { - return next(input, init); + return next(input as any, init); } // Switch to a known protocol, since browser URL parsing misbehaves wildly @@ -57,7 +61,7 @@ export class PluginProtocolResolverFetchMiddleware implements FetchMiddleware { const target = `${join(base, pathname)}${search}${hash}`; return next( target, - typeof input === 'string' || isUrl(input) ? init : input, + typeof input === 'string' || isUrl(input) ? init : (input as any), ); }; } From ce78fb26d2638b6683efb96e913a7a3ad23eaf35 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 14:13:05 +0000 Subject: [PATCH 34/38] chore(deps): update dependency concurrently to v8.2.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 ef2436a3cc..8171f3f160 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23961,8 +23961,8 @@ __metadata: linkType: hard "concurrently@npm:^8.0.0": - version: 8.2.1 - resolution: "concurrently@npm:8.2.1" + version: 8.2.2 + resolution: "concurrently@npm:8.2.2" dependencies: chalk: ^4.1.2 date-fns: ^2.30.0 @@ -23976,7 +23976,7 @@ __metadata: bin: conc: dist/bin/concurrently.js concurrently: dist/bin/concurrently.js - checksum: 216cb16d5b301cbd9c657b19430836d1686fe8fa9b9ef35ef7ac601e1a5cf6535166a3e57de446696dbd5e7e3f45d78fc70f33c5fd4bb565342cd5e752c5b069 + checksum: 8ac774df06869773438f1bf91025180c52d5b53139bc86cf47659136c0d97461d0579c515d848d1e945d4e3e0cafe646b2ea18af8d74259b46abddcfe39b2c6c languageName: node linkType: hard From 74743455039bef8bca009f221c12e4038ac26730 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 14:15:19 +0000 Subject: [PATCH 35/38] chore(deps): update dependency node-gyp to v9.4.1 Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 175 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 127 insertions(+), 48 deletions(-) diff --git a/yarn.lock b/yarn.lock index ef2436a3cc..4540ddc1c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14146,6 +14146,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^2.0.0": + version: 2.2.0 + resolution: "@npmcli/agent@npm:2.2.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.1 + checksum: 3b25312edbdfaa4089af28e2d423b6f19838b945e47765b0c8174c1395c79d43c3ad6d23cb364b43f59fd3acb02c93e3b493f72ddbe3dfea04c86843a7311fc4 + languageName: node + linkType: hard + "@npmcli/arborist@npm:^4.0.4": version: 4.3.1 resolution: "@npmcli/arborist@npm:4.3.1" @@ -20782,6 +20795,13 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 0e994ad2aa6575f94670d8a2149afe94465de9cedaaaac364e7fb43a40c3691c980ff74899f682f4ca58fa96b4cbd7421a015d3a6defe43a442117d7821a2f36 + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -22746,15 +22766,15 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^17.0.0": - version: 17.1.3 - resolution: "cacache@npm:17.1.3" +"cacache@npm:^18.0.0": + version: 18.0.0 + resolution: "cacache@npm:18.0.0" dependencies: "@npmcli/fs": ^3.1.0 fs-minipass: ^3.0.0 glob: ^10.2.2 - lru-cache: ^7.7.1 - minipass: ^5.0.0 + lru-cache: ^10.0.1 + minipass: ^7.0.3 minipass-collect: ^1.0.2 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 @@ -22762,7 +22782,7 @@ __metadata: ssri: ^10.0.0 tar: ^6.1.11 unique-filename: ^3.0.0 - checksum: 385756781e1e21af089160d89d7462b7ed9883c978e848c7075b90b73cb823680e66092d61513050164588387d2ca87dd6d910e28d64bc13a9ac82cd8580c796 + checksum: 2cd6bf15551abd4165acb3a4d1ef0593b3aa2fd6853ae16b5bb62199c2faecf27d36555a9545c0e07dd03347ec052e782923bdcece724a24611986aafb53e152 languageName: node linkType: hard @@ -29027,18 +29047,18 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2": - version: 10.2.7 - resolution: "glob@npm:10.2.7" +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" dependencies: foreground-child: ^3.1.0 - jackspeak: ^2.0.3 + jackspeak: ^2.3.5 minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 - path-scurry: ^1.7.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 bin: - glob: dist/cjs/src/bin.js - checksum: 555205a74607d6f8d9874ba888924b305b5ea1abfaa2e9ccb11ac713d040aac7edbf7d8702a2f4a1cd81b2d7666412170ce7ef061d33cddde189dae8c1a1a054 + glob: dist/esm/bin.mjs + checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 languageName: node linkType: hard @@ -30124,7 +30144,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.2": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "https-proxy-agent@npm:7.0.2" dependencies: @@ -31403,6 +31423,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -31605,16 +31632,16 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.0.3": - version: 2.2.1 - resolution: "jackspeak@npm:2.2.1" +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" dependencies: "@isaacs/cliui": ^8.0.2 "@pkgjs/parseargs": ^0.11.0 dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: e29291c0d0f280a063fa18fbd1e891ab8c2d7519fd34052c0ebde38538a15c603140d60c2c7f432375ff7ee4c5f1c10daa8b2ae19a97c3d4affe308c8360c1df + checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 languageName: node linkType: hard @@ -34041,6 +34068,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.1 + resolution: "lru-cache@npm:10.0.1" + checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 + languageName: node + linkType: hard + "lru-cache@npm:^4.0.1, lru-cache@npm:^4.1.3": version: 4.1.5 resolution: "lru-cache@npm:4.1.5" @@ -34076,7 +34110,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.0.0, lru-cache@npm:^9.1.1": +"lru-cache@npm:^9.0.0": version: 9.1.2 resolution: "lru-cache@npm:9.1.2" checksum: d3415634be3908909081fc4c56371a8d562d9081eba70543d86871b978702fffd0e9e362b83921b27a29ae2b37b90f55675aad770a54ac83bb3e4de5049d4b15 @@ -34189,7 +34223,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.1": +"make-fetch-happen@npm:^10.0.1, make-fetch-happen@npm:^10.0.3": version: 10.2.1 resolution: "make-fetch-happen@npm:10.2.1" dependencies: @@ -34213,26 +34247,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^11.0.3": - version: 11.1.1 - resolution: "make-fetch-happen@npm:11.1.1" +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" dependencies: - agentkeepalive: ^4.2.1 - cacache: ^17.0.0 + "@npmcli/agent": ^2.0.0 + cacache: ^18.0.0 http-cache-semantics: ^4.1.1 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 is-lambda: ^1.0.1 - lru-cache: ^7.7.1 - minipass: ^5.0.0 + minipass: ^7.0.2 minipass-fetch: ^3.0.0 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^7.0.0 ssri: ^10.0.0 - checksum: 7268bf274a0f6dcf0343829489a4506603ff34bd0649c12058753900b0eb29191dce5dba12680719a5d0a983d3e57810f594a12f3c18494e93a1fbc6348a4540 + checksum: 7c7a6d381ce919dd83af398b66459a10e2fe8f4504f340d1d090d3fa3d1b0c93750220e1d898114c64467223504bd258612ba83efbc16f31b075cd56de24b4af languageName: node linkType: hard @@ -35407,10 +35437,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2": - version: 6.0.2 - resolution: "minipass@npm:6.0.2" - checksum: d140b91f4ab2e5ce5a9b6c468c0e82223504acc89114c1a120d4495188b81fedf8cade72a9f4793642b4e66672f990f1e0d902dd858485216a07cd3c8a62fac9 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 languageName: node linkType: hard @@ -36021,15 +36051,15 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^9.4.0, node-gyp@npm:latest": - version: 9.4.0 - resolution: "node-gyp@npm:9.4.0" +"node-gyp@npm:^9.4.0": + version: 9.4.1 + resolution: "node-gyp@npm:9.4.1" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 glob: ^7.1.4 graceful-fs: ^4.2.6 - make-fetch-happen: ^11.0.3 + make-fetch-happen: ^10.0.3 nopt: ^6.0.0 npmlog: ^6.0.0 rimraf: ^3.0.2 @@ -36038,7 +36068,27 @@ __metadata: which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 78b404e2e0639d64e145845f7f5a3cb20c0520cdaf6dda2f6e025e9b644077202ea7de1232396ba5bde3fee84cdc79604feebe6ba3ec84d464c85d407bb5da99 + checksum: 8576c439e9e925ab50679f87b7dfa7aa6739e42822e2ad4e26c36341c0ba7163fdf5a946f0a67a476d2f24662bc40d6c97bd9e79ced4321506738e6b760a1577 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + glob: ^10.3.10 + graceful-fs: ^4.2.6 + make-fetch-happen: ^13.0.0 + nopt: ^7.0.0 + proc-log: ^3.0.0 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^4.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f languageName: node linkType: hard @@ -36210,6 +36260,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" + dependencies: + abbrev: ^2.0.0 + bin: + nopt: bin/nopt.js + checksum: a9c0f57fb8cb9cc82ae47192ca2b7ef00e199b9480eed202482c962d61b59a7fbe7541920b2a5839a97b42ee39e288c0aed770e38057a608d7f579389dfde410 + languageName: node + linkType: hard + "nopt@npm:~1.0.10": version: 1.0.10 resolution: "nopt@npm:1.0.10" @@ -37563,13 +37624,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.7.0": - version: 1.9.2 - resolution: "path-scurry@npm:1.9.2" +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" dependencies: - lru-cache: ^9.1.1 - minipass: ^5.0.0 || ^6.0.2 - checksum: 92888dfb68e285043c6d3291c8e971d5d2bc2f5082f4d7b5392896f34be47024c9d0a8b688dd7ae6d125acc424699195474927cb4f00049a9b1ec7c4256fa8e0 + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 languageName: node linkType: hard @@ -38693,6 +38754,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 02b64e1b3919e63df06f836b98d3af002b5cd92655cab18b5746e37374bfb73e03b84fe305454614b34c25b485cc687a9eebdccf0242cda8fda2475dd2c97e02 + languageName: node + linkType: hard + "process-nextick-args@npm:^2.0.0, process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -41987,7 +42055,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.2": +"socks-proxy-agent@npm:^8.0.1, socks-proxy-agent@npm:^8.0.2": version: 8.0.2 resolution: "socks-proxy-agent@npm:8.0.2" dependencies: @@ -45749,6 +45817,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 + languageName: node + linkType: hard + "wide-align@npm:^1.1.2": version: 1.1.5 resolution: "wide-align@npm:1.1.5" From 013611b42ed457fefa9bb85fddf416cf5e0c1f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 12 Oct 2023 15:35:02 +0200 Subject: [PATCH 36/38] bump knex to v3 and better-sqlite3 to v9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/brown-poets-join.md | 17 +++ .changeset/olive-doors-begin.md | 24 ++++ packages/backend-common/package.json | 6 +- packages/backend-plugin-api/package.json | 2 +- packages/backend-tasks/package.json | 2 +- packages/backend-test-utils/package.json | 6 +- packages/backend/package.json | 4 +- .../packages/backend/package.json.hbs | 8 +- plugins/app-backend/package.json | 2 +- plugins/auth-backend/package.json | 2 +- plugins/badges-backend/package.json | 2 +- plugins/bazaar-backend/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- plugins/catalog-backend/package.json | 4 +- plugins/code-coverage-backend/package.json | 2 +- plugins/entity-feedback-backend/package.json | 2 +- plugins/linguist-backend/package.json | 2 +- plugins/playlist-backend/package.json | 2 +- plugins/scaffolder-backend/package.json | 2 +- plugins/search-backend-module-pg/package.json | 2 +- plugins/tech-insights-backend/package.json | 2 +- plugins/techdocs-backend/package.json | 2 +- plugins/user-settings-backend/package.json | 2 +- yarn.lock | 105 ++++++++++++------ 25 files changed, 144 insertions(+), 64 deletions(-) create mode 100644 .changeset/brown-poets-join.md create mode 100644 .changeset/olive-doors-begin.md diff --git a/.changeset/brown-poets-join.md b/.changeset/brown-poets-join.md new file mode 100644 index 0000000000..bc6ccbaa70 --- /dev/null +++ b/.changeset/brown-poets-join.md @@ -0,0 +1,17 @@ +--- +'@backstage/create-app': patch +--- + +`knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. + +You can do the same in your own Backstage repository to ensure that you get future node 18+ relevant updates, by having the following lines in your `packages/backend/package.json`: + +``` +"dependencies": { + // ... + "knex": "^3.0.0" +}, +"devDependencies": { + // ... + "better-sqlite3": "^9.0.0", +``` diff --git a/.changeset/olive-doors-begin.md b/.changeset/olive-doors-begin.md new file mode 100644 index 0000000000..5d8978964c --- /dev/null +++ b/.changeset/olive-doors-begin.md @@ -0,0 +1,24 @@ +--- +'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch +'@backstage/plugin-catalog-backend-module-unprocessed': patch +'@backstage/plugin-search-backend-module-pg': patch +'@backstage/plugin-entity-feedback-backend': patch +'@backstage/plugin-code-coverage-backend': patch +'@backstage/plugin-tech-insights-backend': patch +'@backstage/plugin-user-settings-backend': patch +'@backstage/backend-plugin-api': patch +'@backstage/backend-test-utils': patch +'@backstage/plugin-scaffolder-backend': patch +'@backstage/plugin-linguist-backend': patch +'@backstage/plugin-playlist-backend': patch +'@backstage/plugin-techdocs-backend': patch +'@backstage/backend-common': patch +'@backstage/plugin-catalog-backend': patch +'@backstage/backend-tasks': patch +'@backstage/plugin-badges-backend': patch +'@backstage/plugin-bazaar-backend': patch +'@backstage/plugin-auth-backend': patch +'@backstage/plugin-app-backend': patch +--- + +`knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index fad87cc3ec..f32f75291a 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -89,14 +89,14 @@ "isomorphic-git": "^1.23.0", "jose": "^4.6.0", "keyv": "^4.5.2", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", "luxon": "^3.0.0", "minimatch": "^5.0.0", "mysql2": "^2.2.5", "node-fetch": "^2.6.7", - "pg": "^8.3.0", + "pg": "^8.11.3", "raw-body": "^2.4.1", "tar": "^6.1.12", "uuid": "^8.3.2", @@ -129,7 +129,7 @@ "@types/webpack-env": "^1.15.2", "@types/yauzl": "^2.10.0", "aws-sdk-client-mock": "^2.0.0", - "better-sqlite3": "^8.0.0", + "better-sqlite3": "^9.0.0", "http-errors": "^2.0.0", "msw": "^1.0.0", "mysql2": "^2.2.5", diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index a1f9149098..c1c26b56df 100644 --- a/packages/backend-plugin-api/package.json +++ b/packages/backend-plugin-api/package.json @@ -52,7 +52,7 @@ "@backstage/types": "workspace:^", "@types/express": "^4.17.6", "express": "^4.17.1", - "knex": "^2.0.0" + "knex": "^3.0.0" }, "devDependencies": { "@backstage/cli": "workspace:^" diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index f38a209831..37b3e925dd 100644 --- a/packages/backend-tasks/package.json +++ b/packages/backend-tasks/package.json @@ -39,7 +39,7 @@ "@opentelemetry/api": "^1.3.0", "@types/luxon": "^3.0.0", "cron": "^2.0.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "uuid": "^8.0.0", diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index 1216487880..e219a353ec 100644 --- a/packages/backend-test-utils/package.json +++ b/packages/backend-test-utils/package.json @@ -49,13 +49,13 @@ "@backstage/errors": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "@backstage/types": "workspace:^", - "better-sqlite3": "^8.0.0", + "better-sqlite3": "^9.0.0", "express": "^4.17.1", "fs-extra": "^10.0.1", - "knex": "^2.0.0", + "knex": "^3.0.0", "msw": "^1.0.0", "mysql2": "^2.2.5", - "pg": "^8.3.0", + "pg": "^8.11.3", "testcontainers": "^8.1.2", "textextensions": "^5.16.0", "uuid": "^8.0.0" diff --git a/packages/backend/package.json b/packages/backend/package.json index bd28eadb8f..6b52cb8993 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -84,7 +84,7 @@ "@opentelemetry/exporter-prometheus": "^0.44.0", "@opentelemetry/sdk-metrics": "^1.13.0", "azure-devops-node-api": "^11.0.1", - "better-sqlite3": "^8.0.0", + "better-sqlite3": "^9.0.0", "dockerode": "^3.3.1", "example-app": "link:../app", "express": "^4.17.1", @@ -92,7 +92,7 @@ "express-promise-router": "^4.1.0", "luxon": "^3.0.0", "mysql2": "^2.2.5", - "pg": "^8.3.0", + "pg": "^8.11.3", "pg-connection-string": "^2.3.0", "prom-client": "^14.0.1", "winston": "^3.2.1" diff --git a/packages/create-app/templates/default-app/packages/backend/package.json.hbs b/packages/create-app/templates/default-app/packages/backend/package.json.hbs index 1469271132..af5de44637 100644 --- a/packages/create-app/templates/default-app/packages/backend/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/backend/package.json.hbs @@ -34,13 +34,13 @@ "@backstage/plugin-search-backend-node": "^{{version '@backstage/plugin-search-backend-node'}}", "@backstage/plugin-techdocs-backend": "^{{version '@backstage/plugin-techdocs-backend'}}", "app": "link:../app", - "better-sqlite3": "^8.0.0", + "better-sqlite3": "^9.0.0", "dockerode": "^3.3.1", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "pg": "^8.3.0", - "winston": "^3.2.1", - "node-gyp": "^9.0.0" + "node-gyp": "^9.0.0", + "pg": "^8.11.3", + "winston": "^3.2.1" }, "devDependencies": { "@backstage/cli": "^{{version '@backstage/cli'}}", diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index e8230f715e..4d5de74edb 100644 --- a/plugins/app-backend/package.json +++ b/plugins/app-backend/package.json @@ -57,7 +57,7 @@ "fs-extra": "10.1.0", "globby": "^11.0.0", "helmet": "^6.0.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "winston": "^3.2.1", diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index b52560cbb9..b668958ceb 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -61,7 +61,7 @@ "google-auth-library": "^8.0.0", "jose": "^4.6.0", "jwt-decode": "^3.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "minimatch": "^5.0.0", diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json index fee41b8e7f..21df60acb2 100644 --- a/plugins/badges-backend/package.json +++ b/plugins/badges-backend/package.json @@ -45,7 +45,7 @@ "cors": "^2.8.5", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.4.2", + "knex": "^3.0.0", "lodash": "^4.17.21", "supertest": "^6.3.3", "uuid": "^9.0.0", diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json index 28489be39f..02ca87224b 100644 --- a/plugins/bazaar-backend/package.json +++ b/plugins/bazaar-backend/package.json @@ -49,7 +49,7 @@ "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "winston": "^3.2.1", "yn": "^4.0.0" }, diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json index 5eb327b812..abe3de740e 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/package.json +++ b/plugins/catalog-backend-module-incremental-ingestion/package.json @@ -59,7 +59,7 @@ "@types/luxon": "^3.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "luxon": "^3.0.0", "uuid": "^8.3.2", "winston": "^3.2.1" diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json index 03f3471b28..e04ce27b51 100644 --- a/plugins/catalog-backend-module-unprocessed/package.json +++ b/plugins/catalog-backend-module-unprocessed/package.json @@ -38,6 +38,6 @@ "@backstage/catalog-model": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", "express-promise-router": "^4.1.1", - "knex": "^2.4.2" + "knex": "^3.0.0" } } diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index a6f266af48..510312cc4c 100644 --- a/plugins/catalog-backend/package.json +++ b/plugins/catalog-backend/package.json @@ -71,7 +71,7 @@ "fs-extra": "10.1.0", "git-url-parse": "^13.0.0", "glob": "^7.1.6", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "minimatch": "^5.0.0", @@ -93,7 +93,7 @@ "@types/lodash": "^4.14.151", "@types/supertest": "^2.0.8", "@types/uuid": "^8.0.0", - "better-sqlite3": "^8.0.0", + "better-sqlite3": "^9.0.0", "luxon": "^3.0.0", "msw": "^1.0.0", "supertest": "^6.1.3", diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json index 5bc50a3e01..dbfdecf571 100644 --- a/plugins/code-coverage-backend/package.json +++ b/plugins/code-coverage-backend/package.json @@ -42,7 +42,7 @@ "body-parser-xml": "^2.0.5", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "uuid": "^8.3.2", "winston": "^3.2.1", "yn": "^4.0.0" diff --git a/plugins/entity-feedback-backend/package.json b/plugins/entity-feedback-backend/package.json index 0e59338498..680d83ad08 100644 --- a/plugins/entity-feedback-backend/package.json +++ b/plugins/entity-feedback-backend/package.json @@ -38,7 +38,7 @@ "@types/express": "*", "express": "^4.18.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "node-fetch": "^2.6.7", "winston": "^3.2.1", "yn": "^4.0.0" diff --git a/plugins/linguist-backend/package.json b/plugins/linguist-backend/package.json index db00a9ecba..fad9bacc48 100644 --- a/plugins/linguist-backend/package.json +++ b/plugins/linguist-backend/package.json @@ -43,7 +43,7 @@ "express": "^4.18.1", "express-promise-router": "^4.1.0", "fs-extra": "^10.0.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "linguist-js": "^2.5.3", "luxon": "^2.0.2", "node-fetch": "^2.6.7", diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json index 17779c76fb..302f5f097a 100644 --- a/plugins/playlist-backend/package.json +++ b/plugins/playlist-backend/package.json @@ -41,7 +41,7 @@ "@types/express": "*", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "node-fetch": "^2.6.7", "uuid": "^8.2.0", "winston": "^3.2.1", diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 87493ab1a3..2630fa5e16 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -82,7 +82,7 @@ "isolated-vm": "^4.5.0", "isomorphic-git": "^1.23.0", "jsonschema": "^1.2.6", - "knex": "^2.0.0", + "knex": "^3.0.0", "libsodium-wrappers": "^0.7.11", "lodash": "^4.17.21", "luxon": "^3.0.0", diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index cda72a9008..5669458bb3 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -47,7 +47,7 @@ "@backstage/config": "workspace:^", "@backstage/plugin-search-backend-node": "workspace:^", "@backstage/plugin-search-common": "workspace:^", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "uuid": "^8.3.2", "winston": "^3.2.1" diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index a681601637..842a8db339 100644 --- a/plugins/tech-insights-backend/package.json +++ b/plugins/tech-insights-backend/package.json @@ -46,7 +46,7 @@ "@types/luxon": "^3.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0", "semver": "^7.5.3", diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index 8b87f455f1..566538fde6 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -63,7 +63,7 @@ "express": "^4.17.1", "express-promise-router": "^4.1.0", "fs-extra": "10.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "lodash": "^4.17.21", "node-fetch": "^2.6.7", "p-limit": "^3.1.0", diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 0184cf75ef..3a560bfdbb 100644 --- a/plugins/user-settings-backend/package.json +++ b/plugins/user-settings-backend/package.json @@ -52,7 +52,7 @@ "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", - "knex": "^2.0.0", + "knex": "^3.0.0", "winston": "^3.2.1", "yn": "^4.0.0" }, diff --git a/yarn.lock b/yarn.lock index 519336753b..a26cbf7fa1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3538,7 +3538,7 @@ __metadata: archiver: ^5.0.2 aws-sdk-client-mock: ^2.0.0 base64-stream: ^1.0.0 - better-sqlite3: ^8.0.0 + better-sqlite3: ^9.0.0 compression: ^1.7.4 concat-stream: ^2.0.0 cors: ^2.8.5 @@ -3552,7 +3552,7 @@ __metadata: isomorphic-git: ^1.23.0 jose: ^4.6.0 keyv: ^4.5.2 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 logform: ^2.3.2 luxon: ^3.0.0 @@ -3560,7 +3560,7 @@ __metadata: msw: ^1.0.0 mysql2: ^2.2.5 node-fetch: ^2.6.7 - pg: ^8.3.0 + pg: ^8.11.3 raw-body: ^2.4.1 supertest: ^6.1.3 tar: ^6.1.12 @@ -3630,7 +3630,7 @@ __metadata: "@backstage/types": "workspace:^" "@types/express": ^4.17.6 express: ^4.17.1 - knex: ^2.0.0 + knex: ^3.0.0 languageName: unknown linkType: soft @@ -3682,7 +3682,7 @@ __metadata: "@types/cron": ^2.0.0 "@types/luxon": ^3.0.0 cron: ^2.0.0 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 uuid: ^8.0.0 @@ -3705,13 +3705,13 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" "@backstage/types": "workspace:^" "@types/supertest": ^2.0.8 - better-sqlite3: ^8.0.0 + better-sqlite3: ^9.0.0 express: ^4.17.1 fs-extra: ^10.0.1 - knex: ^2.0.0 + knex: ^3.0.0 msw: ^1.0.0 mysql2: ^2.2.5 - pg: ^8.3.0 + pg: ^8.11.3 supertest: ^6.1.3 testcontainers: ^8.1.2 textextensions: ^5.16.0 @@ -4889,7 +4889,7 @@ __metadata: fs-extra: 10.1.0 globby: ^11.0.0 helmet: ^6.0.0 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 msw: ^1.0.0 @@ -5086,7 +5086,7 @@ __metadata: google-auth-library: ^8.0.0 jose: ^4.6.0 jwt-decode: ^3.1.0 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 minimatch: ^5.0.0 @@ -5289,7 +5289,7 @@ __metadata: cross-fetch: ^3.1.5 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.4.2 + knex: ^3.0.0 lodash: ^4.17.21 supertest: ^6.3.3 uuid: ^9.0.0 @@ -5339,7 +5339,7 @@ __metadata: "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 winston: ^3.2.1 yn: ^4.0.0 languageName: unknown @@ -5720,7 +5720,7 @@ __metadata: "@types/luxon": ^3.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 luxon: ^3.0.0 uuid: ^8.3.2 winston: ^3.2.1 @@ -5845,7 +5845,7 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/plugin-auth-node": "workspace:^" express-promise-router: ^4.1.1 - knex: ^2.4.2 + knex: ^3.0.0 languageName: unknown linkType: soft @@ -5879,7 +5879,7 @@ __metadata: "@types/lodash": ^4.14.151 "@types/supertest": ^2.0.8 "@types/uuid": ^8.0.0 - better-sqlite3: ^8.0.0 + better-sqlite3: ^9.0.0 codeowners-utils: ^1.0.2 core-js: ^3.6.5 express: ^4.17.1 @@ -5887,7 +5887,7 @@ __metadata: fs-extra: 10.1.0 git-url-parse: ^13.0.0 glob: ^7.1.6 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 minimatch: ^5.0.0 @@ -6367,7 +6367,7 @@ __metadata: body-parser-xml: ^2.0.5 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 msw: ^1.0.0 supertest: ^6.1.6 uuid: ^8.3.2 @@ -6663,7 +6663,7 @@ __metadata: "@types/supertest": ^2.0.12 express: ^4.18.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.2.4 @@ -7984,7 +7984,7 @@ __metadata: express-promise-router: ^4.1.0 fs-extra: ^10.0.0 js-yaml: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 linguist-js: ^2.5.3 luxon: ^2.0.2 msw: ^1.0.0 @@ -8544,7 +8544,7 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 msw: ^1.0.0 node-fetch: ^2.6.7 supertest: ^6.1.3 @@ -8881,7 +8881,7 @@ __metadata: isomorphic-git: ^1.23.0 jest-when: ^3.1.0 jsonschema: ^1.2.6 - knex: ^2.0.0 + knex: ^3.0.0 libsodium-wrappers: ^0.7.11 lodash: ^4.17.21 luxon: ^3.0.0 @@ -9133,7 +9133,7 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/plugin-search-backend-node": "workspace:^" "@backstage/plugin-search-common": "workspace:^" - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 uuid: ^8.3.2 winston: ^3.2.1 @@ -9614,7 +9614,7 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 luxon: ^3.0.0 semver: ^7.5.3 @@ -9780,7 +9780,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 fs-extra: 10.1.0 - knex: ^2.0.0 + knex: ^3.0.0 lodash: ^4.17.21 msw: ^1.0.0 node-fetch: ^2.6.7 @@ -10022,7 +10022,7 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - knex: ^2.0.0 + knex: ^3.0.0 supertest: ^6.1.3 winston: ^3.2.1 yn: ^4.0.0 @@ -22150,14 +22150,14 @@ __metadata: languageName: node linkType: hard -"better-sqlite3@npm:^8.0.0": - version: 8.7.0 - resolution: "better-sqlite3@npm:8.7.0" +"better-sqlite3@npm:^9.0.0": + version: 9.0.0 + resolution: "better-sqlite3@npm:9.0.0" dependencies: bindings: ^1.5.0 node-gyp: latest prebuild-install: ^7.1.1 - checksum: f1fa38a9a0e4fcd59ececb67c60371b9638d29c19ce9af034421e8a56c9a77e799bb1411b1c3cb08bb9678e15dfb8985553a9ef4098cf5558e7207a3e019f211 + checksum: 53cf439f50768bbcb7adb4894adf6c5134f3479f04084e3009dbe92a00a84e7dd850e4b69262337d807578f3d76e26a40ccebc465e8574e807e27033fab0381a languageName: node linkType: hard @@ -27521,7 +27521,7 @@ __metadata: "@types/express-serve-static-core": ^4.17.5 "@types/luxon": ^3.0.0 azure-devops-node-api: ^11.0.1 - better-sqlite3: ^8.0.0 + better-sqlite3: ^9.0.0 dockerode: ^3.3.1 example-app: "link:../app" express: ^4.17.1 @@ -27529,7 +27529,7 @@ __metadata: express-promise-router: ^4.1.0 luxon: ^3.0.0 mysql2: ^2.2.5 - pg: ^8.3.0 + pg: ^8.11.3 pg-connection-string: ^2.3.0 prom-client: ^14.0.1 winston: ^3.2.1 @@ -33209,7 +33209,7 @@ __metadata: languageName: node linkType: hard -"knex@npm:^2.0.0, knex@npm:^2.3.0, knex@npm:^2.4.2": +"knex@npm:^2.3.0": version: 2.5.1 resolution: "knex@npm:2.5.1" dependencies: @@ -33248,6 +33248,45 @@ __metadata: languageName: node linkType: hard +"knex@npm:^3.0.0": + version: 3.0.1 + resolution: "knex@npm:3.0.1" + dependencies: + colorette: 2.0.19 + commander: ^10.0.0 + debug: 4.3.4 + escalade: ^3.1.1 + esm: ^3.2.25 + get-package-type: ^0.1.0 + getopts: 2.3.0 + interpret: ^2.2.0 + lodash: ^4.17.21 + pg-connection-string: 2.6.1 + rechoir: ^0.8.0 + resolve-from: ^5.0.0 + tarn: ^3.0.2 + tildify: 2.0.0 + peerDependenciesMeta: + better-sqlite3: + optional: true + mysql: + optional: true + mysql2: + optional: true + pg: + optional: true + pg-native: + optional: true + sqlite3: + optional: true + tedious: + optional: true + bin: + knex: bin/cli.js + checksum: bcfc3f8da9a7e898a873d2a122856ac9355f5ee1c0ab39534d6cac9ea69388da2fe0fa607b20d65298e191a4377af72f8ff7f4430f8b8c4abc144010b7e9796c + languageName: node + linkType: hard + "kubernetes-models@npm:^4.1.0, kubernetes-models@npm:^4.3.1": version: 4.3.1 resolution: "kubernetes-models@npm:4.3.1" @@ -37744,7 +37783,7 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.3.0, pg@npm:^8.9.0": +"pg@npm:^8.11.3, pg@npm:^8.9.0": version: 8.11.3 resolution: "pg@npm:8.11.3" dependencies: From 254593c2f822d4b257c7828fc446d3dd284a1f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 6 Nov 2023 14:13:12 +0100 Subject: [PATCH 37/38] bump connect-session-knex too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- packages/backend-common/api-report.md | 3 +- plugins/auth-backend/package.json | 2 +- yarn.lock | 53 ++++----------------------- 3 files changed, 10 insertions(+), 48 deletions(-) diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index f4d430ccbd..4f1dcdbf81 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -32,6 +32,7 @@ import { HostDiscovery as HostDiscovery_2 } from '@backstage/backend-app-api'; import { IdentityService } from '@backstage/backend-plugin-api'; import { isChildPath } from '@backstage/cli-common'; import { Knex } from 'knex'; +import knexFactory from 'knex'; import { KubeConfig } from '@kubernetes/client-node'; import { LifecycleService } from '@backstage/backend-plugin-api'; import { LoadConfigOptionsRemote } from '@backstage/config-loader'; @@ -222,7 +223,7 @@ export function createDatabaseClient( lifecycle: LifecycleService; pluginMetadata: PluginMetadataService; }, -): Knex; +): knexFactory.Knex; // @public export function createRootLogger( diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index b668958ceb..52a4d262f7 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -51,7 +51,7 @@ "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "compression": "^1.7.4", - "connect-session-knex": "^3.0.1", + "connect-session-knex": "^4.0.0", "cookie-parser": "^1.4.5", "cors": "^2.8.5", "express": "^4.17.1", diff --git a/yarn.lock b/yarn.lock index a26cbf7fa1..e95063e1cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5076,7 +5076,7 @@ __metadata: "@types/passport-strategy": ^0.2.35 "@types/xml2js": ^0.4.7 compression: ^1.7.4 - connect-session-knex: ^3.0.1 + connect-session-knex: ^4.0.0 cookie-parser: ^1.4.5 cors: ^2.8.5 express: ^4.17.1 @@ -24026,13 +24026,13 @@ __metadata: languageName: node linkType: hard -"connect-session-knex@npm:^3.0.1": - version: 3.0.1 - resolution: "connect-session-knex@npm:3.0.1" +"connect-session-knex@npm:^4.0.0": + version: 4.0.0 + resolution: "connect-session-knex@npm:4.0.0" dependencies: bluebird: ^3.7.2 - knex: ^2.3.0 - checksum: f5a80c3c34d30e7cd4e79a6aae09d112825986d51ddc3a4563ef95ade425178239d4e3e05420fb3b6204b2353b0dfd754d318b288989b539583f6c0e52758b7a + knex: 3 + checksum: 88454b9b0b78e89cf27fe95a443f8051e43603b68c1c671acfa5a91e1a0abac1e8afd6888e1f3ea53b4b862305e47f6be46c8c4cd238f2f469cba676a25c776e languageName: node linkType: hard @@ -33209,46 +33209,7 @@ __metadata: languageName: node linkType: hard -"knex@npm:^2.3.0": - version: 2.5.1 - resolution: "knex@npm:2.5.1" - dependencies: - colorette: 2.0.19 - commander: ^10.0.0 - debug: 4.3.4 - escalade: ^3.1.1 - esm: ^3.2.25 - get-package-type: ^0.1.0 - getopts: 2.3.0 - interpret: ^2.2.0 - lodash: ^4.17.21 - pg-connection-string: 2.6.1 - rechoir: ^0.8.0 - resolve-from: ^5.0.0 - tarn: ^3.0.2 - tildify: 2.0.0 - peerDependenciesMeta: - better-sqlite3: - optional: true - mysql: - optional: true - mysql2: - optional: true - pg: - optional: true - pg-native: - optional: true - sqlite3: - optional: true - tedious: - optional: true - bin: - knex: bin/cli.js - checksum: 4f2da7fda51a450de25274eb76034c869de0427c17831dc8472b8116e879d23aae0592c2ce4e9b2a473417867063ac6e7b29021b39b4a4d502335017a5a09278 - languageName: node - linkType: hard - -"knex@npm:^3.0.0": +"knex@npm:3, knex@npm:^3.0.0": version: 3.0.1 resolution: "knex@npm:3.0.1" dependencies: From 55725922a5d149ed6a5bb0d5976ec3130b14dd96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 6 Nov 2023 15:50:33 +0100 Subject: [PATCH 38/38] Ensure that shortcuts aren't duplicate-checked against themselves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/curvy-carpets-kneel.md | 5 +++++ plugins/shortcuts/src/ShortcutForm.tsx | 21 ++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 .changeset/curvy-carpets-kneel.md diff --git a/.changeset/curvy-carpets-kneel.md b/.changeset/curvy-carpets-kneel.md new file mode 100644 index 0000000000..e6b0019edb --- /dev/null +++ b/.changeset/curvy-carpets-kneel.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-shortcuts': patch +--- + +Ensure that shortcuts aren't duplicate-checked against themselves diff --git a/plugins/shortcuts/src/ShortcutForm.tsx b/plugins/shortcuts/src/ShortcutForm.tsx index e8cd8144d0..4d6fdcbc27 100644 --- a/plugins/shortcuts/src/ShortcutForm.tsx +++ b/plugins/shortcuts/src/ShortcutForm.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, { useEffect } from 'react'; +import React, { useEffect, useRef } from 'react'; import useObservable from 'react-use/lib/useObservable'; import { useForm, SubmitHandler, Controller } from 'react-hook-form'; import { @@ -58,6 +58,10 @@ export const ShortcutForm = ({ shortcutApi.shortcut$(), shortcutApi.get(), ); + const { current: originalValues } = useRef({ + url: formValues?.url ?? '', + title: formValues?.title ?? '', + }); const { handleSubmit, reset, @@ -65,20 +69,23 @@ export const ShortcutForm = ({ formState: { errors }, } = useForm({ mode: 'onChange', - defaultValues: { - url: formValues?.url ?? '', - title: formValues?.title ?? '', - }, + defaultValues: originalValues, }); const titleIsUnique = (title: string) => { - if (shortcutData.some(shortcutTitle => shortcutTitle.title === title)) + if ( + title !== originalValues.title && + shortcutData.some(shortcutTitle => shortcutTitle.title === title) + ) return 'A shortcut with this title already exists'; return true; }; const urlIsUnique = (url: string) => { - if (shortcutData.some(shortcutUrl => shortcutUrl.url === url)) + if ( + url !== originalValues.url && + shortcutData.some(shortcutUrl => shortcutUrl.url === url) + ) return 'A shortcut with this url already exists'; return true; };