diff --git a/.rhdh/docker/Dockerfile b/.rhdh/docker/Dockerfile
index 893f62fd47..0506879725 100644
--- a/.rhdh/docker/Dockerfile
+++ b/.rhdh/docker/Dockerfile
@@ -78,6 +78,7 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-back
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json
+COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json ./dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json ./dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json ./dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json
diff --git a/app-config.dynamic-plugins.yaml b/app-config.dynamic-plugins.yaml
index 555ac814fb..3190a8cc32 100644
--- a/app-config.dynamic-plugins.yaml
+++ b/app-config.dynamic-plugins.yaml
@@ -258,6 +258,17 @@ dynamicPlugins:
config:
layout:
position: above-main-content
+ red-hat-developer-hub.backstage-plugin-global-floating-action-button:
+ mountPoints:
+ - mountPoint: application/listener
+ importName: DynamicGlobalFloatingActionButton
+ - mountPoint: global.floatingactionbutton/component
+ importName: NullComponent
+ config:
+ icon: github
+ label: 'Git'
+ toolTip: 'Github'
+ to: https://github.com/redhat-developer/rhdh
red-hat-developer-hub.backstage-plugin-dynamic-home-page:
dynamicRoutes:
- path: /
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 67c4f898d6..4cd8444b01 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -79,6 +79,7 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-back
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json
+COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json ./dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json ./dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json ./dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json ./dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json
diff --git a/docs/dynamic-plugins/frontend-plugin-wiring.md b/docs/dynamic-plugins/frontend-plugin-wiring.md
index 90e587a97d..d72045e306 100644
--- a/docs/dynamic-plugins/frontend-plugin-wiring.md
+++ b/docs/dynamic-plugins/frontend-plugin-wiring.md
@@ -454,6 +454,38 @@ Here are the default catalog entity routes in the default order:
The visibility of a tab is derived from the kind of entity that is being displayed along with the visibility guidance mentioned in "[Using mount points](#using-mount-points)".
+## Adding application listeners
+
+The users can add application listeners using the `application/listener` mount point. Below is an example that uses the aforesaid mount point to configure a floating action button:
+
+```yaml
+# app-config.yaml
+dynamicPlugins:
+ frontend:
+ red-hat-developer-hub.backstage-plugin-global-floating-action-button: # plugin_package_name same as `scalprum.name` key in plugin's `package.json`
+ mountPoints:
+ - mountPoint: application/listener # mount point for adding a listener
+ importName: DynamicGlobalFloatingActionButton # add your listener component here
+```
+
+Users can configure multiple application listeners by adding entries to the `mountPoints` field.
+
+## Adding application providers
+
+The users can add application providers using the `application/provider` mount point. Below is an example that uses the aforesaid mount point to configure a context provider:
+
+```yaml
+# app-config.yaml
+dynamicPlugins:
+ frontend:
+ red-hat-developer-hub.backstage-plugin-test-plugin: # plugin_package_name same as `scalprum.name` key in plugin's `package.json`
+ mountPoints:
+ - mountPoint: application/provider # mount point for adding a provider
+ importName: ProviderComponent # add your provider component here
+```
+
+Users can configure multiple application providers by adding entries to the `mountPoints` field.
+
## Provide additional Utility APIs
Backstage offers a Utility API mechanism that provide ways for plugins to communicate during their entire life cycle. Utility APIs are registered as:
diff --git a/dynamic-plugins.default.yaml b/dynamic-plugins.default.yaml
index d78902cdbd..ea051427a2 100644
--- a/dynamic-plugins.default.yaml
+++ b/dynamic-plugins.default.yaml
@@ -536,6 +536,24 @@ plugins:
layout:
position: above-main-content
+ # Group: Global floating action button
+ - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button
+ disabled: true
+ pluginConfig:
+ dynamicPlugins:
+ frontend:
+ red-hat-developer-hub.backstage-plugin-global-floating-action-button:
+ mountPoints:
+ - mountPoint: application/context
+ importName: DynamicGlobalFloatingActionButton
+ - mountPoint: global.floatingactionbutton/component
+ importName: NullComponent
+ config:
+ icon: github
+ label: 'Git'
+ toolTip: 'Github'
+ to: https://github.com/redhat-developer/rhdh
+
# Homepage
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page
disabled: false
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
index bc11757d15..7e8e437ff6 100644
--- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json
@@ -12,7 +12,7 @@
"backstage": {
"role": "frontend-plugin",
"supported-versions": "1.35.0",
- "pluginId": "red-hat-developer-hub-backstage-plugin-bulk-import-backend",
+ "pluginId": "red-hat-developer-hub-backstage-plugin-bulk-import",
"pluginPackages": [
"red-hat-developer-hub-backstage-plugin-bulk-import",
"red-hat-developer-hub-backstage-plugin-bulk-import-backend"
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintignore b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintignore
new file mode 100644
index 0000000000..55289f4a23
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintignore
@@ -0,0 +1,2 @@
+dist-dynamic
+dist-scalprum
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintrc.js b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintrc.js
new file mode 100644
index 0000000000..958d722cb2
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/.eslintrc.js
@@ -0,0 +1 @@
+module.exports = require("@backstage/cli/config/eslint-factory")(__dirname);
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json
new file mode 100644
index 0000000000..a316d91d8b
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "red-hat-developer-hub-backstage-plugin-global-floating-action-button",
+ "version": "0.0.3",
+ "main": "src/index.ts",
+ "types": "src/index.ts",
+ "license": "Apache-2.0",
+ "publishConfig": {
+ "access": "public",
+ "main": "dist/index.esm.js",
+ "types": "dist/index.d.ts"
+ },
+ "backstage": {
+ "role": "frontend-plugin",
+ "supported-versions": "1.32.5",
+ "pluginId": "red-hat-developer-hub-backstage-plugin-global-floating-action-button",
+ "pluginPackages": [
+ "red-hat-developer-hub-backstage-plugin-global-floating-action-button"
+ ]
+ },
+ "sideEffects": false,
+ "scripts": {
+ "tsc": "tsc",
+ "build": "backstage-cli package build",
+ "lint:check": "backstage-cli package lint",
+ "test": "backstage-cli package test --passWithNoTests --coverage",
+ "clean": "backstage-cli package clean",
+ "export-dynamic": "janus-cli package export-dynamic-plugin --in-place",
+ "export-dynamic:clean": "run export-dynamic --clean"
+ },
+ "dependencies": {
+ "@mui/material": "5.16.13",
+ "@red-hat-developer-hub/backstage-plugin-global-floating-action-button": "0.0.3"
+ },
+ "devDependencies": {
+ "@backstage/cli": "0.28.2",
+ "@janus-idp/cli": "1.18.5",
+ "typescript": "5.6.3"
+ },
+ "scalprum": {
+ "name": "red-hat-developer-hub.backstage-plugin-global-floating-action-button",
+ "exposedModules": {
+ "PluginRoot": "./src/index.ts"
+ }
+ },
+ "files": [
+ "dist",
+ "dist-scalprum",
+ "app-config.yaml"
+ ],
+ "keywords": [
+ "backstage",
+ "plugin"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/redhat-developer/rhdh",
+ "directory": "dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button"
+ },
+ "author": "Red Hat",
+ "homepage": "https://red.ht/rhdh",
+ "bugs": "https://issues.redhat.com/browse/RHIDP"
+}
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/src/index.ts b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/src/index.ts
new file mode 100644
index 0000000000..666086b6a3
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/src/index.ts
@@ -0,0 +1,9 @@
+import { unstable_ClassNameGenerator as ClassNameGenerator } from "@mui/material/className";
+
+ClassNameGenerator.configure((componentName) => {
+ return componentName.startsWith("v5-")
+ ? componentName
+ : `v5-${componentName}`;
+});
+
+export * from "@red-hat-developer-hub/backstage-plugin-global-floating-action-button";
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/tsconfig.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/tsconfig.json
new file mode 100644
index 0000000000..f0bce1818c
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "@backstage/cli/config/tsconfig.json",
+ "include": ["src", "dev", "migrations"],
+ "exclude": ["node_modules"],
+ "compilerOptions": {
+ "outDir": "../../../dist-types/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button",
+ "rootDir": "."
+ }
+ }
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/turbo.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/turbo.json
new file mode 100644
index 0000000000..aa7f36d875
--- /dev/null
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/turbo.json
@@ -0,0 +1,10 @@
+{
+ "extends": ["//"],
+ "tasks": {
+ "tsc": {
+ "outputs": [
+ "../../../dist-types/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button/**"
+ ]
+ }
+ }
+ }
diff --git a/packages/app/src/components/AppBase/AppBase.tsx b/packages/app/src/components/AppBase/AppBase.tsx
index 62ea3365b0..3e0c525793 100644
--- a/packages/app/src/components/AppBase/AppBase.tsx
+++ b/packages/app/src/components/AppBase/AppBase.tsx
@@ -24,6 +24,8 @@ import { entityPage } from '../catalog/EntityPage';
import DynamicRootContext from '../DynamicRoot/DynamicRootContext';
import { LearningPaths } from '../learningPaths/LearningPathsPage';
import { Root } from '../Root';
+import { ApplicationListener } from '../Root/ApplicationListener';
+import { ApplicationProvider } from '../Root/ApplicationProvider';
import ConfigUpdater from '../Root/ConfigUpdater';
import { SearchPage } from '../search/SearchPage';
import { settingsPage } from '../UserSettings/SettingsPages';
@@ -74,66 +76,69 @@ const AppBase = () => {
+
-
-
- }
- />
- }
- >
- {entityPage(entityTabOverrides)}
-
-
- }
- >
-
- {scaffolderFieldExtensions.map(
- ({ scope, module, importName, Component }) => (
-
- ),
- )}
-
- scaffolderFieldExtensions
-
- } />
-
-
-
- }
- />
- }>
-
-
- }>
- {settingsPage}
-
- } />
- } />
- {dynamicRoutes.map(
- ({ Component, staticJSXContent, path, config: { props } }) => (
- }
- >
- {staticJSXContent}
-
- ),
- )}
-
+
+
+
+ }
+ />
+ }
+ >
+ {entityPage(entityTabOverrides)}
+
+
+ }
+ >
+
+ {scaffolderFieldExtensions.map(
+ ({ scope, module, importName, Component }) => (
+
+ ),
+ )}
+
+ scaffolderFieldExtensions
+
+ } />
+
+
+
+ }
+ />
+ }>
+
+
+ }>
+ {settingsPage}
+
+ } />
+ } />
+ {dynamicRoutes.map(
+ ({ Component, staticJSXContent, path, config: { props } }) => (
+ }
+ >
+ {staticJSXContent}
+
+ ),
+ )}
+
+
diff --git a/packages/app/src/components/Root/ApplicationListener.tsx b/packages/app/src/components/Root/ApplicationListener.tsx
new file mode 100644
index 0000000000..94199a2f09
--- /dev/null
+++ b/packages/app/src/components/Root/ApplicationListener.tsx
@@ -0,0 +1,20 @@
+import { useContext } from 'react';
+
+import { ErrorBoundary } from '@backstage/core-components';
+
+import DynamicRootContext from '../DynamicRoot/DynamicRootContext';
+
+export const ApplicationListener = () => {
+ const { mountPoints } = useContext(DynamicRootContext);
+ const listeners = mountPoints['application/listener'] ?? [];
+ return listeners.map(({ Component }, index) => {
+ return (
+
+
+
+ );
+ });
+};
diff --git a/packages/app/src/components/Root/ApplicationProvider.tsx b/packages/app/src/components/Root/ApplicationProvider.tsx
new file mode 100644
index 0000000000..a0b3457a46
--- /dev/null
+++ b/packages/app/src/components/Root/ApplicationProvider.tsx
@@ -0,0 +1,25 @@
+import { useContext } from 'react';
+
+import { ErrorBoundary } from '@backstage/core-components';
+
+import DynamicRootContext from '../DynamicRoot/DynamicRootContext';
+
+export const ApplicationProvider = ({
+ children,
+}: React.PropsWithChildren<{}>) => {
+ const { mountPoints } = useContext(DynamicRootContext);
+ const providers = mountPoints['application/provider'] ?? [];
+ if (providers.length === 0) {
+ return children;
+ }
+ return providers.map(({ Component }, index) => {
+ return (
+
+ {children}
+
+ );
+ });
+};
diff --git a/plugins/dynamic-plugins-info/src/components/InternalPluginsMap.ts b/plugins/dynamic-plugins-info/src/components/InternalPluginsMap.ts
index 01cf030d04..aedac496cc 100644
--- a/plugins/dynamic-plugins-info/src/components/InternalPluginsMap.ts
+++ b/plugins/dynamic-plugins-info/src/components/InternalPluginsMap.ts
@@ -65,6 +65,8 @@ export const InternalPluginsMap: Record = {
'./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import',
'red-hat-developer-hub-backstage-plugin-global-header':
'./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header',
+ 'red-hat-developer-hub-backstage-plugin-global-floating-action-button':
+ './dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button',
'red-hat-developer-hub-backstage-plugin-dynamic-home-page':
'./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page',
'red-hat-developer-hub-backstage-plugin-marketplace':
diff --git a/user.yaml b/user.yaml
new file mode 100644
index 0000000000..89694a5f3f
--- /dev/null
+++ b/user.yaml
@@ -0,0 +1,83 @@
+---
+# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-user
+apiVersion: backstage.io/v1alpha1
+kind: User
+metadata:
+ name: guest
+spec:
+ memberOf: [guests]
+---
+# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-group
+apiVersion: backstage.io/v1alpha1
+kind: Group
+metadata:
+ name: guests
+spec:
+ type: team
+ children: []
+---
+apiVersion: backstage.io/v1alpha1
+kind: User
+metadata:
+ # replace this with
+ name: debsmita1
+spec:
+ profile:
+ # replace this with
+ email: debsmita.santra@gmail.com
+ memberOf: [rhdh-ui-test, temp-team-a, temp-team-b]
+---
+apiVersion: backstage.io/v1alpha1
+kind: Group
+metadata:
+ name: rhdh-ui-test
+ description: The RHDH UI test group
+spec:
+ type: team
+ profile:
+ displayName: RHDH UI test
+ children: []
+ # replace member with on L23
+ members: [debsmita1]
+
+---
+# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-user
+apiVersion: backstage.io/v1alpha1
+kind: User
+metadata:
+ name: guest
+spec:
+ memberOf: [guests]
+---
+# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-group
+apiVersion: backstage.io/v1alpha1
+kind: Group
+metadata:
+ name: guests
+spec:
+ type: team
+ children: []
+---
+apiVersion: backstage.io/v1alpha1
+kind: User
+metadata:
+ # replace this with
+ name: debsmita1
+spec:
+ profile:
+ # replace this with
+ email: debsmita.santra@gmail.com
+ memberOf: [rhdh-ui-test, temp-team-a, temp-team-b]
+---
+apiVersion: backstage.io/v1alpha1
+kind: Group
+metadata:
+ name: rhdh-ui-test
+ description: The RHDH UI test group
+spec:
+ type: team
+ profile:
+ displayName: RHDH UI test
+ children: []
+ # replace member with on L23
+ members: [debsmita1]
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 423d7fefc0..bcf55f1305 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5139,6 +5139,158 @@ __metadata:
languageName: node
linkType: hard
+"@backstage/cli@npm:0.28.2":
+ version: 0.28.2
+ resolution: "@backstage/cli@npm:0.28.2"
+ dependencies:
+ "@backstage/catalog-model": ^1.7.0
+ "@backstage/cli-common": ^0.1.14
+ "@backstage/cli-node": ^0.2.9
+ "@backstage/config": ^1.2.0
+ "@backstage/config-loader": ^1.9.1
+ "@backstage/errors": ^1.2.4
+ "@backstage/eslint-plugin": ^0.1.10
+ "@backstage/integration": ^1.15.1
+ "@backstage/release-manifests": ^0.0.11
+ "@backstage/types": ^1.1.1
+ "@manypkg/get-packages": ^1.1.3
+ "@module-federation/enhanced": ^0.6.0
+ "@octokit/graphql": ^5.0.0
+ "@octokit/graphql-schema": ^13.7.0
+ "@octokit/oauth-app": ^4.2.0
+ "@octokit/request": ^6.0.0
+ "@pmmmwh/react-refresh-webpack-plugin": ^0.5.7
+ "@rollup/plugin-commonjs": ^26.0.0
+ "@rollup/plugin-json": ^6.0.0
+ "@rollup/plugin-node-resolve": ^15.0.0
+ "@rollup/plugin-yaml": ^4.0.0
+ "@spotify/eslint-config-base": ^15.0.0
+ "@spotify/eslint-config-react": ^15.0.0
+ "@spotify/eslint-config-typescript": ^15.0.0
+ "@sucrase/webpack-loader": ^2.0.0
+ "@svgr/core": 6.5.x
+ "@svgr/plugin-jsx": 6.5.x
+ "@svgr/plugin-svgo": 6.5.x
+ "@svgr/rollup": 6.5.x
+ "@svgr/webpack": 6.5.x
+ "@swc/core": ^1.3.46
+ "@swc/helpers": ^0.5.0
+ "@swc/jest": ^0.2.22
+ "@types/jest": ^29.5.11
+ "@types/webpack-env": ^1.15.2
+ "@typescript-eslint/eslint-plugin": ^6.12.0
+ "@typescript-eslint/parser": ^6.7.2
+ "@yarnpkg/lockfile": ^1.1.0
+ "@yarnpkg/parsers": ^3.0.0
+ bfj: ^8.0.0
+ buffer: ^6.0.3
+ chalk: ^4.0.0
+ chokidar: ^3.3.1
+ commander: ^12.0.0
+ cross-fetch: ^4.0.0
+ cross-spawn: ^7.0.3
+ css-loader: ^6.5.1
+ ctrlc-windows: ^2.1.0
+ esbuild: ^0.24.0
+ esbuild-loader: ^4.0.0
+ eslint: ^8.6.0
+ eslint-config-prettier: ^9.0.0
+ eslint-formatter-friendly: ^7.0.0
+ eslint-plugin-deprecation: ^2.0.0
+ eslint-plugin-import: ^2.25.4
+ eslint-plugin-jest: ^28.0.0
+ eslint-plugin-jsx-a11y: ^6.5.1
+ eslint-plugin-react: ^7.28.0
+ eslint-plugin-react-hooks: ^4.3.0
+ eslint-plugin-unused-imports: ^3.0.0
+ eslint-webpack-plugin: ^4.0.0
+ express: ^4.17.1
+ fork-ts-checker-webpack-plugin: ^9.0.0
+ fs-extra: ^11.2.0
+ git-url-parse: ^15.0.0
+ glob: ^7.1.7
+ global-agent: ^3.0.0
+ globby: ^11.1.0
+ handlebars: ^4.7.3
+ html-webpack-plugin: ^5.3.1
+ inquirer: ^8.2.0
+ jest: ^29.7.0
+ jest-cli: ^29.7.0
+ jest-css-modules: ^2.1.0
+ jest-environment-jsdom: ^29.0.2
+ jest-runtime: ^29.0.2
+ json-schema: ^0.4.0
+ lodash: ^4.17.21
+ mini-css-extract-plugin: ^2.4.2
+ minimatch: ^9.0.0
+ node-fetch: ^2.7.0
+ node-libs-browser: ^2.2.1
+ npm-packlist: ^5.0.0
+ ora: ^5.3.0
+ p-limit: ^3.1.0
+ p-queue: ^6.6.2
+ pirates: ^4.0.6
+ postcss: ^8.1.0
+ process: ^0.11.10
+ raw-loader: ^4.0.2
+ react-dev-utils: ^12.0.0-next.60
+ react-refresh: ^0.14.0
+ recursive-readdir: ^2.2.2
+ replace-in-file: ^7.1.0
+ rollup: ^4.0.0
+ rollup-plugin-dts: ^6.1.0
+ rollup-plugin-esbuild: ^6.1.1
+ rollup-plugin-postcss: ^4.0.0
+ rollup-pluginutils: ^2.8.2
+ run-script-webpack-plugin: ^0.2.0
+ semver: ^7.5.3
+ style-loader: ^3.3.1
+ sucrase: ^3.20.2
+ swc-loader: ^0.2.3
+ tar: ^6.1.12
+ terser-webpack-plugin: ^5.1.3
+ ts-morph: ^23.0.0
+ util: ^0.12.3
+ webpack: ^5.94.0
+ webpack-dev-server: ^5.0.0
+ webpack-node-externals: ^3.0.0
+ yaml: ^2.0.0
+ yargs: ^16.2.0
+ yml-loader: ^2.1.0
+ yn: ^4.0.0
+ zod: ^3.22.4
+ peerDependencies:
+ "@modyfi/vite-plugin-yaml": ^1.1.0
+ "@rspack/core": ^1.0.10
+ "@rspack/dev-server": ^1.0.9
+ "@rspack/plugin-react-refresh": ^1.0.0
+ "@vitejs/plugin-react": ^4.0.4
+ vite: ^4.4.9
+ vite-plugin-html: ^3.2.0
+ vite-plugin-node-polyfills: ^0.22.0
+ peerDependenciesMeta:
+ "@modyfi/vite-plugin-yaml":
+ optional: true
+ "@rspack/core":
+ optional: true
+ "@rspack/dev-server":
+ optional: true
+ "@rspack/plugin-react-refresh":
+ optional: true
+ "@vitejs/plugin-react":
+ optional: true
+ vite:
+ optional: true
+ vite-plugin-html:
+ optional: true
+ vite-plugin-node-polyfills:
+ optional: true
+ bin:
+ backstage-cli: bin/backstage-cli
+ checksum: 32e75a897a7a7b14df6ce43b66fdd5c9fb11b54b88fd3655257055536c77d38bf2d0c5fefbd44348f6250493673396c566eab695007f89d870757956ef659159
+ languageName: node
+ linkType: hard
+
"@backstage/cli@npm:0.29.5":
version: 0.29.5
resolution: "@backstage/cli@npm:0.29.5"
@@ -10833,6 +10985,79 @@ __metadata:
languageName: node
linkType: hard
+"@janus-idp/cli@npm:1.18.5":
+ version: 1.18.5
+ resolution: "@janus-idp/cli@npm:1.18.5"
+ dependencies:
+ "@backstage/cli-common": ^0.1.14
+ "@backstage/cli-node": ^0.2.9
+ "@backstage/config": ^1.2.0
+ "@backstage/config-loader": ^1.9.1
+ "@backstage/errors": ^1.2.4
+ "@backstage/eslint-plugin": ^0.1.10
+ "@backstage/types": ^1.1.1
+ "@manypkg/get-packages": ^1.1.3
+ "@openshift/dynamic-plugin-sdk-webpack": ^3.0.0
+ "@pmmmwh/react-refresh-webpack-plugin": ^0.5.7
+ "@rollup/plugin-commonjs": ^25.0.4
+ "@rollup/plugin-json": ^6.0.0
+ "@rollup/plugin-node-resolve": ^15.2.1
+ "@rollup/plugin-yaml": ^4.0.0
+ "@svgr/rollup": ^8.1.0
+ "@svgr/webpack": ^6.5.1
+ "@yarnpkg/lockfile": ^1.1.0
+ "@yarnpkg/parsers": ^3.0.0-rc.4
+ bfj: ^8.0.0
+ chalk: ^4.0.0
+ chokidar: ^3.3.1
+ codeowners: ^5.1.1
+ commander: ^9.1.0
+ css-loader: ^6.5.1
+ esbuild: ^0.23.0
+ esbuild-loader: ^2.18.0
+ eslint: ^8.49.0
+ eslint-config-prettier: ^8.10.0
+ eslint-webpack-plugin: ^3.2.0
+ fork-ts-checker-webpack-plugin: ^7.0.0-alpha.8
+ fs-extra: ^10.1.0
+ gitconfiglocal: 2.1.0
+ handlebars: ^4.7.7
+ html-webpack-plugin: ^5.3.1
+ is-native-module: ^1.1.3
+ lodash: ^4.17.21
+ mini-css-extract-plugin: ^2.4.2
+ node-libs-browser: ^2.2.1
+ npm-packlist: ^5.0.0
+ ora: ^5.3.0
+ postcss: ^8.2.13
+ react-dev-utils: ^12.0.0-next.60
+ react-refresh: ^0.14.0
+ recursive-readdir: ^2.2.2
+ rollup: ^2.78.0
+ rollup-plugin-dts: ^4.0.1
+ rollup-plugin-esbuild: ^4.7.2
+ rollup-plugin-postcss: ^4.0.0
+ rollup-pluginutils: ^2.8.2
+ semver: ^7.5.4
+ style-loader: ^3.3.1
+ swc-loader: ^0.2.3
+ typescript-json-schema: ^0.64.0
+ webpack: ^5.89.0
+ webpack-dev-server: ^4.15.1
+ yaml: ^2.5.1
+ yml-loader: ^2.1.0
+ yn: ^4.0.0
+ peerDependencies:
+ "@microsoft/api-extractor": ^7.21.2
+ peerDependenciesMeta:
+ "@microsoft/api-extractor":
+ optional: true
+ bin:
+ janus-cli: bin/janus-cli
+ checksum: 291d1350b4caf33db2e5cd24d5c685c5e63d7f0f60cf88959468e5483535a588804d20d23bb034466d5240efdb31a8619aa4726ecad9bd013aaec6d95db96eff
+ languageName: node
+ linkType: hard
+
"@janus-idp/cli@npm:3.0.0":
version: 3.0.0
resolution: "@janus-idp/cli@npm:3.0.0"
@@ -11976,6 +12201,17 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/bridge-react-webpack-plugin@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.6.16"
+ dependencies:
+ "@module-federation/sdk": 0.6.16
+ "@types/semver": 7.5.8
+ semver: 7.6.3
+ checksum: 9b49f8788bc741279e80cbc7b19980aa0d75e689c5ca08f1a19879d1f921f20e23e54ffc3fdc47010b90786130266d04395f46681d15ffe89f9d57e4e7575882
+ languageName: node
+ linkType: hard
+
"@module-federation/bridge-react-webpack-plugin@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.8.9"
@@ -11987,6 +12223,20 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/data-prefetch@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/data-prefetch@npm:0.6.16"
+ dependencies:
+ "@module-federation/runtime": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ fs-extra: 9.1.0
+ peerDependencies:
+ react: ">=16.9.0"
+ react-dom: ">=16.9.0"
+ checksum: cac7dc921abb1f3209e2afd7d4f21a21de525babcbd4afed69e61b2261cf7f18b6f1d9db4be005d1b60f968a03e222639e918253591c23f0be925fb84c952326
+ languageName: node
+ linkType: hard
+
"@module-federation/data-prefetch@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/data-prefetch@npm:0.8.9"
@@ -12030,6 +12280,36 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/dts-plugin@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/dts-plugin@npm:0.6.16"
+ dependencies:
+ "@module-federation/error-codes": 0.6.14
+ "@module-federation/managers": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ "@module-federation/third-party-dts-extractor": 0.6.16
+ adm-zip: ^0.5.10
+ ansi-colors: ^4.1.3
+ axios: ^1.7.4
+ chalk: 3.0.0
+ fs-extra: 9.1.0
+ isomorphic-ws: 5.0.0
+ koa: 2.15.3
+ lodash.clonedeepwith: 4.5.0
+ log4js: 6.9.1
+ node-schedule: 2.1.1
+ rambda: ^9.1.0
+ ws: 8.18.0
+ peerDependencies:
+ typescript: ^4.9.0 || ^5.0.0
+ vue-tsc: ">=1.0.24"
+ peerDependenciesMeta:
+ vue-tsc:
+ optional: true
+ checksum: 6d1eae570d0234f5adfb3971c8b4b09054fc6e7bff5e06241a5a7ca699c2b22b306d74d391ccaf01ed7ef71541f87c61829342d6a65bd5234f0fcbb36a21626d
+ languageName: node
+ linkType: hard
+
"@module-federation/dts-plugin@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/dts-plugin@npm:0.8.9"
@@ -12086,6 +12366,35 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/enhanced@npm:^0.6.0":
+ version: 0.6.16
+ resolution: "@module-federation/enhanced@npm:0.6.16"
+ dependencies:
+ "@module-federation/bridge-react-webpack-plugin": 0.6.16
+ "@module-federation/data-prefetch": 0.6.16
+ "@module-federation/dts-plugin": 0.6.16
+ "@module-federation/managers": 0.6.16
+ "@module-federation/manifest": 0.6.16
+ "@module-federation/rspack": 0.6.16
+ "@module-federation/runtime-tools": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ btoa: ^1.2.1
+ upath: 2.0.1
+ peerDependencies:
+ typescript: ^4.9.0 || ^5.0.0
+ vue-tsc: ">=1.0.24"
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ vue-tsc:
+ optional: true
+ webpack:
+ optional: true
+ checksum: bb1f6566ed176e414816bfc22352f14b5ac45b1fa1655d8d403bde13145d8d0f9c54767d14b9b4fb2210eb5f406f3dd93826bcac1e2303be6bbaccb7eb78ab23
+ languageName: node
+ linkType: hard
+
"@module-federation/enhanced@npm:^0.8.0":
version: 0.8.9
resolution: "@module-federation/enhanced@npm:0.8.9"
@@ -12117,6 +12426,13 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/error-codes@npm:0.6.14":
+ version: 0.6.14
+ resolution: "@module-federation/error-codes@npm:0.6.14"
+ checksum: d487eebb8990c0ea712dc61813f54c487c0e3549cf21239db28dfa18b5c97ae79bad5134db90aa67aee74f5af5c01d115c7aa66a66a81b098dd75f40e158fcc6
+ languageName: node
+ linkType: hard
+
"@module-federation/error-codes@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/error-codes@npm:0.8.9"
@@ -12144,6 +12460,17 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/managers@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/managers@npm:0.6.16"
+ dependencies:
+ "@module-federation/sdk": 0.6.16
+ find-pkg: 2.0.0
+ fs-extra: 9.1.0
+ checksum: 6b4e3a585aa2655134152752f2951ec1e913261510bfe714e19040da6d44a40800f7ca514d56f2ad04788d7501b886f3fcfb203900c6a25b7b8228a5459f6d33
+ languageName: node
+ linkType: hard
+
"@module-federation/managers@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/managers@npm:0.8.9"
@@ -12168,6 +12495,19 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/manifest@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/manifest@npm:0.6.16"
+ dependencies:
+ "@module-federation/dts-plugin": 0.6.16
+ "@module-federation/managers": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ chalk: 3.0.0
+ find-pkg: 2.0.0
+ checksum: fee3254347f927756fcf4d64ede32b93326f976292d7540ebb238fad5ea81c003f030a6020d042239f1f54568ed79e5eafa21e812f763d5961c6827b60be59f7
+ languageName: node
+ linkType: hard
+
"@module-federation/manifest@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/manifest@npm:0.8.9"
@@ -12194,6 +12534,28 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/rspack@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/rspack@npm:0.6.16"
+ dependencies:
+ "@module-federation/bridge-react-webpack-plugin": 0.6.16
+ "@module-federation/dts-plugin": 0.6.16
+ "@module-federation/managers": 0.6.16
+ "@module-federation/manifest": 0.6.16
+ "@module-federation/runtime-tools": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ peerDependencies:
+ typescript: ^4.9.0 || ^5.0.0
+ vue-tsc: ">=1.0.24"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ vue-tsc:
+ optional: true
+ checksum: afc98f64d3270e952ff0425ddd71b13b48644306679d3a4466d38a80c855682951a4b5c1b662fa63619ffad8400d6e7029b762aefd99e7169ee431f12c278e78
+ languageName: node
+ linkType: hard
+
"@module-federation/rspack@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/rspack@npm:0.8.9"
@@ -12238,6 +12600,16 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/runtime-tools@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/runtime-tools@npm:0.6.16"
+ dependencies:
+ "@module-federation/runtime": 0.6.16
+ "@module-federation/webpack-bundler-runtime": 0.6.16
+ checksum: 53aa76f2563e978e9f610e9276e6f3f6e73ecbf19f3cc349d0762955e748c43ec08a74f248cb697eb31d8109869f05f0f8dda1d6d082436ec246393d0011ac95
+ languageName: node
+ linkType: hard
+
"@module-federation/runtime-tools@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/runtime-tools@npm:0.8.9"
@@ -12257,6 +12629,16 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/runtime@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/runtime@npm:0.6.16"
+ dependencies:
+ "@module-federation/error-codes": 0.6.14
+ "@module-federation/sdk": 0.6.16
+ checksum: d247b4b8ce38f84692da6a3711cdd6d35c4de7885a4639720d4df2436900d66ba2a1b815f64064b95e6aee9fb7082e4d1c6fe1e8ccecd8ddcfaef38379153bbd
+ languageName: node
+ linkType: hard
+
"@module-federation/runtime@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/runtime@npm:0.8.9"
@@ -12275,6 +12657,15 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/sdk@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/sdk@npm:0.6.16"
+ dependencies:
+ isomorphic-rslog: 0.0.5
+ checksum: 4495af06a83cbf69da6f6c20b0e8b934382b7b5e9a1b56a3385756476e97750beeb0f4b2671dbc64a3c2ab4a5fdb1f99aafd7562f47a4894352fff75d9499ce8
+ languageName: node
+ linkType: hard
+
"@module-federation/sdk@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/sdk@npm:0.8.9"
@@ -12295,6 +12686,17 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/third-party-dts-extractor@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/third-party-dts-extractor@npm:0.6.16"
+ dependencies:
+ find-pkg: 2.0.0
+ fs-extra: 9.1.0
+ resolve: 1.22.8
+ checksum: 2f2317d3703a084a2ff11152a376276a9462954da624a6d69ab265868fb2fedeaeeb1486721f9fff0f3c15d81e3336bf71f90fabe8d4ed4cde4c4d0b5a8ff8be
+ languageName: node
+ linkType: hard
+
"@module-federation/third-party-dts-extractor@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/third-party-dts-extractor@npm:0.8.9"
@@ -12316,6 +12718,16 @@ __metadata:
languageName: node
linkType: hard
+"@module-federation/webpack-bundler-runtime@npm:0.6.16":
+ version: 0.6.16
+ resolution: "@module-federation/webpack-bundler-runtime@npm:0.6.16"
+ dependencies:
+ "@module-federation/runtime": 0.6.16
+ "@module-federation/sdk": 0.6.16
+ checksum: e78d5879eb1553c3dc96a93c7c962d9aa576b20f420fac8747fa1e3d61ab7e4ee51372924cedcd6483b829e2b4988a6f2daad4c6ddf2841c744ef69b9ba27680
+ languageName: node
+ linkType: hard
+
"@module-federation/webpack-bundler-runtime@npm:0.8.9":
version: 0.8.9
resolution: "@module-federation/webpack-bundler-runtime@npm:0.8.9"
@@ -12478,7 +12890,7 @@ __metadata:
languageName: node
linkType: hard
-"@mui/icons-material@npm:5.16.14, @mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7":
+"@mui/icons-material@npm:5.16.14, @mui/icons-material@npm:^5.15.17, @mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7":
version: 5.16.14
resolution: "@mui/icons-material@npm:5.16.14"
dependencies:
@@ -12654,7 +13066,7 @@ __metadata:
languageName: node
linkType: hard
-"@mui/private-theming@npm:^5.16.14, @mui/private-theming@npm:^5.16.6":
+"@mui/private-theming@npm:^5.16.13, @mui/private-theming@npm:^5.16.14, @mui/private-theming@npm:^5.16.6":
version: 5.16.14
resolution: "@mui/private-theming@npm:5.16.14"
dependencies:
@@ -12730,7 +13142,38 @@ __metadata:
languageName: node
linkType: hard
-"@mui/styles@npm:5.16.7, @mui/styles@npm:^5.16.7":
+"@mui/styles@npm:5.16.13, @mui/styles@npm:^5.16.7":
+ version: 5.16.13
+ resolution: "@mui/styles@npm:5.16.13"
+ dependencies:
+ "@babel/runtime": ^7.23.9
+ "@emotion/hash": ^0.9.1
+ "@mui/private-theming": ^5.16.13
+ "@mui/types": ^7.2.15
+ "@mui/utils": ^5.16.13
+ clsx: ^2.1.0
+ csstype: ^3.1.3
+ hoist-non-react-statics: ^3.3.2
+ jss: ^10.10.0
+ jss-plugin-camel-case: ^10.10.0
+ jss-plugin-default-unit: ^10.10.0
+ jss-plugin-global: ^10.10.0
+ jss-plugin-nested: ^10.10.0
+ jss-plugin-props-sort: ^10.10.0
+ jss-plugin-rule-value-function: ^10.10.0
+ jss-plugin-vendor-prefixer: ^10.10.0
+ prop-types: ^15.8.1
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 2464d3567264c152a7e8f030554a423c6ab509c85d33d193c298935b439cc62c7fa82b80cd99a477fbcdd463aa8de6e57b99b67445081d56137b5d5c094df192
+ languageName: node
+ linkType: hard
+
+"@mui/styles@npm:5.16.7":
version: 5.16.7
resolution: "@mui/styles@npm:5.16.7"
dependencies:
@@ -16317,6 +16760,25 @@ __metadata:
languageName: node
linkType: hard
+"@red-hat-developer-hub/backstage-plugin-global-floating-action-button@npm:0.0.3":
+ version: 0.0.3
+ resolution: "@red-hat-developer-hub/backstage-plugin-global-floating-action-button@npm:0.0.3"
+ dependencies:
+ "@backstage/core-components": ^0.15.1
+ "@backstage/core-plugin-api": ^1.10.0
+ "@backstage/theme": ^0.6.0
+ "@mui/icons-material": ^5.15.17
+ "@mui/material": ^5.15.17
+ "@mui/styles": 5.16.13
+ classnames: ^2.5.1
+ react-use: ^17.2.4
+ peerDependencies:
+ react: 16.13.1 || ^17.0.0 || ^18.0.0
+ react-router-dom: ^6.0.0
+ checksum: 7aedbac38030c09ee432b97e9c5cb3f358e31e802751392c183a7d6492b688a2c2c1cb90224226d64fe3ab4da1abf8e8df400bda174b359a96ccb60880493453
+ languageName: node
+ linkType: hard
+
"@red-hat-developer-hub/backstage-plugin-global-header@npm:0.0.2":
version: 0.0.2
resolution: "@red-hat-developer-hub/backstage-plugin-global-header@npm:0.0.2"
@@ -19439,6 +19901,18 @@ __metadata:
languageName: node
linkType: hard
+"@ts-morph/common@npm:~0.24.0":
+ version: 0.24.0
+ resolution: "@ts-morph/common@npm:0.24.0"
+ dependencies:
+ fast-glob: ^3.3.2
+ minimatch: ^9.0.4
+ mkdirp: ^3.0.1
+ path-browserify: ^1.0.1
+ checksum: 793bc8a47c93ab55c6c036f94480d3b0e948661aef4bb7dbc29279b1dda2fc4fce809a88e221537867a313541842e12d1ecbd32b4769688abe1303807ec09db6
+ languageName: node
+ linkType: hard
+
"@ts-morph/common@npm:~0.25.0":
version: 0.25.0
resolution: "@ts-morph/common@npm:0.25.0"
@@ -20375,7 +20849,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/node@npm:20.17.16":
+"@types/node@npm:20.17.16, @types/node@npm:^20.1.1":
version: 20.17.16
resolution: "@types/node@npm:20.17.16"
dependencies:
@@ -20407,15 +20881,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/node@npm:^20.1.1":
- version: 20.17.14
- resolution: "@types/node@npm:20.17.14"
- dependencies:
- undici-types: ~6.19.2
- checksum: a5a775f57271e5a73c9e1afc4f6ea0d24cb9b4856e3d7d1788ff9ba0cc3e3a90e7883383f183f193a36eed0c758809df626a9ad653458a06d4fc82644d89b6e0
- languageName: node
- linkType: hard
-
"@types/oauth@npm:*":
version: 0.9.4
resolution: "@types/oauth@npm:0.9.4"
@@ -24510,7 +24975,7 @@ __metadata:
languageName: node
linkType: hard
-"code-block-writer@npm:^13.0.3":
+"code-block-writer@npm:^13.0.1, code-block-writer@npm:^13.0.3":
version: 13.0.3
resolution: "code-block-writer@npm:13.0.3"
checksum: 8e234f0ec2db9625d5efb9f05bdae79da6559bb4d9df94a6aa79a89a7b5ae25093b70d309fc5122840c9c07995cb14b4dd3f98a30f8878e3a3372e177df79454
@@ -28168,7 +28633,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-jest@npm:^28.9.0":
+"eslint-plugin-jest@npm:^28.0.0, eslint-plugin-jest@npm:^28.9.0":
version: 28.11.0
resolution: "eslint-plugin-jest@npm:28.11.0"
dependencies:
@@ -32071,6 +32536,13 @@ __metadata:
languageName: node
linkType: hard
+"isomorphic-rslog@npm:0.0.5":
+ version: 0.0.5
+ resolution: "isomorphic-rslog@npm:0.0.5"
+ checksum: ba3d8a5ca4691ae4e6ef8a50c404b94658618c87bd2ac7618946f8ea067489ee4a16a152b74afe24bcbdfe975e3b3a63e3c5149bf2a929aa781bdd7eb3f1370f
+ languageName: node
+ linkType: hard
+
"isomorphic-rslog@npm:0.0.7":
version: 0.0.7
resolution: "isomorphic-rslog@npm:0.0.7"
@@ -40364,6 +40836,18 @@ __metadata:
languageName: unknown
linkType: soft
+"red-hat-developer-hub-backstage-plugin-global-floating-action-button@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button":
+ version: 0.0.0-use.local
+ resolution: "red-hat-developer-hub-backstage-plugin-global-floating-action-button@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-floating-action-button"
+ dependencies:
+ "@backstage/cli": 0.28.2
+ "@janus-idp/cli": 1.18.5
+ "@mui/material": 5.16.13
+ "@red-hat-developer-hub/backstage-plugin-global-floating-action-button": 0.0.3
+ typescript: 5.6.3
+ languageName: unknown
+ linkType: soft
+
"red-hat-developer-hub-backstage-plugin-global-header@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-header":
version: 0.0.0-use.local
resolution: "red-hat-developer-hub-backstage-plugin-global-header@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-global-header"
@@ -44017,6 +44501,16 @@ __metadata:
languageName: node
linkType: hard
+"ts-morph@npm:^23.0.0":
+ version: 23.0.0
+ resolution: "ts-morph@npm:23.0.0"
+ dependencies:
+ "@ts-morph/common": ~0.24.0
+ code-block-writer: ^13.0.1
+ checksum: 3282eb0f8bd4577770874736c3259b97501da9a86137160b5d68f106b7848ea7b1fbccf9e198a3d930ec40c993e9951d4bfae31e2562dac8f3de0d7bb0e23615
+ languageName: node
+ linkType: hard
+
"ts-morph@npm:^24.0.0":
version: 24.0.0
resolution: "ts-morph@npm:24.0.0"
@@ -44535,6 +45029,16 @@ __metadata:
languageName: node
linkType: hard
+"typescript@npm:5.6.3":
+ version: 5.6.3
+ resolution: "typescript@npm:5.6.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: ba302f8822777ebefb28b554105f3e074466b671e7444ec6b75dadc008a62f46f373d9e57ceced1c433756d06c8b7dc569a7eefdf3a9573122a49205ff99021a
+ languageName: node
+ linkType: hard
+
"typescript@npm:5.7.3":
version: 5.7.3
resolution: "typescript@npm:5.7.3"
@@ -44565,6 +45069,16 @@ __metadata:
languageName: node
linkType: hard
+"typescript@patch:typescript@5.6.3#~builtin":
+ version: 5.6.3
+ resolution: "typescript@patch:typescript@npm%3A5.6.3#~builtin::version=5.6.3&hash=8c6c40"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: f6947c263dc67ea8429eefc3921683320f901a07d9ef29a1101a34f5b30108343b5a29aa77a581217a17f2616091ae7bd3043b304cf37f37d5e128e19296c08b
+ languageName: node
+ linkType: hard
+
"typescript@patch:typescript@5.7.3#~builtin":
version: 5.7.3
resolution: "typescript@patch:typescript@npm%3A5.7.3#~builtin::version=5.7.3&hash=cef18b"