diff --git a/src/.yarnrc.yml b/src/.yarnrc.yml index ddddb64..1180432 100644 --- a/src/.yarnrc.yml +++ b/src/.yarnrc.yml @@ -10,6 +10,6 @@ npmMinimalAgeGate: 0 plugins: - checksum: ae08ece83681cc6d217ebb53d9e00a06ea215383f34af0681a05da5720e018a6b0d98012112f9368e9fe2328b19919baba37ada25f46c4614b894765a9338db9 path: .yarn/plugins/@yarnpkg/plugin-backstage.cjs - spec: "https://versions.backstage.io/v1/releases/1.53.2/yarn-plugin" + spec: "https://versions.backstage.io/v1/releases/1.54.6/yarn-plugin" yarnPath: .yarn/releases/yarn-4.15.0.cjs diff --git a/src/app-config.yaml b/src/app-config.yaml index e06006b..dfde248 100644 --- a/src/app-config.yaml +++ b/src/app-config.yaml @@ -6,7 +6,79 @@ app: packages: all extensions: - # Configure the catalog index page to be the root page, this is normally mounted on /catalog + # Home + # + # Visit tracking records which pages users navigate to and is disabled by default. + # Enable it to populate the Most Visited and Recently Visited widgets on the Home page. + # Visit data is stored via UserSettings storage if available, otherwise browser localStorage. + # - api:home/visits: true + # - app-root-element:home/visit-listener: true + - home-page-widget:home/toolkit: + config: + tools: + - url: https://backstage.io/docs + label: Docs + icon: docs + - url: https://github.com/backstage/backstage + label: GitHub + icon: github + - url: https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md + label: Contributing + icon: docs + - url: https://backstage.io/plugins + label: Plugins Directory + icon: kind:component + - url: https://github.com/backstage/backstage/issues/new/choose + label: Submit New Issue + icon: github + - home-page-widget:home/world-clock: + config: + clockConfigs: + - label: NYC + timeZone: America/New_York + - label: UTC + timeZone: UTC + - page:home: + config: + path: / + defaultConfig: + - component: HomePageSearchBar + column: 0 + row: 0 + width: 12 + height: 2 + deletable: false + - component: GettingStarted + column: 0 + row: 1 + width: 4 + height: 11 + - component: HomePageStarredEntities + column: 4 + row: 2 + width: 4 + height: 4 + - component: HomePageToolkit + column: 4 + row: 6 + width: 4 + height: 3 + - component: HomePageWorldClock + column: 8 + row: 6 + width: 4 + height: 3 + - component: HomePageMostVisited + column: 4 + row: 9 + width: 4 + height: 4 + - component: HomePageRecentlyVisited + column: 8 + row: 9 + width: 4 + height: 4 + # Catalog - page:catalog: config: pagination: diff --git a/src/backstage.json b/src/backstage.json index 6d0c5bf..d32479a 100644 --- a/src/backstage.json +++ b/src/backstage.json @@ -1,3 +1,3 @@ { - "version": "1.53.2" + "version": "1.54.6" } diff --git a/src/examples/template/template.yaml b/src/examples/template/template.yaml index efb33be..bcb1bf1 100644 --- a/src/examples/template/template.yaml +++ b/src/examples/template/template.yaml @@ -20,9 +20,8 @@ spec: title: Name type: string description: Unique name of the component + ui:field: EntityNamePicker ui:autofocus: true - ui:options: - rows: 5 - title: Choose a location required: - repoUrl diff --git a/src/packages/app/package.json b/src/packages/app/package.json index c622e1a..5f98c63 100644 --- a/src/packages/app/package.json +++ b/src/packages/app/package.json @@ -32,6 +32,8 @@ "@backstage/plugin-catalog-graph": "backstage:^", "@backstage/plugin-catalog-import": "backstage:^", "@backstage/plugin-catalog-unprocessed-entities": "backstage:^", + "@backstage/plugin-home": "backstage:^", + "@backstage/plugin-home-react": "backstage:^", "@backstage/plugin-notifications": "backstage:^", "@backstage/plugin-org": "backstage:^", "@backstage/plugin-scaffolder": "backstage:^", diff --git a/src/packages/app/src/App.tsx b/src/packages/app/src/App.tsx index 8220478..e356520 100644 --- a/src/packages/app/src/App.tsx +++ b/src/packages/app/src/App.tsx @@ -14,6 +14,8 @@ import serverlessOpsCatalogModule from '@internal/backstage-plugin-catalog-modul import serverlessOpsApiDocsModule from '@internal/backstage-plugin-api-docs-module-serverlessops'; import appModuleNav from '@internal/backstage-plugin-app-module-nav'; +import { homeModule } from './modules/home'; + const signInPage = SignInPageBlueprint.make({ params: { loader: async () => props => { @@ -54,6 +56,7 @@ const signInPage = SignInPageBlueprint.make({ export default createApp({ features: [ catalogPlugin, + homeModule, githubActionsPlugin, githubDeploymentsPlugin, githubIssuesPlugin, diff --git a/src/packages/app/src/modules/home/homeModule.tsx b/src/packages/app/src/modules/home/homeModule.tsx new file mode 100644 index 0000000..9e24b74 --- /dev/null +++ b/src/packages/app/src/modules/home/homeModule.tsx @@ -0,0 +1,52 @@ +import { createFrontendModule } from '@backstage/frontend-plugin-api'; +import { HomePageWidgetBlueprint } from '@backstage/plugin-home-react/alpha'; +import { MarkdownContent } from '@backstage/core-components'; + +const content = ` +## Welcome to Backstage! 👋 + +Backstage is your developer portal — a single place to manage all your +software, services, and documentation. + +### Quick Start + +- **Explore the catalog** — Browse all your organization's software in + the [Software Catalog](/catalog) +- **Create something new** — Use a [Software Template](/create) to + scaffold a new project in minutes +- **Read the docs** — Find technical documentation for any service + right from its catalog page + +### Helpful Links + +- [Backstage Documentation](https://backstage.io/docs) +- [Customizing Your Homepage](https://backstage.io/docs/getting-started/homepage) +- [Adding Plugins](https://backstage.io/docs/plugins) +- [Contributing](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md) + +### How to Edit This Card + +This widget is defined in \`packages/app/src/modules/home/homeModule.tsx\`. +You can update the markdown content there to welcome your team with +your own links and getting started tips. + +To remove this card entirely, delete the getting started widget and +remove it from the home module's extensions array in this file. +`; + +const gettingStartedWidget = HomePageWidgetBlueprint.make({ + name: 'getting-started', + params: { + name: 'GettingStarted', + title: 'Getting Started', + description: 'Tips and links to help you get started with Backstage', + components: async () => ({ + Content: () => , + }), + }, +}); + +export const homeModule = createFrontendModule({ + pluginId: 'home', + extensions: [gettingStartedWidget], +}); diff --git a/src/packages/app/src/modules/home/index.ts b/src/packages/app/src/modules/home/index.ts new file mode 100644 index 0000000..f3420e3 --- /dev/null +++ b/src/packages/app/src/modules/home/index.ts @@ -0,0 +1 @@ +export { homeModule } from './homeModule'; \ No newline at end of file diff --git a/src/packages/app/src/modules/nav/Sidebar.tsx b/src/packages/app/src/modules/nav/Sidebar.tsx index d20256c..def9b8b 100644 --- a/src/packages/app/src/modules/nav/Sidebar.tsx +++ b/src/packages/app/src/modules/nav/Sidebar.tsx @@ -34,6 +34,7 @@ export const SidebarContent: ExtensionDefinition = NavContentBlueprint.make }> + {nav.take('page:home')} {nav.take('page:catalog')} {nav.take('page:scaffolder')} diff --git a/src/packages/backend/Dockerfile b/src/packages/backend/Dockerfile index 512558b..99b79e0 100644 --- a/src/packages/backend/Dockerfile +++ b/src/packages/backend/Dockerfile @@ -7,58 +7,53 @@ # yarn tsc # yarn build:backend # +# Host build steps (yarn install, yarn build:backend) must use the same +# Node version as the FROM image below. Mismatched versions break native modules. +# # Once the commands have been run, you can build the image using `yarn build-image` FROM node:24-trixie-slim -# Set Python interpreter for `node-gyp` to use -ENV PYTHON=/usr/bin/python3 - -# Install isolate-vm dependencies, these are needed by the @backstage/plugin-scaffolder-backend. -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update && \ - apt-get install -y --no-install-recommends python3 g++ build-essential && \ - rm -rf /var/lib/apt/lists/* - # Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image, # in which case you should also move better-sqlite3 to "devDependencies" in package.json. +# Additionally, we install dependencies for `techdocs.generator.runIn: local`. +# https://backstage.io/docs/features/techdocs/getting-started#disabling-docker-in-docker-situation-optional RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ apt-get update && \ - apt-get install -y --no-install-recommends libsqlite3-dev && \ - rm -rf /var/lib/apt/lists/* + apt-get install -y --no-install-recommends libsqlite3-dev python3 python3-pip python3-venv build-essential && \ + yarn config set python /usr/bin/python3 + +# Set up a virtual environment for mkdocs-techdocs-core. +ENV VIRTUAL_ENV=/opt/venv +RUN python3 -m venv $VIRTUAL_ENV +ENV PATH="$VIRTUAL_ENV/bin:$PATH" + +RUN pip3 install mkdocs-techdocs-core==1.1.7 # From here on we use the least-privileged `node` user to run the backend. +WORKDIR /app +RUN chown node:node /app USER node -# This should create the app dir as `node`. -# If it is instead created as `root` then the `tar` command below will fail: `can't create directory 'packages/': Permission denied`. -# If this occurs, then ensure BuildKit is enabled (`DOCKER_BUILDKIT=1`) so the app dir is correctly created as `node`. -WORKDIR /app +# This switches many Node.js dependencies to production mode. +ENV NODE_ENV=production # Copy files needed by Yarn COPY --chown=node:node .yarn ./.yarn COPY --chown=node:node .yarnrc.yml ./ COPY --chown=node:node backstage.json ./ -# This switches many Node.js dependencies to production mode. -ENV NODE_ENV=production - -# This disables node snapshot for Node 20 to work with the Scaffolder -ENV NODE_OPTIONS="--no-node-snapshot" - # Copy repo skeleton first, to avoid unnecessary docker cache invalidation. # The skeleton contains the package.json of each package in the monorepo, # and along with yarn.lock and the root package.json, that's enough to run yarn install. COPY --chown=node:node yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./ RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz -RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \ - yarn workspaces focus --all --production && rm -rf "$(yarn cache clean)" - -# This will include the examples, if you don't need these simply remove this line -COPY --chown=node:node examples ./examples +# FIXME: Added this to get around a build failure. +RUN mkdir -p /home/node/.yarn/berry/index +RUN --mount=type=cache,target=/home/node/.yarn/berry/cache,sharing=locked,uid=1000,gid=1000 \ + yarn workspaces focus --all --production # Then copy the rest of the backend bundle, along with any other files we might want. COPY --chown=node:node packages/backend/dist/bundle.tar.gz app-config*.yaml ./ diff --git a/src/plugins/app-module-nav/src/nav/SidebarOverride.tsx b/src/plugins/app-module-nav/src/nav/SidebarOverride.tsx index 60207cb..6e92734 100644 --- a/src/plugins/app-module-nav/src/nav/SidebarOverride.tsx +++ b/src/plugins/app-module-nav/src/nav/SidebarOverride.tsx @@ -29,6 +29,8 @@ export const SidebarContentOverrideComponent = ({ navItems }: { navItems: any }) }> + {nav.take('page:home')} + {nav.take('page:catalog')} {nav.take('page:catalog-graph')} {nav.take('page:scaffolder')} diff --git a/src/yarn.lock b/src/yarn.lock index 28d2151..d036a3e 100644 --- a/src/yarn.lock +++ b/src/yarn.lock @@ -1333,7 +1333,7 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-defaults@backstage:^::backstage=1.53.2&npm=0.17.6, @backstage/backend-defaults@npm:^0.17.6, @backstage/backend-defaults@npm:^0.17.7": +"@backstage/backend-defaults@backstage:^::backstage=1.54.6&npm=0.17.8, @backstage/backend-defaults@npm:^0.17.7, @backstage/backend-defaults@npm:^0.17.8": version: 0.17.8 resolution: "@backstage/backend-defaults@npm:0.17.8" dependencies: @@ -1453,7 +1453,7 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-plugin-api@backstage:^::backstage=1.53.2&npm=1.9.3, @backstage/backend-plugin-api@npm:^1.10.0, @backstage/backend-plugin-api@npm:^1.9.3": +"@backstage/backend-plugin-api@backstage:^::backstage=1.54.6&npm=1.10.0, @backstage/backend-plugin-api@npm:^1.10.0": version: 1.10.0 resolution: "@backstage/backend-plugin-api@npm:1.10.0" dependencies: @@ -1474,7 +1474,7 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-test-utils@backstage:^::backstage=1.53.2&npm=1.11.5, @backstage/backend-test-utils@npm:^1.11.5, @backstage/backend-test-utils@npm:^1.11.6": +"@backstage/backend-test-utils@backstage:^::backstage=1.54.6&npm=1.11.6, @backstage/backend-test-utils@npm:^1.11.6": version: 1.11.6 resolution: "@backstage/backend-test-utils@npm:1.11.6" dependencies: @@ -1518,7 +1518,7 @@ __metadata: languageName: node linkType: hard -"@backstage/catalog-client@backstage:^::backstage=1.53.2&npm=1.16.1, @backstage/catalog-client@npm:^1.16.1": +"@backstage/catalog-client@backstage:^::backstage=1.54.6&npm=1.16.1, @backstage/catalog-client@npm:^1.16.1": version: 1.16.1 resolution: "@backstage/catalog-client@npm:1.16.1" dependencies: @@ -1548,7 +1548,7 @@ __metadata: languageName: node linkType: hard -"@backstage/catalog-model@backstage:^::backstage=1.53.2&npm=1.9.0, @backstage/catalog-model@npm:^1.10.0": +"@backstage/catalog-model@backstage:^::backstage=1.54.6&npm=1.10.0, @backstage/catalog-model@npm:^1.10.0": version: 1.10.0 resolution: "@backstage/catalog-model@npm:1.10.0" dependencies: @@ -1586,7 +1586,7 @@ __metadata: languageName: node linkType: hard -"@backstage/cli-defaults@backstage:^::backstage=1.53.2&npm=0.1.4, @backstage/cli-defaults@npm:^0.1.4, @backstage/cli-defaults@npm:^0.1.5": +"@backstage/cli-defaults@backstage:^::backstage=1.54.6&npm=0.1.5, @backstage/cli-defaults@npm:^0.1.5": version: 0.1.5 resolution: "@backstage/cli-defaults@npm:0.1.5" dependencies: @@ -1939,7 +1939,7 @@ __metadata: languageName: node linkType: hard -"@backstage/cli@backstage:^::backstage=1.53.2&npm=0.36.4, @backstage/cli@npm:^0.36.4": +"@backstage/cli@backstage:^::backstage=1.54.6&npm=0.36.5, @backstage/cli@npm:^0.36.5": version: 0.36.5 resolution: "@backstage/cli@npm:0.36.5" dependencies: @@ -2017,7 +2017,7 @@ __metadata: languageName: node linkType: hard -"@backstage/config@backstage:^::backstage=1.53.2&npm=1.3.8, @backstage/config@npm:^1.3.6, @backstage/config@npm:^1.3.8": +"@backstage/config@backstage:^::backstage=1.54.6&npm=1.3.8, @backstage/config@npm:^1.3.6, @backstage/config@npm:^1.3.8": version: 1.3.8 resolution: "@backstage/config@npm:1.3.8" dependencies: @@ -2040,7 +2040,7 @@ __metadata: languageName: node linkType: hard -"@backstage/core-app-api@backstage:^::backstage=1.53.2&npm=1.20.3, @backstage/core-app-api@npm:^1.20.3, @backstage/core-app-api@npm:^1.20.4": +"@backstage/core-app-api@backstage:^::backstage=1.54.6&npm=1.20.4, @backstage/core-app-api@npm:^1.20.4": version: 1.20.4 resolution: "@backstage/core-app-api@npm:1.20.4" dependencies: @@ -2148,7 +2148,7 @@ __metadata: languageName: node linkType: hard -"@backstage/core-components@backstage:^::backstage=1.53.2&npm=0.18.12, @backstage/core-components@npm:^0.18.12, @backstage/core-components@npm:^0.18.13": +"@backstage/core-components@backstage:^::backstage=1.54.6&npm=0.18.13, @backstage/core-components@npm:^0.18.12, @backstage/core-components@npm:^0.18.13": version: 0.18.13 resolution: "@backstage/core-components@npm:0.18.13" dependencies: @@ -2265,7 +2265,7 @@ __metadata: languageName: node linkType: hard -"@backstage/core-plugin-api@backstage:^::backstage=1.53.2&npm=1.12.8, @backstage/core-plugin-api@npm:^1.12.8, @backstage/core-plugin-api@npm:^1.12.9": +"@backstage/core-plugin-api@backstage:^::backstage=1.54.6&npm=1.12.9, @backstage/core-plugin-api@npm:^1.12.8, @backstage/core-plugin-api@npm:^1.12.9": version: 1.12.9 resolution: "@backstage/core-plugin-api@npm:1.12.9" dependencies: @@ -2311,7 +2311,7 @@ __metadata: languageName: node linkType: hard -"@backstage/e2e-test-utils@backstage:^::backstage=1.53.2&npm=0.1.2, @backstage/e2e-test-utils@npm:^0.1.2": +"@backstage/e2e-test-utils@backstage:^::backstage=1.54.6&npm=0.1.2, @backstage/e2e-test-utils@npm:^0.1.2": version: 0.1.2 resolution: "@backstage/e2e-test-utils@npm:0.1.2" dependencies: @@ -2424,7 +2424,7 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-defaults@backstage:^::backstage=1.53.2&npm=0.5.4, @backstage/frontend-defaults@npm:^0.5.4, @backstage/frontend-defaults@npm:^0.5.5": +"@backstage/frontend-defaults@backstage:^::backstage=1.54.6&npm=0.5.5, @backstage/frontend-defaults@npm:^0.5.5": version: 0.5.5 resolution: "@backstage/frontend-defaults@npm:0.5.5" dependencies: @@ -2470,7 +2470,7 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-dev-utils@backstage:^::backstage=1.53.2&npm=0.1.4, @backstage/frontend-dev-utils@npm:^0.1.4": +"@backstage/frontend-dev-utils@backstage:^::backstage=1.54.6&npm=0.1.5, @backstage/frontend-dev-utils@npm:^0.1.5": version: 0.1.5 resolution: "@backstage/frontend-dev-utils@npm:0.1.5" dependencies: @@ -2490,9 +2490,9 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-plugin-api@backstage:^::backstage=1.53.2&npm=0.17.3, @backstage/frontend-plugin-api@npm:^0.17.3": - version: 0.17.3 - resolution: "@backstage/frontend-plugin-api@npm:0.17.3" +"@backstage/frontend-plugin-api@backstage:^::backstage=1.54.6&npm=0.18.0, @backstage/frontend-plugin-api@npm:^0.18.0": + version: 0.18.0 + resolution: "@backstage/frontend-plugin-api@npm:0.18.0" dependencies: "@backstage/config": "npm:^1.3.8" "@backstage/errors": "npm:^1.3.1" @@ -2500,8 +2500,6 @@ __metadata: "@backstage/types": "npm:^1.2.2" "@backstage/version-bridge": "npm:^1.0.12" "@standard-schema/spec": "npm:^1.1.0" - zod: "npm:^4.0.0" - zod-to-json-schema: "npm:^3.25.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 @@ -2510,7 +2508,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/d321dd4e37d655a2b1e5a4b50aa280d5d21e9b96dc674505bce2b35820c33e04926f89a9335c3f1ea658e4321d6480efb7ce75eb2729fbeeb07af40d426cd7be + checksum: 10c0/30d677b7002706c32ea5426e6b25b49ac905f07f6d5777ae372bfdc90f3be24bde8e09087a6241861f8eaa4abb385153dbb08363fe80321202397ec01d488bf0 languageName: node linkType: hard @@ -2583,9 +2581,9 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-plugin-api@npm:^0.18.0": - version: 0.18.0 - resolution: "@backstage/frontend-plugin-api@npm:0.18.0" +"@backstage/frontend-plugin-api@npm:^0.17.3": + version: 0.17.3 + resolution: "@backstage/frontend-plugin-api@npm:0.17.3" dependencies: "@backstage/config": "npm:^1.3.8" "@backstage/errors": "npm:^1.3.1" @@ -2593,6 +2591,8 @@ __metadata: "@backstage/types": "npm:^1.2.2" "@backstage/version-bridge": "npm:^1.0.12" "@standard-schema/spec": "npm:^1.1.0" + zod: "npm:^4.0.0" + zod-to-json-schema: "npm:^3.25.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 @@ -2601,11 +2601,11 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/30d677b7002706c32ea5426e6b25b49ac905f07f6d5777ae372bfdc90f3be24bde8e09087a6241861f8eaa4abb385153dbb08363fe80321202397ec01d488bf0 + checksum: 10c0/d321dd4e37d655a2b1e5a4b50aa280d5d21e9b96dc674505bce2b35820c33e04926f89a9335c3f1ea658e4321d6480efb7ce75eb2729fbeeb07af40d426cd7be languageName: node linkType: hard -"@backstage/frontend-test-utils@backstage:^::backstage=1.53.2&npm=0.6.2, @backstage/frontend-test-utils@npm:^0.6.2": +"@backstage/frontend-test-utils@backstage:^::backstage=1.54.6&npm=0.6.3, @backstage/frontend-test-utils@npm:^0.6.3": version: 0.6.3 resolution: "@backstage/frontend-test-utils@npm:0.6.3" dependencies: @@ -2683,7 +2683,7 @@ __metadata: languageName: node linkType: hard -"@backstage/integration-react@backstage:^::backstage=1.53.2&npm=1.2.20, @backstage/integration-react@npm:^1.2.20, @backstage/integration-react@npm:^1.2.21": +"@backstage/integration-react@backstage:^::backstage=1.54.6&npm=1.2.21, @backstage/integration-react@npm:^1.2.20, @backstage/integration-react@npm:^1.2.21": version: 1.2.21 resolution: "@backstage/integration-react@npm:1.2.21" dependencies: @@ -2807,7 +2807,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-api-docs@backstage:^::backstage=1.53.2&npm=0.14.3, @backstage/plugin-api-docs@npm:^0.14.3": +"@backstage/plugin-api-docs@backstage:^::backstage=1.54.6&npm=0.14.4, @backstage/plugin-api-docs@npm:^0.14.4": version: 0.14.4 resolution: "@backstage/plugin-api-docs@npm:0.14.4" dependencies: @@ -2843,7 +2843,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-app-backend@backstage:^::backstage=1.53.2&npm=0.5.16, @backstage/plugin-app-backend@npm:^0.5.16": +"@backstage/plugin-app-backend@backstage:^::backstage=1.54.6&npm=0.5.17, @backstage/plugin-app-backend@npm:^0.5.17": version: 0.5.17 resolution: "@backstage/plugin-app-backend@npm:0.5.17" dependencies: @@ -2866,7 +2866,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-app-module-user-settings@backstage:^::backstage=1.53.2&npm=0.1.0, @backstage/plugin-app-module-user-settings@npm:^0.1.0": +"@backstage/plugin-app-module-user-settings@backstage:^::backstage=1.54.6&npm=0.1.1, @backstage/plugin-app-module-user-settings@npm:^0.1.1": version: 0.1.1 resolution: "@backstage/plugin-app-module-user-settings@npm:0.1.1" dependencies: @@ -2890,7 +2890,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-app-react@backstage:^::backstage=1.53.2&npm=0.2.5, @backstage/plugin-app-react@npm:^0.2.5, @backstage/plugin-app-react@npm:^0.2.6": +"@backstage/plugin-app-react@backstage:^::backstage=1.54.6&npm=0.2.6, @backstage/plugin-app-react@npm:^0.2.6": version: 0.2.6 resolution: "@backstage/plugin-app-react@npm:0.2.6" dependencies: @@ -2947,7 +2947,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-app-visualizer@backstage:^::backstage=1.53.2&npm=0.2.6, @backstage/plugin-app-visualizer@npm:^0.2.6": +"@backstage/plugin-app-visualizer@backstage:^::backstage=1.54.6&npm=0.2.7, @backstage/plugin-app-visualizer@npm:^0.2.7": version: 0.2.7 resolution: "@backstage/plugin-app-visualizer@npm:0.2.7" dependencies: @@ -3038,7 +3038,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-github-provider@backstage:^::backstage=1.53.2&npm=0.5.5, @backstage/plugin-auth-backend-module-github-provider@npm:^0.5.5": +"@backstage/plugin-auth-backend-module-github-provider@backstage:^::backstage=1.54.6&npm=0.5.6, @backstage/plugin-auth-backend-module-github-provider@npm:^0.5.6": version: 0.5.6 resolution: "@backstage/plugin-auth-backend-module-github-provider@npm:0.5.6" dependencies: @@ -3050,7 +3050,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-google-provider@backstage:^::backstage=1.53.2&npm=0.3.17, @backstage/plugin-auth-backend-module-google-provider@npm:^0.3.17": +"@backstage/plugin-auth-backend-module-google-provider@backstage:^::backstage=1.54.6&npm=0.3.18, @backstage/plugin-auth-backend-module-google-provider@npm:^0.3.18": version: 0.3.18 resolution: "@backstage/plugin-auth-backend-module-google-provider@npm:0.3.18" dependencies: @@ -3063,7 +3063,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-guest-provider@backstage:^::backstage=1.53.2&npm=0.2.21, @backstage/plugin-auth-backend-module-guest-provider@npm:^0.2.21": +"@backstage/plugin-auth-backend-module-guest-provider@backstage:^::backstage=1.54.6&npm=0.2.22, @backstage/plugin-auth-backend-module-guest-provider@npm:^0.2.22": version: 0.2.22 resolution: "@backstage/plugin-auth-backend-module-guest-provider@npm:0.2.22" dependencies: @@ -3076,16 +3076,16 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth-backend@backstage:^::backstage=1.53.2&npm=0.29.2, @backstage/plugin-auth-backend@npm:^0.29.2": - version: 0.29.2 - resolution: "@backstage/plugin-auth-backend@npm:0.29.2" +"@backstage/plugin-auth-backend@backstage:^::backstage=1.54.6&npm=0.30.0, @backstage/plugin-auth-backend@npm:^0.30.0": + version: 0.30.0 + resolution: "@backstage/plugin-auth-backend@npm:0.30.0" dependencies: - "@backstage/backend-plugin-api": "npm:^1.9.3" - "@backstage/catalog-model": "npm:^1.9.0" + "@backstage/backend-plugin-api": "npm:^1.10.0" + "@backstage/catalog-model": "npm:^1.10.0" "@backstage/config": "npm:^1.3.8" "@backstage/errors": "npm:^1.3.1" - "@backstage/plugin-auth-node": "npm:^0.7.3" - "@backstage/plugin-catalog-node": "npm:^2.2.3" + "@backstage/plugin-auth-node": "npm:^0.7.4" + "@backstage/plugin-catalog-node": "npm:^2.2.4" "@backstage/types": "npm:^1.2.2" "@google-cloud/firestore": "npm:^7.0.0" connect-session-knex: "npm:^4.0.0" @@ -3103,11 +3103,11 @@ __metadata: passport: "npm:^0.7.0" zod: "npm:^3.25.76 || ^4.0.0" zod-validation-error: "npm:^5.0.0" - checksum: 10c0/6940ee61bb051d66285a2f7b15861e5e50d6ba50e93fd98f2517d3ba11a1800178f5f4064526eb9602e51f790137f305c29a94ad3685513a25c7018e18bbca95 + checksum: 10c0/0f6f17583ef7bd688db15b2a1b39245e99be976039651d57dd40d530fb3a93a130b6356f20054ce1c7a7c2870fd2c9a94ebf08acf9e71108efe4bd0f1187738c languageName: node linkType: hard -"@backstage/plugin-auth-node@backstage:^::backstage=1.53.2&npm=0.7.3, @backstage/plugin-auth-node@npm:^0.7.3, @backstage/plugin-auth-node@npm:^0.7.4": +"@backstage/plugin-auth-node@backstage:^::backstage=1.54.6&npm=0.7.4, @backstage/plugin-auth-node@npm:^0.7.4": version: 0.7.4 resolution: "@backstage/plugin-auth-node@npm:0.7.4" dependencies: @@ -3151,7 +3151,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth@backstage:^::backstage=1.53.2&npm=0.1.10, @backstage/plugin-auth@npm:^0.1.10": +"@backstage/plugin-auth@backstage:^::backstage=1.54.6&npm=0.1.11, @backstage/plugin-auth@npm:^0.1.11": version: 0.1.11 resolution: "@backstage/plugin-auth@npm:0.1.11" dependencies: @@ -3173,7 +3173,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-github@backstage:^::backstage=1.53.2&npm=0.13.4, @backstage/plugin-catalog-backend-module-github@npm:^0.13.4": +"@backstage/plugin-catalog-backend-module-github@backstage:^::backstage=1.54.6&npm=0.13.5, @backstage/plugin-catalog-backend-module-github@npm:^0.13.5": version: 0.13.5 resolution: "@backstage/plugin-catalog-backend-module-github@npm:0.13.5" dependencies: @@ -3201,7 +3201,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-logs@backstage:^::backstage=1.53.2&npm=0.1.24, @backstage/plugin-catalog-backend-module-logs@npm:^0.1.24": +"@backstage/plugin-catalog-backend-module-logs@backstage:^::backstage=1.54.6&npm=0.1.25, @backstage/plugin-catalog-backend-module-logs@npm:^0.1.25": version: 0.1.25 resolution: "@backstage/plugin-catalog-backend-module-logs@npm:0.1.25" dependencies: @@ -3212,7 +3212,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@backstage:^::backstage=1.53.2&npm=0.2.22, @backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:^0.2.22": +"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@backstage:^::backstage=1.54.6&npm=0.2.23, @backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:^0.2.23": version: 0.2.23 resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.23" dependencies: @@ -3225,7 +3225,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-unprocessed@backstage:^::backstage=1.53.2&npm=0.6.14, @backstage/plugin-catalog-backend-module-unprocessed@npm:^0.6.14": +"@backstage/plugin-catalog-backend-module-unprocessed@backstage:^::backstage=1.54.6&npm=0.6.15, @backstage/plugin-catalog-backend-module-unprocessed@npm:^0.6.15": version: 0.6.15 resolution: "@backstage/plugin-catalog-backend-module-unprocessed@npm:0.6.15" dependencies: @@ -3242,7 +3242,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-backend@backstage:^::backstage=1.53.2&npm=3.8.2, @backstage/plugin-catalog-backend@npm:^3.8.2, @backstage/plugin-catalog-backend@npm:^3.9.0": +"@backstage/plugin-catalog-backend@backstage:^::backstage=1.54.6&npm=3.9.1, @backstage/plugin-catalog-backend@npm:^3.9.0, @backstage/plugin-catalog-backend@npm:^3.9.1": version: 3.9.1 resolution: "@backstage/plugin-catalog-backend@npm:3.9.1" dependencies: @@ -3295,7 +3295,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-graph@backstage:^::backstage=1.53.2&npm=0.6.6, @backstage/plugin-catalog-graph@npm:^0.6.6": +"@backstage/plugin-catalog-graph@backstage:^::backstage=1.54.6&npm=0.6.7, @backstage/plugin-catalog-graph@npm:^0.6.7": version: 0.6.7 resolution: "@backstage/plugin-catalog-graph@npm:0.6.7" dependencies: @@ -3328,7 +3328,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-import@backstage:^::backstage=1.53.2&npm=0.13.15, @backstage/plugin-catalog-import@npm:^0.13.15": +"@backstage/plugin-catalog-import@backstage:^::backstage=1.54.6&npm=0.13.17, @backstage/plugin-catalog-import@npm:^0.13.17": version: 0.13.17 resolution: "@backstage/plugin-catalog-import@npm:0.13.17" dependencies: @@ -3367,7 +3367,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-node@backstage:^::backstage=1.53.2&npm=2.2.3, @backstage/plugin-catalog-node@npm:^2.2.3, @backstage/plugin-catalog-node@npm:^2.2.4": +"@backstage/plugin-catalog-node@backstage:^::backstage=1.54.6&npm=2.2.4, @backstage/plugin-catalog-node@npm:^2.2.4": version: 2.2.4 resolution: "@backstage/plugin-catalog-node@npm:2.2.4" dependencies: @@ -3391,7 +3391,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-react@backstage:^::backstage=1.53.2&npm=3.2.0, @backstage/plugin-catalog-react@npm:^3.2.0, @backstage/plugin-catalog-react@npm:^3.2.1, @backstage/plugin-catalog-react@npm:^3.2.2": +"@backstage/plugin-catalog-react@backstage:^::backstage=1.54.6&npm=3.2.2, @backstage/plugin-catalog-react@npm:^3.2.0, @backstage/plugin-catalog-react@npm:^3.2.1, @backstage/plugin-catalog-react@npm:^3.2.2": version: 3.2.2 resolution: "@backstage/plugin-catalog-react@npm:3.2.2" dependencies: @@ -3536,7 +3536,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog-unprocessed-entities@backstage:^::backstage=1.53.2&npm=0.2.33, @backstage/plugin-catalog-unprocessed-entities@npm:^0.2.33": +"@backstage/plugin-catalog-unprocessed-entities@backstage:^::backstage=1.54.6&npm=0.2.34, @backstage/plugin-catalog-unprocessed-entities@npm:^0.2.34": version: 0.2.34 resolution: "@backstage/plugin-catalog-unprocessed-entities@npm:0.2.34" dependencies: @@ -3562,7 +3562,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog@backstage:^::backstage=1.53.2&npm=2.0.7, @backstage/plugin-catalog@npm:^2.0.7, @backstage/plugin-catalog@npm:^2.0.8": +"@backstage/plugin-catalog@backstage:^::backstage=1.54.6&npm=2.0.8, @backstage/plugin-catalog@npm:^2.0.8": version: 2.0.8 resolution: "@backstage/plugin-catalog@npm:2.0.8" dependencies: @@ -3628,7 +3628,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-home-react@npm:^0.1.41": +"@backstage/plugin-home-react@backstage:^::backstage=1.54.6&npm=0.1.41, @backstage/plugin-home-react@npm:^0.1.41": version: 0.1.41 resolution: "@backstage/plugin-home-react@npm:0.1.41" dependencies: @@ -3651,7 +3651,47 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-mcp-actions-backend@backstage:^::backstage=1.53.2&npm=0.2.0, @backstage/plugin-mcp-actions-backend@npm:^0.2.0": +"@backstage/plugin-home@backstage:^::backstage=1.54.6&npm=0.9.9, @backstage/plugin-home@npm:^0.9.9": + version: 0.9.9 + resolution: "@backstage/plugin-home@npm:0.9.9" + dependencies: + "@backstage/catalog-client": "npm:^1.16.1" + "@backstage/catalog-model": "npm:^1.10.0" + "@backstage/config": "npm:^1.3.8" + "@backstage/core-app-api": "npm:^1.20.4" + "@backstage/core-compat-api": "npm:^0.5.14" + "@backstage/core-components": "npm:^0.18.13" + "@backstage/core-plugin-api": "npm:^1.12.9" + "@backstage/frontend-plugin-api": "npm:^0.18.0" + "@backstage/plugin-catalog-react": "npm:^3.2.1" + "@backstage/plugin-home-react": "npm:^0.1.41" + "@backstage/theme": "npm:^0.7.3" + "@material-ui/core": "npm:^4.12.2" + "@material-ui/icons": "npm:^4.9.1" + "@material-ui/lab": "npm:4.0.0-alpha.61" + "@rjsf/core": "npm:5.24.13" + "@rjsf/material-ui": "npm:5.24.13" + "@rjsf/utils": "npm:5.24.13" + "@rjsf/validator-ajv8": "npm:5.24.13" + lodash: "npm:^4.17.21" + luxon: "npm:^3.4.3" + react-grid-layout: "npm:1.3.4" + react-resizable: "npm:^3.0.4" + react-use: "npm:^17.2.4" + zod: "npm:^3.25.76 || ^4.0.0" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + react-router-dom: ^6.30.2 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/521490949dec0948a583a984476212527bf7c972aa43cea778f9482ed35b5ab8707fa669305d481e870f23189471dc4974f46f010097b1ada5b791d644bb93ef + languageName: node + linkType: hard + +"@backstage/plugin-mcp-actions-backend@backstage:^::backstage=1.54.6&npm=0.2.1, @backstage/plugin-mcp-actions-backend@npm:^0.2.1": version: 0.2.1 resolution: "@backstage/plugin-mcp-actions-backend@npm:0.2.1" dependencies: @@ -3671,7 +3711,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-notifications-backend@backstage:^::backstage=1.53.2&npm=0.6.7, @backstage/plugin-notifications-backend@npm:^0.6.7": +"@backstage/plugin-notifications-backend@backstage:^::backstage=1.54.6&npm=0.6.8, @backstage/plugin-notifications-backend@npm:^0.6.8": version: 0.6.8 resolution: "@backstage/plugin-notifications-backend@npm:0.6.8" dependencies: @@ -3713,7 +3753,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-notifications@backstage:^::backstage=1.53.2&npm=0.5.19, @backstage/plugin-notifications@npm:^0.5.19": +"@backstage/plugin-notifications@backstage:^::backstage=1.54.6&npm=0.5.20, @backstage/plugin-notifications@npm:^0.5.20": version: 0.5.20 resolution: "@backstage/plugin-notifications@npm:0.5.20" dependencies: @@ -3743,7 +3783,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-org@backstage:^::backstage=1.53.2&npm=0.7.6, @backstage/plugin-org@npm:^0.7.6": +"@backstage/plugin-org@backstage:^::backstage=1.54.6&npm=0.7.8, @backstage/plugin-org@npm:^0.7.8": version: 0.7.8 resolution: "@backstage/plugin-org@npm:0.7.8" dependencies: @@ -3776,7 +3816,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-backend-module-allow-all-policy@backstage:^::backstage=1.53.2&npm=0.2.21, @backstage/plugin-permission-backend-module-allow-all-policy@npm:^0.2.21": +"@backstage/plugin-permission-backend-module-allow-all-policy@backstage:^::backstage=1.54.6&npm=0.2.22, @backstage/plugin-permission-backend-module-allow-all-policy@npm:^0.2.22": version: 0.2.22 resolution: "@backstage/plugin-permission-backend-module-allow-all-policy@npm:0.2.22" dependencies: @@ -3788,7 +3828,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-backend@backstage:^::backstage=1.53.2&npm=0.7.14, @backstage/plugin-permission-backend@npm:^0.7.14": +"@backstage/plugin-permission-backend@backstage:^::backstage=1.54.6&npm=0.7.15, @backstage/plugin-permission-backend@npm:^0.7.15": version: 0.7.15 resolution: "@backstage/plugin-permission-backend@npm:0.7.15" dependencies: @@ -3807,7 +3847,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-common@backstage:^::backstage=1.53.2&npm=0.9.9, @backstage/plugin-permission-common@npm:^0.9.10": +"@backstage/plugin-permission-common@backstage:^::backstage=1.54.6&npm=0.9.10, @backstage/plugin-permission-common@npm:^0.9.10": version: 0.9.10 resolution: "@backstage/plugin-permission-common@npm:0.9.10" dependencies: @@ -3835,7 +3875,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-node@backstage:^::backstage=1.53.2&npm=0.11.2, @backstage/plugin-permission-node@npm:^0.11.2, @backstage/plugin-permission-node@npm:^0.11.3": +"@backstage/plugin-permission-node@backstage:^::backstage=1.54.6&npm=0.11.3, @backstage/plugin-permission-node@npm:^0.11.3": version: 0.11.3 resolution: "@backstage/plugin-permission-node@npm:0.11.3" dependencies: @@ -3914,7 +3954,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-proxy-backend@backstage:^::backstage=1.53.2&npm=0.6.15, @backstage/plugin-proxy-backend@npm:^0.6.15": +"@backstage/plugin-proxy-backend@backstage:^::backstage=1.54.6&npm=0.6.17, @backstage/plugin-proxy-backend@npm:^0.6.17": version: 0.6.17 resolution: "@backstage/plugin-proxy-backend@npm:0.6.17" dependencies: @@ -3937,7 +3977,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-github@backstage:^::backstage=1.53.2&npm=0.9.11, @backstage/plugin-scaffolder-backend-module-github@npm:^0.9.11": +"@backstage/plugin-scaffolder-backend-module-github@backstage:^::backstage=1.54.6&npm=0.9.13, @backstage/plugin-scaffolder-backend-module-github@npm:^0.9.13": version: 0.9.13 resolution: "@backstage/plugin-scaffolder-backend-module-github@npm:0.9.13" dependencies: @@ -3961,7 +4001,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-notifications@backstage:^::backstage=1.53.2&npm=0.1.24, @backstage/plugin-scaffolder-backend-module-notifications@npm:^0.1.24": +"@backstage/plugin-scaffolder-backend-module-notifications@backstage:^::backstage=1.54.6&npm=0.1.25, @backstage/plugin-scaffolder-backend-module-notifications@npm:^0.1.25": version: 0.1.25 resolution: "@backstage/plugin-scaffolder-backend-module-notifications@npm:0.1.25" dependencies: @@ -3974,7 +4014,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend@backstage:^::backstage=1.53.2&npm=4.0.3, @backstage/plugin-scaffolder-backend@npm:^4.0.3": +"@backstage/plugin-scaffolder-backend@backstage:^::backstage=1.54.6&npm=4.1.0, @backstage/plugin-scaffolder-backend@npm:^4.1.0": version: 4.1.0 resolution: "@backstage/plugin-scaffolder-backend@npm:4.1.0" dependencies: @@ -4033,7 +4073,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-node-test-utils@backstage:^::backstage=1.53.2&npm=0.3.13, @backstage/plugin-scaffolder-node-test-utils@npm:^0.3.13": +"@backstage/plugin-scaffolder-node-test-utils@backstage:^::backstage=1.54.6&npm=0.3.14, @backstage/plugin-scaffolder-node-test-utils@npm:^0.3.14": version: 0.3.14 resolution: "@backstage/plugin-scaffolder-node-test-utils@npm:0.3.14" dependencies: @@ -4055,7 +4095,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-node@backstage:^::backstage=1.53.2&npm=0.13.5, @backstage/plugin-scaffolder-node@npm:^0.13.5, @backstage/plugin-scaffolder-node@npm:^0.13.6": +"@backstage/plugin-scaffolder-node@backstage:^::backstage=1.54.6&npm=0.13.6, @backstage/plugin-scaffolder-node@npm:^0.13.6": version: 0.13.6 resolution: "@backstage/plugin-scaffolder-node@npm:0.13.6" dependencies: @@ -4089,7 +4129,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder-react@backstage:^::backstage=1.53.2&npm=2.0.2, @backstage/plugin-scaffolder-react@npm:^2.0.2, @backstage/plugin-scaffolder-react@npm:^2.0.3": +"@backstage/plugin-scaffolder-react@backstage:^::backstage=1.54.6&npm=2.0.3, @backstage/plugin-scaffolder-react@npm:^2.0.3": version: 2.0.3 resolution: "@backstage/plugin-scaffolder-react@npm:2.0.3" dependencies: @@ -4147,7 +4187,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-scaffolder@backstage:^::backstage=1.53.2&npm=1.38.1, @backstage/plugin-scaffolder@npm:^1.38.1": +"@backstage/plugin-scaffolder@backstage:^::backstage=1.54.6&npm=1.38.2, @backstage/plugin-scaffolder@npm:^1.38.2": version: 1.38.2 resolution: "@backstage/plugin-scaffolder@npm:1.38.2" dependencies: @@ -4211,7 +4251,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search-backend-module-catalog@backstage:^::backstage=1.53.2&npm=0.3.17, @backstage/plugin-search-backend-module-catalog@npm:^0.3.17": +"@backstage/plugin-search-backend-module-catalog@backstage:^::backstage=1.54.6&npm=0.3.18, @backstage/plugin-search-backend-module-catalog@npm:^0.3.18": version: 0.3.18 resolution: "@backstage/plugin-search-backend-module-catalog@npm:0.3.18" dependencies: @@ -4229,7 +4269,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search-backend-module-pg@backstage:^::backstage=1.53.2&npm=0.5.57, @backstage/plugin-search-backend-module-pg@npm:^0.5.57": +"@backstage/plugin-search-backend-module-pg@backstage:^::backstage=1.54.6&npm=0.5.58, @backstage/plugin-search-backend-module-pg@npm:^0.5.58": version: 0.5.58 resolution: "@backstage/plugin-search-backend-module-pg@npm:0.5.58" dependencies: @@ -4243,7 +4283,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search-backend-module-techdocs@backstage:^::backstage=1.53.2&npm=0.4.16, @backstage/plugin-search-backend-module-techdocs@npm:^0.4.16": +"@backstage/plugin-search-backend-module-techdocs@backstage:^::backstage=1.54.6&npm=0.4.17, @backstage/plugin-search-backend-module-techdocs@npm:^0.4.17": version: 0.4.17 resolution: "@backstage/plugin-search-backend-module-techdocs@npm:0.4.17" dependencies: @@ -4263,7 +4303,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search-backend-node@backstage:^::backstage=1.53.2&npm=1.4.6, @backstage/plugin-search-backend-node@npm:^1.4.6, @backstage/plugin-search-backend-node@npm:^1.4.7": +"@backstage/plugin-search-backend-node@backstage:^::backstage=1.54.6&npm=1.4.7, @backstage/plugin-search-backend-node@npm:^1.4.7": version: 1.4.7 resolution: "@backstage/plugin-search-backend-node@npm:1.4.7" dependencies: @@ -4280,7 +4320,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search-backend@backstage:^::backstage=1.53.2&npm=2.1.4, @backstage/plugin-search-backend@npm:^2.1.4": +"@backstage/plugin-search-backend@backstage:^::backstage=1.54.6&npm=2.1.6, @backstage/plugin-search-backend@npm:^2.1.6": version: 2.1.6 resolution: "@backstage/plugin-search-backend@npm:2.1.6" dependencies: @@ -4342,7 +4382,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search@backstage:^::backstage=1.53.2&npm=1.7.6, @backstage/plugin-search@npm:^1.7.6": +"@backstage/plugin-search@backstage:^::backstage=1.54.6&npm=1.7.7, @backstage/plugin-search@npm:^1.7.7": version: 1.7.7 resolution: "@backstage/plugin-search@npm:1.7.7" dependencies: @@ -4374,7 +4414,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-signals-backend@backstage:^::backstage=1.53.2&npm=0.3.17, @backstage/plugin-signals-backend@npm:^0.3.17": +"@backstage/plugin-signals-backend@backstage:^::backstage=1.54.6&npm=0.3.18, @backstage/plugin-signals-backend@npm:^0.3.18": version: 0.3.18 resolution: "@backstage/plugin-signals-backend@npm:0.3.18" dependencies: @@ -4401,25 +4441,6 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-signals-react@npm:^0.0.24": - version: 0.0.24 - resolution: "@backstage/plugin-signals-react@npm:0.0.24" - dependencies: - "@backstage/core-plugin-api": "npm:^1.12.8" - "@backstage/types": "npm:^1.2.2" - "@material-ui/core": "npm:^4.12.4" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - react-router-dom: ^6.30.2 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/3f886d6dbf589dcb81fda31bc971d32ce4afb01fca78db7f2723ef9250823ca0ca6625b1373a9ee85fe71ffb8d48e9a708e494ecf8044a67d783f32e77e4c2ad - languageName: node - linkType: hard - "@backstage/plugin-signals-react@npm:^0.0.25": version: 0.0.25 resolution: "@backstage/plugin-signals-react@npm:0.0.25" @@ -4439,14 +4460,14 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-signals@backstage:^::backstage=1.53.2&npm=0.0.33, @backstage/plugin-signals@npm:^0.0.33": - version: 0.0.33 - resolution: "@backstage/plugin-signals@npm:0.0.33" +"@backstage/plugin-signals@backstage:^::backstage=1.54.6&npm=0.0.34, @backstage/plugin-signals@npm:^0.0.34": + version: 0.0.34 + resolution: "@backstage/plugin-signals@npm:0.0.34" dependencies: - "@backstage/core-components": "npm:^0.18.12" - "@backstage/core-plugin-api": "npm:^1.12.8" - "@backstage/frontend-plugin-api": "npm:^0.17.3" - "@backstage/plugin-signals-react": "npm:^0.0.24" + "@backstage/core-components": "npm:^0.18.13" + "@backstage/core-plugin-api": "npm:^1.12.9" + "@backstage/frontend-plugin-api": "npm:^0.18.0" + "@backstage/plugin-signals-react": "npm:^0.0.25" "@backstage/theme": "npm:^0.7.3" "@backstage/types": "npm:^1.2.2" "@material-ui/core": "npm:^4.12.4" @@ -4459,11 +4480,11 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/2656bd5ebdc83dfeb2b7333a12c698f17292036aea281ffe2b49f5df347c59fdeee577406ae0d8047379ba3f660787e941bbf7f831ee656c4770aa1c130a8a02 + checksum: 10c0/2ad118a39da0c4bfbf770c556de98bb7ccbf6c66f2f6ad3d7ccec77661044d703eba56212bfbefcc6dfbff773bb87853db8f63f8bcb6d1f7464aa121c0c2ab8f languageName: node linkType: hard -"@backstage/plugin-techdocs-backend@backstage:^::backstage=1.53.2&npm=2.2.2, @backstage/plugin-techdocs-backend@npm:^2.2.2": +"@backstage/plugin-techdocs-backend@backstage:^::backstage=1.54.6&npm=2.2.4, @backstage/plugin-techdocs-backend@npm:^2.2.4": version: 2.2.4 resolution: "@backstage/plugin-techdocs-backend@npm:2.2.4" dependencies: @@ -4493,7 +4514,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-techdocs-module-addons-contrib@backstage:^::backstage=1.53.2&npm=1.1.38, @backstage/plugin-techdocs-module-addons-contrib@npm:^1.1.38": +"@backstage/plugin-techdocs-module-addons-contrib@backstage:^::backstage=1.54.6&npm=1.1.39, @backstage/plugin-techdocs-module-addons-contrib@npm:^1.1.39": version: 1.1.39 resolution: "@backstage/plugin-techdocs-module-addons-contrib@npm:1.1.39" dependencies: @@ -4557,7 +4578,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-techdocs-react@backstage:^::backstage=1.53.2&npm=1.3.13, @backstage/plugin-techdocs-react@npm:^1.3.13, @backstage/plugin-techdocs-react@npm:^1.3.14": +"@backstage/plugin-techdocs-react@backstage:^::backstage=1.54.6&npm=1.3.14, @backstage/plugin-techdocs-react@npm:^1.3.14": version: 1.3.14 resolution: "@backstage/plugin-techdocs-react@npm:1.3.14" dependencies: @@ -4585,7 +4606,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-techdocs@backstage:^::backstage=1.53.2&npm=1.17.8, @backstage/plugin-techdocs@npm:^1.17.8": +"@backstage/plugin-techdocs@backstage:^::backstage=1.54.6&npm=1.18.0, @backstage/plugin-techdocs@npm:^1.18.0": version: 1.18.0 resolution: "@backstage/plugin-techdocs@npm:1.18.0" dependencies: @@ -4630,7 +4651,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-user-settings-backend@backstage:^::backstage=1.53.2&npm=0.4.5, @backstage/plugin-user-settings-backend@npm:^0.4.5": +"@backstage/plugin-user-settings-backend@backstage:^::backstage=1.54.6&npm=0.4.6, @backstage/plugin-user-settings-backend@npm:^0.4.6": version: 0.4.6 resolution: "@backstage/plugin-user-settings-backend@npm:0.4.6" dependencies: @@ -4658,7 +4679,7 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-user-settings@backstage:^::backstage=1.53.2&npm=0.9.5, @backstage/plugin-user-settings@npm:^0.9.5, @backstage/plugin-user-settings@npm:^0.9.6": +"@backstage/plugin-user-settings@backstage:^::backstage=1.54.6&npm=0.9.6, @backstage/plugin-user-settings@npm:^0.9.6": version: 0.9.6 resolution: "@backstage/plugin-user-settings@npm:0.9.6" dependencies: @@ -4699,7 +4720,7 @@ __metadata: languageName: node linkType: hard -"@backstage/test-utils@backstage:^::backstage=1.53.2&npm=1.7.20, @backstage/test-utils@npm:^1.7.20, @backstage/test-utils@npm:^1.7.21": +"@backstage/test-utils@backstage:^::backstage=1.54.6&npm=1.7.21, @backstage/test-utils@npm:^1.7.21": version: 1.7.21 resolution: "@backstage/test-utils@npm:1.7.21" dependencies: @@ -4763,7 +4784,7 @@ __metadata: languageName: node linkType: hard -"@backstage/theme@backstage:^::backstage=1.53.2&npm=0.7.3, @backstage/theme@npm:^0.7.0, @backstage/theme@npm:^0.7.1, @backstage/theme@npm:^0.7.3": +"@backstage/theme@backstage:^::backstage=1.54.6&npm=0.7.3, @backstage/theme@npm:^0.7.0, @backstage/theme@npm:^0.7.1, @backstage/theme@npm:^0.7.3": version: 0.7.3 resolution: "@backstage/theme@npm:0.7.3" dependencies: @@ -4783,14 +4804,14 @@ __metadata: languageName: node linkType: hard -"@backstage/types@backstage:^::backstage=1.53.2&npm=1.2.2, @backstage/types@npm:^1.2.2": +"@backstage/types@backstage:^::backstage=1.54.6&npm=1.2.2, @backstage/types@npm:^1.2.2": version: 1.2.2 resolution: "@backstage/types@npm:1.2.2" checksum: 10c0/3c947cf83c058a56b0cfd90d91483e9a5c1c913f7978a0d5a3c0fd9b502d08e9bdf279afba626826eee84159e698ee4cdaa70040789ac47fc8a25df9f1925612 languageName: node linkType: hard -"@backstage/ui@backstage:^::backstage=1.53.2&npm=0.17.0, @backstage/ui@npm:^0.17.0, @backstage/ui@npm:^0.17.1": +"@backstage/ui@backstage:^::backstage=1.54.6&npm=0.17.1, @backstage/ui@npm:^0.17.0, @backstage/ui@npm:^0.17.1": version: 0.17.1 resolution: "@backstage/ui@npm:0.17.1" dependencies: @@ -13299,6 +13320,8 @@ __metadata: "@backstage/plugin-catalog-graph": "backstage:^" "@backstage/plugin-catalog-import": "backstage:^" "@backstage/plugin-catalog-unprocessed-entities": "backstage:^" + "@backstage/plugin-home": "backstage:^" + "@backstage/plugin-home-react": "backstage:^" "@backstage/plugin-notifications": "backstage:^" "@backstage/plugin-org": "backstage:^" "@backstage/plugin-scaffolder": "backstage:^" @@ -15026,7 +15049,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.0.2, clsx@npm:^1.0.4, clsx@npm:^1.1.0, clsx@npm:^1.2.1": +"clsx@npm:^1.0.2, clsx@npm:^1.0.4, clsx@npm:^1.1.0, clsx@npm:^1.1.1, clsx@npm:^1.2.1": version: 1.2.1 resolution: "clsx@npm:1.2.1" checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 @@ -22696,6 +22719,13 @@ __metadata: languageName: node linkType: hard +"lodash.isequal@npm:^4.0.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f + languageName: node + linkType: hard + "lodash.isinteger@npm:^4.0.4": version: 4.0.4 resolution: "lodash.isinteger@npm:4.0.4" @@ -22912,7 +22942,7 @@ __metadata: languageName: node linkType: hard -"luxon@npm:^3.0.0, luxon@npm:^3.2.1, luxon@npm:^3.5.0": +"luxon@npm:^3.0.0, luxon@npm:^3.2.1, luxon@npm:^3.4.3, luxon@npm:^3.5.0": version: 3.7.2 resolution: "luxon@npm:3.7.2" checksum: 10c0/ed8f0f637826c08c343a29dd478b00628be93bba6f068417b1d8896b61cb61c6deacbe1df1e057dbd9298334044afa150f9aaabbeb3181418ac8520acfdc2ae2 @@ -27163,6 +27193,19 @@ __metadata: languageName: node linkType: hard +"react-draggable@npm:^4.0.0": + version: 4.7.1 + resolution: "react-draggable@npm:4.7.1" + dependencies: + clsx: "npm:^2.1.1" + prop-types: "npm:^15.8.1" + peerDependencies: + react: ">= 16.3.0" + react-dom: ">= 16.3.0" + checksum: 10c0/1ab282a51794bb62b09b2b781805adfc9b86f2b92266b23b28de03a45c54d38d99d522395e0b592430451def488c54313880a036367818344bd087592f2a9a32 + languageName: node + linkType: hard + "react-draggable@npm:^4.5.0": version: 4.7.0 resolution: "react-draggable@npm:4.7.0" @@ -27212,6 +27255,22 @@ __metadata: languageName: node linkType: hard +"react-grid-layout@npm:1.3.4": + version: 1.3.4 + resolution: "react-grid-layout@npm:1.3.4" + dependencies: + clsx: "npm:^1.1.1" + lodash.isequal: "npm:^4.0.0" + prop-types: "npm:^15.8.1" + react-draggable: "npm:^4.0.0" + react-resizable: "npm:^3.0.4" + peerDependencies: + react: ">= 16.3.0" + react-dom: ">= 16.3.0" + checksum: 10c0/2c4a9ca1284cf6a618070aeccf8ffb8d2d91798452f7606395a4524bda27fad82ba9c818cb3e420d617fec8aed93c0caaae060c714d21a929c6f5c75727697b7 + languageName: node + linkType: hard + "react-helmet@npm:6.1.0": version: 6.1.0 resolution: "react-helmet@npm:6.1.0" @@ -27431,7 +27490,7 @@ __metadata: languageName: node linkType: hard -"react-resizable@npm:^3.0.5": +"react-resizable@npm:^3.0.4, react-resizable@npm:^3.0.5": version: 3.2.0 resolution: "react-resizable@npm:3.2.0" dependencies: