diff --git a/app-config.dynamic-plugins.yaml b/app-config.dynamic-plugins.yaml
index 8fcc5ab392..88ee055f6e 100644
--- a/app-config.dynamic-plugins.yaml
+++ b/app-config.dynamic-plugins.yaml
@@ -506,12 +506,11 @@ dynamicPlugins:
- name: marketplace
importName: MarketplaceIcon
dynamicRoutes:
- - path: /marketplace
- importName: MarketplacePage
- menuItem:
- icon: marketplace
- text: Marketplace
+ - path: /extensions/catalog
+ importName: DynamicMarketplacePluginRouter
mountPoints:
- - mountPoint: admin.page.plugins/cards
- importName: MarketplaceCatalogContent
-
+ - mountPoint: internal.plugins/tab
+ importName: DynamicMarketplacePluginContent
+ config:
+ path: marketplace
+ title: Catalog
diff --git a/dynamic-plugins.default.yaml b/dynamic-plugins.default.yaml
index cacee10025..dfbde5284c 100644
--- a/dynamic-plugins.default.yaml
+++ b/dynamic-plugins.default.yaml
@@ -1089,11 +1089,11 @@ plugins:
pingIdentityOrg: {}
# Group: Marketplace
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic
- disabled: true
+ disabled: false
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic
- disabled: true
+ disabled: false
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace
- disabled: true
+ disabled: false
pluginConfig:
dynamicPlugins:
frontend:
@@ -1102,11 +1102,11 @@ plugins:
- name: marketplace
importName: MarketplaceIcon
dynamicRoutes:
- - path: /marketplace
- importName: MarketplacePage
- menuItem:
- icon: marketplace
- text: Marketplace
+ - path: /extensions/catalog
+ importName: DynamicMarketplacePluginRouter
mountPoints:
- - mountPoint: admin.page.plugins/cards
- importName: MarketplaceCatalogContent
\ No newline at end of file
+ - mountPoint: internal.plugins/tab
+ importName: DynamicMarketplacePluginContent
+ config:
+ path: marketplace
+ title: Catalog
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json
index d0c3e86ef3..f92f473a0f 100644
--- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic/package.json
@@ -1,13 +1,12 @@
{
"name": "red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace",
- "version": "0.0.2",
+ "version": "0.2.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
+ "private": true,
"publishConfig": {
- "access": "public",
- "main": "dist/index.cjs.js",
- "types": "dist/index.d.ts"
+ "access": "public"
},
"backstage": {
"role": "backend-plugin-module",
@@ -15,7 +14,17 @@
"pluginId": "catalog",
"pluginPackage": "@backstage/plugin-catalog-backend"
},
- "sideEffects": false,
+ "exports": {
+ ".": "./src/index.ts",
+ "./package.json": "./package.json"
+ },
+ "typesVersions": {
+ "*": {
+ "package.json": [
+ "package.json"
+ ]
+ }
+ },
"scripts": {
"tsc": "tsc",
"build": "backstage-cli package build",
@@ -23,11 +32,11 @@
"test": "backstage-cli package test --passWithNoTests --coverage",
"clean": "backstage-cli package clean",
"clean-dynamic-sources": "yarn clean && rm -Rf node_modules",
- "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace",
+ "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace --embed-package @red-hat-developer-hub/backstage-plugin-marketplace-common",
"export-dynamic:clean": "run export-dynamic --clean"
},
"dependencies": {
- "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace": "0.0.2"
+ "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace": "0.2.0"
},
"devDependencies": {
"@backstage/cli": "0.29.6",
@@ -35,16 +44,10 @@
"typescript": "5.7.3"
},
"files": [
- "app-config.dynamic.yaml",
"dist",
- "dist-scalprum"
+ "dist-dynamic/*.*",
+ "dist-dynamic/dist/**"
],
- "scalprum": {
- "name": "red-hat-developer-hub.backstage-plugin-catalog-backend-module-marketplace-dynamic",
- "exposedModules": {
- "PluginRoot": "./src/index.ts"
- }
- },
"repository": {
"type": "git",
"url": "https://github.com/redhat-developer/rhdh",
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/package.json
index e816fb3748..4f1f7332e1 100644
--- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/package.json
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic/package.json
@@ -1,6 +1,6 @@
{
"name": "red-hat-developer-hub-backstage-plugin-marketplace-backend",
- "version": "0.0.2",
+ "version": "0.2.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -35,11 +35,11 @@
"test": "backstage-cli package test --passWithNoTests --coverage",
"clean": "backstage-cli package clean",
"clean-dynamic-sources": "yarn clean && rm -Rf node_modules",
- "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @red-hat-developer-hub/backstage-plugin-marketplace-backend",
+ "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @red-hat-developer-hub/backstage-plugin-marketplace-backend --embed-package @red-hat-developer-hub/backstage-plugin-marketplace-common",
"export-dynamic:clean": "run export-dynamic --clean"
},
"dependencies": {
- "@red-hat-developer-hub/backstage-plugin-marketplace-backend": "0.0.2"
+ "@red-hat-developer-hub/backstage-plugin-marketplace-backend": "0.2.0"
},
"devDependencies": {
"@backstage/cli": "0.29.6",
diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/package.json
index 7f2bd469c4..4f8ce409c9 100644
--- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/package.json
+++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-marketplace/package.json
@@ -1,6 +1,6 @@
{
"name": "red-hat-developer-hub-backstage-plugin-marketplace",
- "version": "0.0.2",
+ "version": "0.2.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -29,7 +29,7 @@
"export-dynamic:clean": "run export-dynamic --clean"
},
"dependencies": {
- "@red-hat-developer-hub/backstage-plugin-marketplace": "0.0.2"
+ "@red-hat-developer-hub/backstage-plugin-marketplace": "0.2.0"
},
"devDependencies": {
"@backstage/cli": "0.29.6",
diff --git a/e2e-tests/playwright/e2e/extensions.spec.ts b/e2e-tests/playwright/e2e/extensions.spec.ts
new file mode 100644
index 0000000000..b984b1c464
--- /dev/null
+++ b/e2e-tests/playwright/e2e/extensions.spec.ts
@@ -0,0 +1,23 @@
+import { test as base } from "@playwright/test";
+import { Common } from "../utils/common";
+import { UIhelper } from "../utils/ui-helper";
+
+const test = base.extend<{ uiHelper: UIhelper }>({
+ uiHelper: async ({ page }, use) => {
+ use(new UIhelper(page));
+ },
+});
+
+test.describe("Admin > Extensions > Catalog", () => {
+ test.beforeEach(async ({ page, uiHelper }) => {
+ await new Common(page).loginAsKeycloakUser();
+ await uiHelper.openSidebarButton("Administration");
+ await uiHelper.openSidebar("Extensions");
+ await uiHelper.verifyHeading("Extensions");
+ });
+
+ test("Tabs includes a tab for extensions", async ({ uiHelper }) => {
+ await uiHelper.clickTab("Catalog");
+ // TODO: check plugins grid when we initialized some test data
+ });
+});
diff --git a/e2e-tests/playwright/e2e/plugin-marketplace.spec.ts b/e2e-tests/playwright/e2e/plugin-marketplace.spec.ts
deleted file mode 100644
index c5d71a3df7..0000000000
--- a/e2e-tests/playwright/e2e/plugin-marketplace.spec.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { test as base } from "@playwright/test";
-import { Common } from "../utils/common";
-import { UIhelper } from "../utils/ui-helper";
-
-const test = base.extend<{ uiHelper: UIhelper }>({
- uiHelper: async ({ page }, use) => {
- use(new UIhelper(page));
- },
-});
-
-test.describe("Plugin Marketplace", () => {
- test.beforeEach(async ({ page }) => {
- await new Common(page).loginAsKeycloakUser();
- });
- test("The navBar includes the marketplace", async ({ uiHelper }) => {
- await uiHelper.openSidebar("Marketplace");
- await uiHelper.waitForTitle("Plugins");
- });
-});
diff --git a/e2e-tests/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts b/e2e-tests/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts
index 22afe14e17..129a4d3028 100644
--- a/e2e-tests/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts
+++ b/e2e-tests/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts
@@ -13,8 +13,9 @@ test.describe.skip('Check RBAC "analytics-provider-segment" plugin', () => {
common = new Common(page);
await common.loginAsKeycloakUser();
await uiHelper.openSidebarButton("Administration");
- await uiHelper.openSidebar("Plugins");
- await uiHelper.verifyHeading("Plugins");
+ await uiHelper.openSidebar("Extensions");
+ await uiHelper.verifyHeading("Extensions");
+ await uiHelper.clickTab("Installed");
});
test("is disabled", async ({ page }) => {
diff --git a/e2e-tests/playwright/e2e/plugins/dynamic-plugins-info/dynamic-plugins-info.spec.ts b/e2e-tests/playwright/e2e/plugins/dynamic-plugins-info/dynamic-plugins-info.spec.ts
index d78d141c7d..36761f21a2 100644
--- a/e2e-tests/playwright/e2e/plugins/dynamic-plugins-info/dynamic-plugins-info.spec.ts
+++ b/e2e-tests/playwright/e2e/plugins/dynamic-plugins-info/dynamic-plugins-info.spec.ts
@@ -12,8 +12,9 @@ test.describe("dynamic-plugins-info UI tests", () => {
common = new Common(page);
await common.loginAsGuest();
await uiHelper.openSidebarButton("Administration");
- await uiHelper.openSidebar("Plugins");
- await uiHelper.verifyHeading("Plugins");
+ await uiHelper.openSidebar("Extensions");
+ await uiHelper.verifyHeading("Extensions");
+ await uiHelper.clickTab("Installed");
});
test("it should show a table, and the table should contain techdocs plugins", async ({
diff --git a/e2e-tests/playwright/utils/navbar.ts b/e2e-tests/playwright/utils/navbar.ts
index b26444ea50..8e146bb28e 100644
--- a/e2e-tests/playwright/utils/navbar.ts
+++ b/e2e-tests/playwright/utils/navbar.ts
@@ -6,8 +6,7 @@ export type SidebarTabs =
| "Home"
| "Create..."
| "Learning Paths"
- | "Marketplace"
- | "Plugins"
+ | "Extensions"
| "Bulk import"
| "Docs"
| "Clusters"
diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx
index dbe54ec667..2efc38bb11 100644
--- a/packages/app/src/App.tsx
+++ b/packages/app/src/App.tsx
@@ -23,19 +23,29 @@ const baseFrontendConfig = {
],
dynamicRoutes: [
{
- path: '/plugins',
- importName: 'DynamicPluginsInfo',
+ path: '/extensions',
+ importName: 'DynamicPluginsInfoPage',
menuItem: { text: 'Plugins', icon: 'pluginsInfoIcon' },
},
],
+ mountPoints: [
+ {
+ mountPoint: 'internal.plugins/tab',
+ importName: 'DynamicPluginsInfoContent',
+ config: {
+ path: 'installed',
+ title: 'Installed',
+ },
+ },
+ ],
menuItems: {
admin: {
title: 'Administration',
icon: 'adminIcon',
},
- plugins: {
+ extensions: {
parent: 'admin',
- title: 'Plugins',
+ title: 'Extensions',
icon: 'pluginsInfoIcon',
},
},
diff --git a/plugins/dynamic-plugins-info/app-config.dynamic.yaml b/plugins/dynamic-plugins-info/app-config.dynamic.yaml
new file mode 100644
index 0000000000..b7470d2f67
--- /dev/null
+++ b/plugins/dynamic-plugins-info/app-config.dynamic.yaml
@@ -0,0 +1,29 @@
+# please keep this in sync with packages/app/src/App.tsx
+dynamicPlugins:
+ frontend:
+ internal.plugin-dynamic-plugins-info:
+ appIcons:
+ - name: pluginsInfoIcon
+ importName: PluginsInfoIcon
+ - name: adminIcon
+ importName: AdminIcon
+ dynamicRoutes:
+ - path: /extensions
+ importName: DynamicPluginsInfoPage
+ menuItem:
+ text: Extensions
+ icon: pluginsInfoIcon
+ mountPoints:
+ - mountPoint: internal.plugins/tab
+ importName: DynamicPluginsInfoContent
+ config:
+ path: installed
+ title: Installed
+ menuItems:
+ admin:
+ title: Administration
+ icon: adminIcon
+ extensions:
+ parent: admin
+ title: Extensions
+ icon: pluginsInfoIcon
diff --git a/plugins/dynamic-plugins-info/app-config.janus-idp.yaml b/plugins/dynamic-plugins-info/app-config.janus-idp.yaml
deleted file mode 100644
index 392bef6991..0000000000
--- a/plugins/dynamic-plugins-info/app-config.janus-idp.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-# please keep this in sync with packages/app/src/App.tsx
-dynamicPlugins:
- frontend:
- janus-idp.backstage-plugin-dynamic-plugins-info:
- dynamicRoutes:
- - path: /admin/plugins
- importName: DynamicPluginsInfo
- mountPoints:
- - mountPoint: admin.page.plugins/cards
- importName: DynamicPluginsInfo
- config:
- layout:
- gridColumn: '1 / -1'
- width: 100vw
diff --git a/plugins/dynamic-plugins-info/package.json b/plugins/dynamic-plugins-info/package.json
index ef3a24fa22..8d464621a6 100644
--- a/plugins/dynamic-plugins-info/package.json
+++ b/plugins/dynamic-plugins-info/package.json
@@ -39,6 +39,7 @@
"@material-table/core": "3.2.5",
"@mui/icons-material": "5.16.14",
"@mui/material": "5.16.14",
+ "@scalprum/react-core": "0.9.3",
"react-use": "17.6.0"
},
"peerDependencies": {
diff --git a/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent.tsx b/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent.tsx
index 8284b40164..e636b60723 100644
--- a/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent.tsx
+++ b/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent.tsx
@@ -1,3 +1,3 @@
-import { DynamicPluginsInfoPage } from '../DynamicPluginsInfoPage';
+import { DynamicPluginsTable } from '../DynamicPluginsTable/DynamicPluginsTable';
-export const DynamicPluginsInfoContent = () => ;
+export const DynamicPluginsInfoContent = () => ;
diff --git a/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoPage.tsx b/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoPage.tsx
index c9f61efa37..e237d4d6c6 100644
--- a/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoPage.tsx
+++ b/plugins/dynamic-plugins-info/src/components/DynamicPluginsInfoPage.tsx
@@ -1,14 +1,61 @@
-import { Content, Header, Page } from '@backstage/core-components';
+import React from 'react';
-import { DynamicPluginsTable } from './DynamicPluginsTable/DynamicPluginsTable';
+import {
+ Content,
+ Header,
+ Page,
+ TabbedLayout,
+} from '@backstage/core-components';
+
+import { useScalprum } from '@scalprum/react-core';
+
+export interface PluginTab {
+ Component: React.ComponentType;
+ config: {
+ path: string;
+ title: string;
+ };
+}
+
+export interface ScalprumState {
+ api?: {
+ dynamicRootConfig?: {
+ mountPoints?: {
+ 'internal.plugins/tab': PluginTab[];
+ };
+ };
+ };
+}
export const DynamicPluginsInfoPage = () => {
+ const scalprum = useScalprum();
+
+ const tabs =
+ scalprum.api?.dynamicRootConfig?.mountPoints?.['internal.plugins/tab'] ||
+ [];
+
+ const FirstComponent = tabs[0]?.Component;
+
return (
-
-
-
-
-
+
+
+ {tabs.length > 1 ? (
+
+ {tabs.map(({ Component, config }) => (
+
+
+
+ ))}
+
+ ) : (
+
+
+
+ )}
);
};
diff --git a/plugins/dynamic-plugins-info/src/index.ts b/plugins/dynamic-plugins-info/src/index.ts
index f1d73dafc3..8c1a4ecd12 100644
--- a/plugins/dynamic-plugins-info/src/index.ts
+++ b/plugins/dynamic-plugins-info/src/index.ts
@@ -1,3 +1,3 @@
-export { dynamicPluginsInfoPlugin, DynamicPluginsInfo } from './plugin';
+export * from './plugin';
export { default as PluginsInfoIcon } from '@mui/icons-material/PowerOutlined';
export { default as AdminIcon } from '@mui/icons-material/GppMaybeOutlined';
diff --git a/plugins/dynamic-plugins-info/src/plugin.ts b/plugins/dynamic-plugins-info/src/plugin.ts
index b153ff713a..bf194f40ed 100644
--- a/plugins/dynamic-plugins-info/src/plugin.ts
+++ b/plugins/dynamic-plugins-info/src/plugin.ts
@@ -1,5 +1,6 @@
import {
createApiFactory,
+ createComponentExtension,
createPlugin,
createRoutableExtension,
discoveryApiRef,
@@ -30,13 +31,25 @@ export const dynamicPluginsInfoPlugin = createPlugin({
],
});
-export const DynamicPluginsInfo = dynamicPluginsInfoPlugin.provide(
+export const DynamicPluginsInfoPage = dynamicPluginsInfoPlugin.provide(
createRoutableExtension({
- name: 'DynamicPluginsInfo',
+ name: 'DynamicPluginsInfoPage',
component: () =>
- import(
- './components/DynamicPluginsInfoContent/DynamicPluginsInfoContent'
- ).then(m => m.DynamicPluginsInfoContent),
+ import('./components/DynamicPluginsInfoPage').then(
+ m => m.DynamicPluginsInfoPage,
+ ),
mountPoint: dynamicPluginsInfoRouteRef,
}),
);
+
+export const DynamicPluginsInfoContent = dynamicPluginsInfoPlugin.provide(
+ createComponentExtension({
+ name: 'DynamicPluginsInfoContent',
+ component: {
+ lazy: () =>
+ import(
+ './components/DynamicPluginsInfoContent/DynamicPluginsInfoContent'
+ ).then(m => m.DynamicPluginsInfoContent),
+ },
+ }),
+);
diff --git a/yarn.lock b/yarn.lock
index 89eeb5507a..f31a8a4a5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5098,7 +5098,7 @@ __metadata:
languageName: node
linkType: hard
-"@backstage/catalog-client@npm:1.9.1, @backstage/catalog-client@npm:^1.6.5, @backstage/catalog-client@npm:^1.6.6, @backstage/catalog-client@npm:^1.7.1, @backstage/catalog-client@npm:^1.8.0, @backstage/catalog-client@npm:^1.9.1":
+"@backstage/catalog-client@npm:1.9.1, @backstage/catalog-client@npm:^1.6.5, @backstage/catalog-client@npm:^1.6.6, @backstage/catalog-client@npm:^1.7.1, @backstage/catalog-client@npm:^1.9.1":
version: 1.9.1
resolution: "@backstage/catalog-client@npm:1.9.1"
dependencies:
@@ -10622,6 +10622,7 @@ __metadata:
"@material-table/core": 3.2.5
"@mui/icons-material": 5.16.14
"@mui/material": 5.16.14
+ "@scalprum/react-core": 0.9.3
"@testing-library/jest-dom": 6.6.3
"@testing-library/react": 14.3.1
"@testing-library/user-event": 14.6.1
@@ -16243,18 +16244,18 @@ __metadata:
languageName: node
linkType: hard
-"@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace@npm:0.0.2":
- version: 0.0.2
- resolution: "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace@npm:0.0.2"
+"@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace@npm:0.2.0":
+ version: 0.2.0
+ resolution: "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace@npm:0.2.0"
dependencies:
- "@backstage/backend-plugin-api": ^1.0.1
- "@backstage/catalog-model": ^1.7.0
- "@backstage/plugin-catalog-common": ^1.1.0
- "@backstage/plugin-catalog-node": ^1.13.1
- "@backstage/types": ^1.1.1
- "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.0.2
+ "@backstage/backend-plugin-api": ^1.1.1
+ "@backstage/catalog-model": ^1.7.3
+ "@backstage/plugin-catalog-common": ^1.1.3
+ "@backstage/plugin-catalog-node": ^1.15.1
+ "@backstage/types": ^1.2.1
+ "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.2.0
semver: ^7.6.3
- checksum: 381b6ea930fbfc86644d95fffb970fcff445ff05f604cb39dda043886cb756f85dd7399a0fb41c1faf4b42f6822f70eb0b1b5d599c4605b606ca1157950fa8a4
+ checksum: e5c4ccf34eb1a55468c6b2786c0f6671cf592d98c025312b07272a2aab24e229d4c80901bec4bd77e464050deeefb3bc8f5708a01dcd5784c18b636363c671c4
languageName: node
linkType: hard
@@ -16333,52 +16334,56 @@ __metadata:
languageName: node
linkType: hard
-"@red-hat-developer-hub/backstage-plugin-marketplace-backend@npm:0.0.2":
- version: 0.0.2
- resolution: "@red-hat-developer-hub/backstage-plugin-marketplace-backend@npm:0.0.2"
+"@red-hat-developer-hub/backstage-plugin-marketplace-backend@npm:0.2.0":
+ version: 0.2.0
+ resolution: "@red-hat-developer-hub/backstage-plugin-marketplace-backend@npm:0.2.0"
dependencies:
- "@backstage/backend-defaults": ^0.5.2
- "@backstage/backend-plugin-api": ^1.0.1
- "@backstage/catalog-client": ^1.8.0
- "@backstage/errors": ^1.2.4
- "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.0.2
+ "@backstage/backend-defaults": ^0.7.0
+ "@backstage/backend-plugin-api": ^1.1.1
+ "@backstage/catalog-client": ^1.9.1
+ "@backstage/errors": ^1.2.7
+ "@backstage/plugin-catalog-node": ^1.15.1
+ "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.2.0
express: ^4.17.1
express-promise-router: ^4.1.0
- glob: ^10.4.5
- yaml: ^2.6.0
- zod: ^3.22.4
- checksum: 61e429fd6cde71700506b22459a4bbebb523c95714c01c353b16450caed999947572d5bdd8219a0c15acdea1924dc9042938919139fd6a8ba367bf18efd813c4
+ checksum: b251dec38aca997db7c720a7712f8e01158b0ad29edbea960518efc7ee93d3f82fa3d5f51f86b70e3cfbdfc029754dd9e024ce3a811f58cf9da256d45c66a409
languageName: node
linkType: hard
-"@red-hat-developer-hub/backstage-plugin-marketplace-common@npm:^0.0.2":
- version: 0.0.2
- resolution: "@red-hat-developer-hub/backstage-plugin-marketplace-common@npm:0.0.2"
+"@red-hat-developer-hub/backstage-plugin-marketplace-common@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "@red-hat-developer-hub/backstage-plugin-marketplace-common@npm:0.2.0"
+ dependencies:
+ "@backstage/backend-plugin-api": ^1.1.1
+ "@backstage/catalog-client": ^1.9.1
+ "@backstage/catalog-model": ^1.7.3
+ "@backstage/errors": ^1.2.7
peerDependencies:
- "@backstage/catalog-model": ^1.7.0
- "@backstage/types": ^1.1.1
- checksum: 4f1783ab36fe4b0823e5e96c5a43e0292157696230036dfa8ce06cef94c0b58a8fbb2de75e9c0688391da6340265c3f075fe35f783538a2b82037bb639252036
+ "@backstage/backend-plugin-api": ^1.1.1
+ "@backstage/types": ^1.2.1
+ checksum: 51bc30fda4ad88026991179f09a8154005d2334634a7441adcab6792993f1af426dc95a00c7f605f159490064b6396c3c974378f7c5aad80d4fbfecfffde0eef
languageName: node
linkType: hard
-"@red-hat-developer-hub/backstage-plugin-marketplace@npm:0.0.2":
- version: 0.0.2
- resolution: "@red-hat-developer-hub/backstage-plugin-marketplace@npm:0.0.2"
+"@red-hat-developer-hub/backstage-plugin-marketplace@npm:0.2.0":
+ version: 0.2.0
+ resolution: "@red-hat-developer-hub/backstage-plugin-marketplace@npm:0.2.0"
dependencies:
- "@backstage/core-components": ^0.15.1
- "@backstage/core-plugin-api": ^1.10.0
- "@backstage/plugin-catalog-react": ^1.14.0
- "@backstage/theme": ^0.6.0
+ "@backstage/catalog-client": ^1.9.1
+ "@backstage/core-components": ^0.16.3
+ "@backstage/core-plugin-api": ^1.10.3
+ "@backstage/plugin-catalog-react": ^1.15.1
+ "@backstage/theme": ^0.6.3
"@mui/icons-material": ^5.16.7
"@mui/material": ^5.12.2
- "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.0.2
+ "@red-hat-developer-hub/backstage-plugin-marketplace-common": ^0.2.0
+ "@scalprum/react-core": 0.9.3
"@tanstack/react-query": ^5.60.5
- react-use: ^17.2.4
peerDependencies:
react: ^17.0.0 || ^18.0.0
react-dom: ^17.0.0 || ^18.0.0
react-router-dom: ^6.3.0
- checksum: 70b9898bf2f6f880e2d58c9c426ef6e010314f5d8a5953ce725991e83e3bcfd8d0d8d7580aad645c427700593cce785f59199acc6e37cbd3f31d38b751d73f3a
+ checksum: 8c0eeb9b9a33628956bcaa9aa1bc0400807046d0a23d71341e6c7ffb038550935009c3f6be9f4aea93724c295051df1ba9e4330abc48724b3863241f9107dbed
languageName: node
linkType: hard
@@ -29874,7 +29879,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7, glob@npm:^10.4.1, glob@npm:^10.4.5":
+"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7, glob@npm:^10.4.1":
version: 10.4.5
resolution: "glob@npm:10.4.5"
dependencies:
@@ -40302,7 +40307,7 @@ __metadata:
dependencies:
"@backstage/cli": 0.29.6
"@janus-idp/cli": 3.2.0
- "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace": 0.0.2
+ "@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace": 0.2.0
typescript: 5.7.3
languageName: unknown
linkType: soft
@@ -40349,7 +40354,7 @@ __metadata:
dependencies:
"@backstage/cli": 0.29.6
"@janus-idp/cli": 3.2.0
- "@red-hat-developer-hub/backstage-plugin-marketplace-backend": 0.0.2
+ "@red-hat-developer-hub/backstage-plugin-marketplace-backend": 0.2.0
typescript: 5.7.3
languageName: unknown
linkType: soft
@@ -40360,7 +40365,7 @@ __metadata:
dependencies:
"@backstage/cli": 0.29.6
"@janus-idp/cli": 3.2.0
- "@red-hat-developer-hub/backstage-plugin-marketplace": 0.0.2
+ "@red-hat-developer-hub/backstage-plugin-marketplace": 0.2.0
typescript: 5.7.3
languageName: unknown
linkType: soft