diff --git a/packages/app/package.json b/packages/app/package.json index 15457ef23a..a36277a7a7 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -23,6 +23,8 @@ "lint": "backstage-cli package lint" }, "dependencies": { + "@backstage-community/plugin-github-actions": "^0.6.16", + "@backstage-community/plugin-tech-radar": "^0.7.4", "@backstage/app-defaults": "^1.5.4", "@backstage/catalog-model": "^1.4.5", "@backstage/core-app-api": "^1.12.4", @@ -48,13 +50,12 @@ "@mui/icons-material": "^5.15.16", "@mui/material": "^5.15.16", "@mui/styles": "^5.15.16", + "@redhat-developer/red-hat-developer-hub-theme": "^0.0.40", "react": "^18.0.0", "react-dom": "^18.0.0", "react-router": "^6.23.0", "react-router-dom": "^6.23.0", - "tss-react": "^4.9.10", - "@backstage-community/plugin-github-actions": "^0.6.16", - "@backstage-community/plugin-tech-radar": "^0.7.4" + "tss-react": "^4.9.10" }, "devDependencies": { "@backstage/cli": "0.26.4", diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 127f9ad64e..c0284fa4b6 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -33,6 +33,7 @@ import { TechDocsAddons } from '@backstage/plugin-techdocs-react'; import { UserSettingsPage } from '@backstage/plugin-user-settings'; import { TechRadarPage } from '@backstage-community/plugin-tech-radar'; +import { getThemes } from '@redhat-developer/red-hat-developer-hub-theme'; import { apis } from './apis'; import { entityPage } from './components/catalog/EntityPage'; @@ -61,6 +62,7 @@ const app = createApp({ components: { SignInPage: props => , }, + themes: getThemes(), }); const routes = ( diff --git a/plugins/acr/dev/index.tsx b/plugins/acr/dev/index.tsx index 80b63d48a7..2525a0b1b3 100644 --- a/plugins/acr/dev/index.tsx +++ b/plugins/acr/dev/index.tsx @@ -4,6 +4,8 @@ import { createDevApp } from '@backstage/dev-utils'; import { EntityProvider } from '@backstage/plugin-catalog-react'; import { TestApiProvider } from '@backstage/test-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { mockAcrTagsData } from '../src/__fixtures__/acrTagsObject'; import { mockEntity } from '../src/__fixtures__/mockEntity'; import { @@ -29,6 +31,7 @@ class MockAzureContainerRegistryApiClient createDevApp() .registerPlugin(acrPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( , title: 'Bulk import', diff --git a/plugins/bulk-import/package.json b/plugins/bulk-import/package.json index 921af246bd..113d245f63 100644 --- a/plugins/bulk-import/package.json +++ b/plugins/bulk-import/package.json @@ -35,8 +35,8 @@ "@material-ui/lab": "^4.0.0-alpha.61", "@mui/icons-material": "5.14.11", "@mui/material": "^5.12.2", - "lodash": "^4.17.21", "formik": "^2.4.5", + "lodash": "^4.17.21", "react-use": "^17.2.4" }, "peerDependencies": { @@ -49,10 +49,11 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.7.10", + "@playwright/test": "1.41.2", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.0.0", "@testing-library/react": "14.0.0", "@testing-library/user-event": "14.0.0", - "@playwright/test": "1.41.2", "msw": "1.0.0" }, "scalprum": { diff --git a/plugins/dynamic-plugins-info/dev/index.tsx b/plugins/dynamic-plugins-info/dev/index.tsx index 05f66811ff..22bbc2f18d 100644 --- a/plugins/dynamic-plugins-info/dev/index.tsx +++ b/plugins/dynamic-plugins-info/dev/index.tsx @@ -4,6 +4,8 @@ import { Content, Header, HeaderTabs, Page } from '@backstage/core-components'; import { createDevApp } from '@backstage/dev-utils'; import { TestApiProvider } from '@backstage/test-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { listLoadedPluginsResult } from '../src/__fixtures__/listLoadedPluginsResult'; import { dynamicPluginsInfoApiRef } from '../src/api/types'; import { DynamicPluginsInfoContent } from '../src/components/DynamicPluginsInfoContent/DynamicPluginsInfoContent'; @@ -17,6 +19,7 @@ const mockedApi = { createDevApp() .registerPlugin(dynamicPluginsInfoPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( diff --git a/plugins/dynamic-plugins-info/package.json b/plugins/dynamic-plugins-info/package.json index 3d33fd6cd6..b0de165097 100644 --- a/plugins/dynamic-plugins-info/package.json +++ b/plugins/dynamic-plugins-info/package.json @@ -40,6 +40,7 @@ "@backstage/core-app-api": "1.12.4", "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/feedback/dev/index.tsx b/plugins/feedback/dev/index.tsx index 29a15e8aba..d705571b70 100644 --- a/plugins/feedback/dev/index.tsx +++ b/plugins/feedback/dev/index.tsx @@ -3,6 +3,8 @@ import React from 'react'; import { createDevApp } from '@backstage/dev-utils'; import { EntityProvider } from '@backstage/plugin-catalog-react'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { mockEntity } from '../src/mocks'; import { EntityFeedbackPage, @@ -13,6 +15,7 @@ import { createDevApp() .registerPlugin(feedbackPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( <> diff --git a/plugins/feedback/package.json b/plugins/feedback/package.json index 3b66d12e4d..04ab8f2828 100644 --- a/plugins/feedback/package.json +++ b/plugins/feedback/package.json @@ -47,6 +47,7 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.0.0", diff --git a/plugins/jfrog-artifactory/dev/index.tsx b/plugins/jfrog-artifactory/dev/index.tsx index 9119c9218c..461c3d290c 100644 --- a/plugins/jfrog-artifactory/dev/index.tsx +++ b/plugins/jfrog-artifactory/dev/index.tsx @@ -4,6 +4,8 @@ import { Entity } from '@backstage/catalog-model'; import { createDevApp } from '@backstage/dev-utils'; import { EntityProvider } from '@backstage/plugin-catalog-react'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { JfrogArtifactoryPage, jfrogArtifactoryPlugin } from '../src/plugin'; const mockEntity: Entity = { @@ -25,6 +27,7 @@ const mockEntity: Entity = { createDevApp() .registerPlugin(jfrogArtifactoryPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( diff --git a/plugins/jfrog-artifactory/package.json b/plugins/jfrog-artifactory/package.json index 59ea90f1d9..300e737a8e 100644 --- a/plugins/jfrog-artifactory/package.json +++ b/plugins/jfrog-artifactory/package.json @@ -46,6 +46,7 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/kiali/dev/index.tsx b/plugins/kiali/dev/index.tsx index 50fc93a9a2..70a8ae770b 100644 --- a/plugins/kiali/dev/index.tsx +++ b/plugins/kiali/dev/index.tsx @@ -13,6 +13,7 @@ import { EntityProvider } from '@backstage/plugin-catalog-react'; import { TestApiProvider } from '@backstage/test-utils'; import { Grid } from '@material-ui/core'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; import { EntityKialiResourcesCard, kialiPlugin } from '../src'; import { getEntityRoutes, getRoutes } from '../src/components/Router'; @@ -619,6 +620,7 @@ const MockKialiError = () => { createDevApp() .registerPlugin(kialiPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: , title: 'KialiPage', diff --git a/plugins/kiali/package.json b/plugins/kiali/package.json index b463cb0d46..01c3307c2e 100644 --- a/plugins/kiali/package.json +++ b/plugins/kiali/package.json @@ -77,6 +77,7 @@ "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", "@playwright/test": "1.41.2", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/matomo/dev/index.tsx b/plugins/matomo/dev/index.tsx index bc863574cb..981d81fddf 100644 --- a/plugins/matomo/dev/index.tsx +++ b/plugins/matomo/dev/index.tsx @@ -2,10 +2,13 @@ import React from 'react'; import { createDevApp } from '@backstage/dev-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { MatomoPage, matomoPlugin } from '../src/plugin'; createDevApp() .registerPlugin(matomoPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: , title: 'Root Page', diff --git a/plugins/matomo/package.json b/plugins/matomo/package.json index e1655b5a34..027f6ca5c3 100644 --- a/plugins/matomo/package.json +++ b/plugins/matomo/package.json @@ -48,6 +48,7 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/nexus-repository-manager/dev/index.tsx b/plugins/nexus-repository-manager/dev/index.tsx index edde8443ce..01906eaa8d 100644 --- a/plugins/nexus-repository-manager/dev/index.tsx +++ b/plugins/nexus-repository-manager/dev/index.tsx @@ -4,6 +4,8 @@ import { createDevApp } from '@backstage/dev-utils'; import { EntityProvider } from '@backstage/plugin-catalog-react'; import { TestApiProvider } from '@backstage/test-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { entityMock, NexusRepositoryManagerApiClientMock, @@ -16,6 +18,7 @@ import { createDevApp() .registerPlugin(nexusRepositoryManagerPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( , title: 'Root Page', diff --git a/plugins/notifications/package.json b/plugins/notifications/package.json index efd8d5a816..c1521ed4fd 100644 --- a/plugins/notifications/package.json +++ b/plugins/notifications/package.json @@ -49,6 +49,7 @@ "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", "@openapitools/openapi-generator-cli": "2.7.0", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/ocm/dev/index.tsx b/plugins/ocm/dev/index.tsx index 1d849e0f7f..8b32790218 100644 --- a/plugins/ocm/dev/index.tsx +++ b/plugins/ocm/dev/index.tsx @@ -12,6 +12,7 @@ import { import { SearchApi, searchApiRef } from '@backstage/plugin-search-react'; import { Grid } from '@material-ui/core'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; import { ClusterAvailableResourceCard, @@ -83,6 +84,7 @@ createDevApp() }), ) .registerPlugin(ocmPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: , title: 'Root Page', diff --git a/plugins/ocm/package.json b/plugins/ocm/package.json index ce08aa9e84..cbcdb80d16 100644 --- a/plugins/ocm/package.json +++ b/plugins/ocm/package.json @@ -54,6 +54,7 @@ "@backstage/plugin-catalog": "1.19.0", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/plugins/openshift-image-registry/dev/index.tsx b/plugins/openshift-image-registry/dev/index.tsx index ce00d3ddb7..3d482b7ecc 100644 --- a/plugins/openshift-image-registry/dev/index.tsx +++ b/plugins/openshift-image-registry/dev/index.tsx @@ -3,6 +3,8 @@ import React from 'react'; import { createDevApp } from '@backstage/dev-utils'; import { TestApiProvider } from '@backstage/test-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { openshiftImageRegistryApiRef, OpenshiftImageRegistryApiV1, @@ -81,6 +83,7 @@ class MockOpenshiftImageRegistryApi implements OpenshiftImageRegistryApiV1 { createDevApp() .registerPlugin(openshiftImageRegistryPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( , title: 'Root Page', diff --git a/plugins/orchestrator/package.json b/plugins/orchestrator/package.json index 288e532fe7..192e30461a 100644 --- a/plugins/orchestrator/package.json +++ b/plugins/orchestrator/package.json @@ -73,9 +73,10 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", + "@storybook/preview-api": "7.5.3", "@storybook/react": "7.5.3", "@testing-library/react": "14.2.1", - "@storybook/preview-api": "7.5.3", "react": "18.3.1", "react-dom": "18.3.1" }, diff --git a/plugins/quay/dev/index.tsx b/plugins/quay/dev/index.tsx index 60a3c3d038..4f1668cecb 100644 --- a/plugins/quay/dev/index.tsx +++ b/plugins/quay/dev/index.tsx @@ -4,6 +4,8 @@ import { Entity } from '@backstage/catalog-model'; import { createDevApp } from '@backstage/dev-utils'; import { EntityProvider } from '@backstage/plugin-catalog-react'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { QuayPage, quayPlugin } from '../src/plugin'; const mockEntity: Entity = { @@ -25,6 +27,7 @@ const mockEntity: Entity = { createDevApp() .registerPlugin(quayPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( diff --git a/plugins/quay/package.json b/plugins/quay/package.json index 269a0a6ade..fc3923586c 100644 --- a/plugins/quay/package.json +++ b/plugins/quay/package.json @@ -50,6 +50,7 @@ "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", "@playwright/test": "1.41.2", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/react-hooks": "8.0.1", diff --git a/plugins/rbac/dev/index.tsx b/plugins/rbac/dev/index.tsx index 71ef6b8003..5318d901f5 100644 --- a/plugins/rbac/dev/index.tsx +++ b/plugins/rbac/dev/index.tsx @@ -9,6 +9,8 @@ import { TestApiProvider, } from '@backstage/test-utils'; +import { createDevAppThemes } from '@redhat-developer/red-hat-developer-hub-theme'; + import { PermissionPolicy, Role, @@ -130,6 +132,7 @@ const mockConfigApi = new MockConfigApi({ createDevApp() .registerPlugin(rbacPlugin) + .addThemes(createDevAppThemes()) .addPage({ element: ( , title: 'Root Page', diff --git a/plugins/web-terminal/package.json b/plugins/web-terminal/package.json index 2f2e3e1b2d..6098021d1f 100644 --- a/plugins/web-terminal/package.json +++ b/plugins/web-terminal/package.json @@ -49,6 +49,7 @@ "@backstage/dev-utils": "1.0.31", "@backstage/test-utils": "1.5.4", "@janus-idp/cli": "1.8.6", + "@redhat-developer/red-hat-developer-hub-theme": "*", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.1", diff --git a/yarn.lock b/yarn.lock index 3d5b163743..d8e9262b86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9485,6 +9485,11 @@ dependencies: "@react-hookz/deep-equal" "^1.0.4" +"@redhat-developer/red-hat-developer-hub-theme@*", "@redhat-developer/red-hat-developer-hub-theme@^0.0.40": + version "0.0.40" + resolved "https://registry.yarnpkg.com/@redhat-developer/red-hat-developer-hub-theme/-/red-hat-developer-hub-theme-0.0.40.tgz#870379e2107d40824de2c05e48b4dfe9156ccdc9" + integrity sha512-or2YShmjhcPCuGDYmio8abABLAkFXqcqFPhUA6QQJ9BFYHL97AFJ+h+1JNi29lZCcw4PHEUDACHJJZkN86Ld3g== + "@remix-run/router@1.16.0": version "1.16.0" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc" @@ -18473,12 +18478,7 @@ csstype@^3.0.11, csstype@^3.0.2, csstype@^3.1.2, csstype@^3.1.3: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -csv-parse@^5.3.5: - version "5.5.5" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" - integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== - -csv-parse@^5.5.5: +csv-parse@^5.3.5, csv-parse@^5.5.5: version "5.5.5" resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== @@ -32089,10 +32089,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== +semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -32101,13 +32101,6 @@ semver@^7.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== -semver@~7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"