@backstage/plugin-app 0.4.7-next.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/components/Toast/Toast.module.css.esm.js +2 -2
- package/dist/defaultApis.esm.js +2 -4
- package/dist/defaultApis.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/DiscoveryApi/FrontendHostDiscovery.esm.js +57 -0
- package/dist/packages/core-app-api/src/apis/implementations/DiscoveryApi/FrontendHostDiscovery.esm.js.map +1 -0
- package/dist/plugins/app/package.json.esm.js +1 -1
- package/package.json +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @backstage/plugin-app
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6e5fca3: **BREAKING** Changed the default discovery API implementation to use `FrontendHostDiscovery`, which supports the `discovery.endpoints` configuration for per-plugin endpoint overrides. Note that this will start honoring `discovery.endpoints` (including string `target` values), so if you currently use internal-only targets there, update them to the object form and move the internal URL to `target.internal`, omitting `target.external` (or setting it to a browser-reachable URL) to avoid routing the frontend to internal URLs.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 33d03ed: fix: make Toast text content selectable
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
- @backstage/core-components@0.18.11
|
|
14
|
+
- @backstage/frontend-plugin-api@0.17.2
|
|
15
|
+
- @backstage/ui@0.16.0
|
|
16
|
+
- @backstage/core-plugin-api@1.12.7
|
|
17
|
+
- @backstage/integration-react@1.2.19
|
|
18
|
+
- @backstage/plugin-app-react@0.2.4
|
|
19
|
+
- @backstage/plugin-permission-react@0.5.2
|
|
20
|
+
|
|
3
21
|
## 0.4.7-next.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Toast Container - Container for all toasts (bottom center) */\n.
|
|
4
|
-
var styles = {"container":"
|
|
3
|
+
var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Toast Container - Container for all toasts (bottom center) */\n.Toast_container__3899d80147 {\n position: fixed;\n bottom: 1rem;\n left: 50%;\n transform: translateX(-50%);\n z-index: 100050;\n width: 300px;\n outline: none;\n}\n\n@media (min-width: 500px) {\n .Toast_container__3899d80147 {\n width: 350px;\n bottom: 2rem;\n }\n}\n\n/* Individual Toast */\n.Toast_toast__3899d80147 {\n /* CSS Variables */\n --toast-peek: 0.75rem;\n --toast-scale: calc(max(0, 1 - (var(--toast-index) * 0.05)));\n\n /* Layout */\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n margin: 0 auto;\n box-sizing: border-box;\n\n outline: none;\n cursor: default;\n user-select: none;\n /* All toasts need pointer-events to trigger hover expansion */\n pointer-events: auto;\n\n /* Stacking */\n z-index: calc(1000 - var(--toast-index));\n transform-origin: bottom center;\n}\n\n.Toast_surface__3899d80147 {\n width: 100%;\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n padding: var(--bui-space-4);\n gap: var(--bui-space-3);\n border-radius: var(--bui-radius-3);\n font-size: var(--bui-font-size-3);\n background-color: var(--bui-bg-app);\n border: 1px solid var(--bui-border-1);\n color: var(--bui-fg-primary);\n box-shadow: var(--bui-shadow);\n user-select: text;\n}\n.Toast_toast__3899d80147:focus-visible {\n outline: 2px solid var(--bui-ring);\n outline-offset: 2px;\n}\n\n/* Extend hover area above each toast to fill gaps when expanded */\n/* This prevents the stack from collapsing when hovering between toasts */\n.Toast_toast__3899d80147::before {\n content: '';\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n /* Height matches the expanded gap to ensure continuous hover */\n height: 12px;\n pointer-events: auto;\n}\n\n/* Status variants - color icon and title */\n.Toast_toast__3899d80147[data-status='neutral'] .Toast_title__3899d80147 {\n color: var(--bui-fg-primary);\n}\n\n.Toast_toast__3899d80147[data-status='info'] .Toast_icon__3899d80147,\n.Toast_toast__3899d80147[data-status='info'] .Toast_title__3899d80147 {\n color: var(--bui-fg-info);\n}\n\n.Toast_toast__3899d80147[data-status='success'] .Toast_icon__3899d80147,\n.Toast_toast__3899d80147[data-status='success'] .Toast_title__3899d80147 {\n color: var(--bui-fg-success);\n}\n\n.Toast_toast__3899d80147[data-status='warning'] .Toast_icon__3899d80147,\n.Toast_toast__3899d80147[data-status='warning'] .Toast_title__3899d80147 {\n color: var(--bui-fg-warning);\n}\n\n.Toast_toast__3899d80147[data-status='danger'] .Toast_icon__3899d80147,\n.Toast_toast__3899d80147[data-status='danger'] .Toast_title__3899d80147 {\n color: var(--bui-fg-danger);\n}\n\n.Toast_wrapper__3899d80147 {\n display: flex;\n align-items: flex-start;\n gap: var(--bui-space-3);\n flex: 1;\n min-width: 0;\n}\n\n.Toast_content__3899d80147 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-1);\n}\n\n/* Icon */\n.Toast_icon__3899d80147 {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: var(--bui-space-0_5);\n}\n\n.Toast_icon__3899d80147 svg {\n width: 1rem;\n height: 1rem;\n}\n\n/* Title */\n.Toast_title__3899d80147 {\n font-weight: var(--bui-font-weight-bold);\n font-size: var(--bui-font-size-3);\n word-wrap: break-word;\n margin-top: var(--bui-space-0_5);\n}\n\n/* Description */\n.Toast_description__3899d80147 {\n color: var(--bui-fg-secondary);\n font-size: var(--bui-font-size-3);\n opacity: 0.9;\n word-wrap: break-word;\n}\n\n/* Links */\n.Toast_links__3899d80147 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--bui-space-3);\n margin-top: var(--bui-space-1);\n}\n\n.Toast_links__3899d80147 a {\n font-family: var(--bui-font-regular);\n padding: 0;\n margin: 0;\n cursor: pointer;\n display: inline-block;\n\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-thickness: min(2px, max(1px, 0.05em));\n text-underline-offset: calc(0.025em + 2px);\n text-decoration-color: color-mix(in srgb, currentColor 30%, transparent);\n}\n\n.Toast_links__3899d80147 a:hover {\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-thickness: min(2px, max(1px, 0.05em));\n text-underline-offset: calc(0.025em + 2px);\n text-decoration-color: color-mix(in srgb, currentColor 30%, transparent);\n}\n\n/* Close Button */\n.Toast_closeButton__3899d80147 {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n margin: -0.25rem -0.25rem 0 0;\n padding: 0;\n border: none;\n border-radius: var(--bui-radius-2);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: background-color 0.15s ease;\n color: var(--bui-fg-primary);\n}\n\n.Toast_closeButton__3899d80147 svg {\n width: 1rem;\n height: 1rem;\n}\n\n.Toast_closeButton__3899d80147:hover {\n background-color: var(--bui-bg-neutral-1-hover);\n}\n\n.Toast_closeButton__3899d80147:focus-visible {\n outline: 2px solid var(--bui-ring);\n outline-offset: 1px;\n}\n\n.Toast_closeButton__3899d80147:active {\n background-color: var(--bui-bg-neutral-1-pressed);\n}\n";
|
|
4
|
+
var styles = {"container":"Toast_container__3899d80147","toast":"Toast_toast__3899d80147","surface":"Toast_surface__3899d80147","title":"Toast_title__3899d80147","icon":"Toast_icon__3899d80147","wrapper":"Toast_wrapper__3899d80147","content":"Toast_content__3899d80147","description":"Toast_description__3899d80147","links":"Toast_links__3899d80147","closeButton":"Toast_closeButton__3899d80147"};
|
|
5
5
|
styleInject(css_248z);
|
|
6
6
|
|
|
7
7
|
export { styles as default };
|
package/dist/defaultApis.esm.js
CHANGED
|
@@ -14,7 +14,7 @@ import VMwareCloudAuth from './packages/core-app-api/src/apis/implementations/au
|
|
|
14
14
|
import OpenShiftAuth from './packages/core-app-api/src/apis/implementations/auth/openshift/OpenShiftAuth.esm.js';
|
|
15
15
|
import { AlertApiForwarder } from './packages/core-app-api/src/apis/implementations/AlertApi/AlertApiForwarder.esm.js';
|
|
16
16
|
import '@backstage/config';
|
|
17
|
-
import {
|
|
17
|
+
import { FrontendHostDiscovery } from './packages/core-app-api/src/apis/implementations/DiscoveryApi/FrontendHostDiscovery.esm.js';
|
|
18
18
|
import { ErrorAlerter } from './packages/core-app-api/src/apis/implementations/ErrorApi/ErrorAlerter.esm.js';
|
|
19
19
|
import { ErrorApiForwarder } from './packages/core-app-api/src/apis/implementations/ErrorApi/ErrorApiForwarder.esm.js';
|
|
20
20
|
import { UnhandledErrorForwarder } from './packages/core-app-api/src/apis/implementations/ErrorApi/UnhandledErrorForwarder.esm.js';
|
|
@@ -44,9 +44,7 @@ const apis = [
|
|
|
44
44
|
params: (defineParams) => defineParams({
|
|
45
45
|
api: discoveryApiRef,
|
|
46
46
|
deps: { configApi: configApiRef },
|
|
47
|
-
factory: ({ configApi }) =>
|
|
48
|
-
`${configApi.getString("backend.baseUrl")}/api/{{ pluginId }}`
|
|
49
|
-
)
|
|
47
|
+
factory: ({ configApi }) => FrontendHostDiscovery.fromConfig(configApi)
|
|
50
48
|
})
|
|
51
49
|
}),
|
|
52
50
|
ApiBlueprint.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultApis.esm.js","sources":["../src/defaultApis.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport {\n AlertApiForwarder,\n ErrorApiForwarder,\n ErrorAlerter,\n GoogleAuth,\n GithubAuth,\n OktaAuth,\n GitlabAuth,\n MicrosoftAuth,\n BitbucketAuth,\n BitbucketServerAuth,\n OAuthRequestManager,\n WebStorage,\n UrlPatternDiscovery,\n OneLoginAuth,\n UnhandledErrorForwarder,\n AtlassianAuth,\n createFetchApi,\n FetchMiddlewares,\n VMwareCloudAuth,\n OpenShiftAuth,\n} from '../../../packages/core-app-api/src/apis/implementations';\nimport { ToastApiForwarder, toastApiForwarderRef } from './apis';\n\nimport {\n alertApiRef,\n errorApiRef,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n oauthRequestApiRef,\n googleAuthApiRef,\n githubAuthApiRef,\n oktaAuthApiRef,\n gitlabAuthApiRef,\n microsoftAuthApiRef,\n storageApiRef,\n configApiRef,\n oneloginAuthApiRef,\n bitbucketAuthApiRef,\n bitbucketServerAuthApiRef,\n atlassianAuthApiRef,\n vmwareCloudAuthApiRef,\n openshiftAuthApiRef,\n} from '@backstage/core-plugin-api';\nimport {\n ApiBlueprint,\n dialogApiRef,\n toastApiRef,\n} from '@backstage/frontend-plugin-api';\nimport {\n ScmAuth,\n ScmIntegrationsApi,\n scmIntegrationsApiRef,\n} from '@backstage/integration-react';\nimport {\n permissionApiRef,\n IdentityPermissionApi,\n} from '@backstage/plugin-permission-react';\nimport { DefaultDialogApi } from './apis/DefaultDialogApi';\nimport { analyticsApi } from './extensions/AnalyticsApi';\n\nexport const apis = [\n ApiBlueprint.make({\n name: 'dialog',\n params: defineParams =>\n defineParams({\n api: dialogApiRef,\n deps: {},\n factory: () => new DefaultDialogApi(),\n }),\n }),\n ApiBlueprint.make({\n name: 'discovery',\n params: defineParams =>\n defineParams({\n api: discoveryApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) =>\n UrlPatternDiscovery.compile(\n `${configApi.getString('backend.baseUrl')}/api/{{ pluginId }}`,\n ),\n }),\n }),\n ApiBlueprint.make({\n name: 'alert',\n params: defineParams =>\n defineParams({\n api: alertApiRef,\n deps: {},\n factory: () => new AlertApiForwarder(),\n }),\n }),\n ApiBlueprint.make({\n name: 'toast-forwarder',\n params: defineParams =>\n defineParams({\n api: toastApiForwarderRef,\n deps: {},\n factory: () => new ToastApiForwarder(),\n }),\n }),\n ApiBlueprint.make({\n name: 'toast',\n params: defineParams =>\n defineParams({\n api: toastApiRef,\n deps: { forwarder: toastApiForwarderRef },\n factory: ({ forwarder }) => forwarder,\n }),\n }),\n analyticsApi,\n ApiBlueprint.make({\n name: 'error',\n params: defineParams =>\n defineParams({\n api: errorApiRef,\n deps: { alertApi: alertApiRef },\n factory: ({ alertApi }) => {\n const errorApi = new ErrorAlerter(alertApi, new ErrorApiForwarder());\n UnhandledErrorForwarder.forward(errorApi, { hidden: false });\n return errorApi;\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'storage',\n params: defineParams =>\n defineParams({\n api: storageApiRef,\n deps: { errorApi: errorApiRef },\n factory: ({ errorApi }) => WebStorage.create({ errorApi }),\n }),\n }),\n ApiBlueprint.make({\n name: 'fetch',\n params: defineParams =>\n defineParams({\n api: fetchApiRef,\n deps: {\n configApi: configApiRef,\n identityApi: identityApiRef,\n discoveryApi: discoveryApiRef,\n },\n factory: ({ configApi, identityApi, discoveryApi }) => {\n return createFetchApi({\n middleware: [\n FetchMiddlewares.resolvePluginProtocol({\n discoveryApi,\n }),\n FetchMiddlewares.injectIdentityAuth({\n identityApi,\n config: configApi,\n }),\n ],\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'oauth-request',\n params: defineParams =>\n defineParams({\n api: oauthRequestApiRef,\n deps: {},\n factory: () => new OAuthRequestManager(),\n }),\n }),\n ApiBlueprint.make({\n name: 'google-auth',\n params: defineParams =>\n defineParams({\n api: googleAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GoogleAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'microsoft-auth',\n params: defineParams =>\n defineParams({\n api: microsoftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n MicrosoftAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'github-auth',\n params: defineParams =>\n defineParams({\n api: githubAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GithubAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['read:user'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'okta-auth',\n params: defineParams =>\n defineParams({\n api: oktaAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OktaAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'gitlab-auth',\n params: defineParams =>\n defineParams({\n api: gitlabAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GitlabAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'onelogin-auth',\n params: defineParams =>\n defineParams({\n api: oneloginAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OneLoginAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'bitbucket-auth',\n params: defineParams =>\n defineParams({\n api: bitbucketAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['account'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'bitbucket-server-auth',\n params: defineParams =>\n defineParams({\n api: bitbucketServerAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketServerAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['REPO_READ'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'atlassian-auth',\n params: defineParams =>\n defineParams({\n api: atlassianAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return AtlassianAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'vmware-cloud-auth',\n params: defineParams =>\n defineParams({\n api: vmwareCloudAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return VMwareCloudAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'openshift-auth',\n params: defineParams =>\n defineParams({\n api: openshiftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return OpenShiftAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'permission',\n params: defineParams =>\n defineParams({\n api: permissionApiRef,\n deps: {\n discovery: discoveryApiRef,\n identity: identityApiRef,\n config: configApiRef,\n },\n factory: ({ config, discovery, identity }) =>\n IdentityPermissionApi.create({ config, discovery, identity }),\n }),\n }),\n ApiBlueprint.make({\n name: 'scm-auth',\n params: defineParams => defineParams(ScmAuth.createDefaultApiFactory()),\n }),\n ApiBlueprint.make({\n name: 'scm-integrations',\n params: defineParams =>\n defineParams({\n api: scmIntegrationsApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) => ScmIntegrationsApi.fromConfig(configApi),\n }),\n }),\n] as const;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defaultApis.esm.js","sources":["../src/defaultApis.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport {\n AlertApiForwarder,\n ErrorApiForwarder,\n ErrorAlerter,\n FrontendHostDiscovery,\n GoogleAuth,\n GithubAuth,\n OktaAuth,\n GitlabAuth,\n MicrosoftAuth,\n BitbucketAuth,\n BitbucketServerAuth,\n OAuthRequestManager,\n WebStorage,\n OneLoginAuth,\n UnhandledErrorForwarder,\n AtlassianAuth,\n createFetchApi,\n FetchMiddlewares,\n VMwareCloudAuth,\n OpenShiftAuth,\n} from '../../../packages/core-app-api/src/apis/implementations';\nimport { ToastApiForwarder, toastApiForwarderRef } from './apis';\n\nimport {\n alertApiRef,\n errorApiRef,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n oauthRequestApiRef,\n googleAuthApiRef,\n githubAuthApiRef,\n oktaAuthApiRef,\n gitlabAuthApiRef,\n microsoftAuthApiRef,\n storageApiRef,\n configApiRef,\n oneloginAuthApiRef,\n bitbucketAuthApiRef,\n bitbucketServerAuthApiRef,\n atlassianAuthApiRef,\n vmwareCloudAuthApiRef,\n openshiftAuthApiRef,\n} from '@backstage/core-plugin-api';\nimport {\n ApiBlueprint,\n dialogApiRef,\n toastApiRef,\n} from '@backstage/frontend-plugin-api';\nimport {\n ScmAuth,\n ScmIntegrationsApi,\n scmIntegrationsApiRef,\n} from '@backstage/integration-react';\nimport {\n permissionApiRef,\n IdentityPermissionApi,\n} from '@backstage/plugin-permission-react';\nimport { DefaultDialogApi } from './apis/DefaultDialogApi';\nimport { analyticsApi } from './extensions/AnalyticsApi';\n\nexport const apis = [\n ApiBlueprint.make({\n name: 'dialog',\n params: defineParams =>\n defineParams({\n api: dialogApiRef,\n deps: {},\n factory: () => new DefaultDialogApi(),\n }),\n }),\n ApiBlueprint.make({\n name: 'discovery',\n params: defineParams =>\n defineParams({\n api: discoveryApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) => FrontendHostDiscovery.fromConfig(configApi),\n }),\n }),\n ApiBlueprint.make({\n name: 'alert',\n params: defineParams =>\n defineParams({\n api: alertApiRef,\n deps: {},\n factory: () => new AlertApiForwarder(),\n }),\n }),\n ApiBlueprint.make({\n name: 'toast-forwarder',\n params: defineParams =>\n defineParams({\n api: toastApiForwarderRef,\n deps: {},\n factory: () => new ToastApiForwarder(),\n }),\n }),\n ApiBlueprint.make({\n name: 'toast',\n params: defineParams =>\n defineParams({\n api: toastApiRef,\n deps: { forwarder: toastApiForwarderRef },\n factory: ({ forwarder }) => forwarder,\n }),\n }),\n analyticsApi,\n ApiBlueprint.make({\n name: 'error',\n params: defineParams =>\n defineParams({\n api: errorApiRef,\n deps: { alertApi: alertApiRef },\n factory: ({ alertApi }) => {\n const errorApi = new ErrorAlerter(alertApi, new ErrorApiForwarder());\n UnhandledErrorForwarder.forward(errorApi, { hidden: false });\n return errorApi;\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'storage',\n params: defineParams =>\n defineParams({\n api: storageApiRef,\n deps: { errorApi: errorApiRef },\n factory: ({ errorApi }) => WebStorage.create({ errorApi }),\n }),\n }),\n ApiBlueprint.make({\n name: 'fetch',\n params: defineParams =>\n defineParams({\n api: fetchApiRef,\n deps: {\n configApi: configApiRef,\n identityApi: identityApiRef,\n discoveryApi: discoveryApiRef,\n },\n factory: ({ configApi, identityApi, discoveryApi }) => {\n return createFetchApi({\n middleware: [\n FetchMiddlewares.resolvePluginProtocol({\n discoveryApi,\n }),\n FetchMiddlewares.injectIdentityAuth({\n identityApi,\n config: configApi,\n }),\n ],\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'oauth-request',\n params: defineParams =>\n defineParams({\n api: oauthRequestApiRef,\n deps: {},\n factory: () => new OAuthRequestManager(),\n }),\n }),\n ApiBlueprint.make({\n name: 'google-auth',\n params: defineParams =>\n defineParams({\n api: googleAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GoogleAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'microsoft-auth',\n params: defineParams =>\n defineParams({\n api: microsoftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n MicrosoftAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'github-auth',\n params: defineParams =>\n defineParams({\n api: githubAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GithubAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['read:user'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'okta-auth',\n params: defineParams =>\n defineParams({\n api: oktaAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OktaAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'gitlab-auth',\n params: defineParams =>\n defineParams({\n api: gitlabAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GitlabAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'onelogin-auth',\n params: defineParams =>\n defineParams({\n api: oneloginAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OneLoginAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'bitbucket-auth',\n params: defineParams =>\n defineParams({\n api: bitbucketAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['account'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'bitbucket-server-auth',\n params: defineParams =>\n defineParams({\n api: bitbucketServerAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketServerAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['REPO_READ'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n }),\n ApiBlueprint.make({\n name: 'atlassian-auth',\n params: defineParams =>\n defineParams({\n api: atlassianAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return AtlassianAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'vmware-cloud-auth',\n params: defineParams =>\n defineParams({\n api: vmwareCloudAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return VMwareCloudAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'openshift-auth',\n params: defineParams =>\n defineParams({\n api: openshiftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return OpenShiftAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n }),\n ApiBlueprint.make({\n name: 'permission',\n params: defineParams =>\n defineParams({\n api: permissionApiRef,\n deps: {\n discovery: discoveryApiRef,\n identity: identityApiRef,\n config: configApiRef,\n },\n factory: ({ config, discovery, identity }) =>\n IdentityPermissionApi.create({ config, discovery, identity }),\n }),\n }),\n ApiBlueprint.make({\n name: 'scm-auth',\n params: defineParams => defineParams(ScmAuth.createDefaultApiFactory()),\n }),\n ApiBlueprint.make({\n name: 'scm-integrations',\n params: defineParams =>\n defineParams({\n api: scmIntegrationsApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) => ScmIntegrationsApi.fromConfig(configApi),\n }),\n }),\n] as const;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { UrlPatternDiscovery } from './UrlPatternDiscovery.esm.js';
|
|
2
|
+
|
|
3
|
+
class FrontendHostDiscovery {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a new FrontendHostDiscovery discovery instance by reading
|
|
6
|
+
* the external target URL from the `discovery.endpoints` config section.
|
|
7
|
+
*
|
|
8
|
+
* eg.
|
|
9
|
+
* ```yaml
|
|
10
|
+
* discovery:
|
|
11
|
+
* endpoints:
|
|
12
|
+
* - target: https://internal.example.com/internal-catalog
|
|
13
|
+
* plugins: [catalog]
|
|
14
|
+
* - target: https://internal.example.com/secure/api/{{pluginId}}
|
|
15
|
+
* plugins: [auth, permissions]
|
|
16
|
+
* - target:
|
|
17
|
+
* internal: https://internal.example.com/search
|
|
18
|
+
* external: https://example.com/search
|
|
19
|
+
* plugins: [search]
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* If a plugin is not declared in the config, the discovery will fall back to using the baseUrl with
|
|
23
|
+
* the provided `pathPattern` appended. The default path pattern is `"/api/{{ pluginId }}"`.
|
|
24
|
+
*/
|
|
25
|
+
static fromConfig(config, options) {
|
|
26
|
+
const path = options?.pathPattern ?? "/api/{{ pluginId }}";
|
|
27
|
+
const baseUrl = config.getString("backend.baseUrl");
|
|
28
|
+
const endpoints = config.getOptionalConfigArray("discovery.endpoints")?.flatMap((e) => {
|
|
29
|
+
const target = typeof e.get("target") === "object" ? e.getOptionalString("target.external") : e.getString("target");
|
|
30
|
+
if (!target) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
const discovery = UrlPatternDiscovery.compile(target);
|
|
34
|
+
return e.getStringArray("plugins").map((pluginId) => [pluginId, discovery]);
|
|
35
|
+
});
|
|
36
|
+
return new FrontendHostDiscovery(
|
|
37
|
+
new Map(endpoints),
|
|
38
|
+
UrlPatternDiscovery.compile(`${baseUrl}${path}`)
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
endpoints;
|
|
42
|
+
defaultEndpoint;
|
|
43
|
+
constructor(endpoints, defaultEndpoint) {
|
|
44
|
+
this.endpoints = endpoints;
|
|
45
|
+
this.defaultEndpoint = defaultEndpoint;
|
|
46
|
+
}
|
|
47
|
+
async getBaseUrl(pluginId) {
|
|
48
|
+
const endpoint = this.endpoints.get(pluginId);
|
|
49
|
+
if (endpoint) {
|
|
50
|
+
return endpoint.getBaseUrl(pluginId);
|
|
51
|
+
}
|
|
52
|
+
return this.defaultEndpoint.getBaseUrl(pluginId);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { FrontendHostDiscovery };
|
|
57
|
+
//# sourceMappingURL=FrontendHostDiscovery.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrontendHostDiscovery.esm.js","sources":["../../../../../../../../../packages/core-app-api/src/apis/implementations/DiscoveryApi/FrontendHostDiscovery.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Config } from '@backstage/config';\nimport { DiscoveryApi } from '@backstage/core-plugin-api';\nimport { UrlPatternDiscovery } from './UrlPatternDiscovery';\n\n/**\n * FrontendHostDiscovery is a config driven DiscoveryApi implementation.\n * It uses the app-config to determine the url for a plugin.\n *\n * @public\n */\nexport class FrontendHostDiscovery implements DiscoveryApi {\n /**\n * Creates a new FrontendHostDiscovery discovery instance by reading\n * the external target URL from the `discovery.endpoints` config section.\n *\n * eg.\n * ```yaml\n * discovery:\n * endpoints:\n * - target: https://internal.example.com/internal-catalog\n * plugins: [catalog]\n * - target: https://internal.example.com/secure/api/{{pluginId}}\n * plugins: [auth, permissions]\n * - target:\n * internal: https://internal.example.com/search\n * external: https://example.com/search\n * plugins: [search]\n * ```\n *\n * If a plugin is not declared in the config, the discovery will fall back to using the baseUrl with\n * the provided `pathPattern` appended. The default path pattern is `\"/api/{{ pluginId }}\"`.\n */\n static fromConfig(config: Config, options?: { pathPattern?: string }) {\n const path = options?.pathPattern ?? '/api/{{ pluginId }}';\n const baseUrl = config.getString('backend.baseUrl');\n\n const endpoints = config\n .getOptionalConfigArray('discovery.endpoints')\n ?.flatMap(e => {\n const target =\n typeof e.get('target') === 'object'\n ? e.getOptionalString('target.external')\n : e.getString('target');\n if (!target) {\n return [];\n }\n const discovery = UrlPatternDiscovery.compile(target);\n return e\n .getStringArray('plugins')\n .map(pluginId => [pluginId, discovery] as const);\n });\n\n return new FrontendHostDiscovery(\n new Map(endpoints),\n UrlPatternDiscovery.compile(`${baseUrl}${path}`),\n );\n }\n\n private readonly endpoints: Map<string, DiscoveryApi>;\n private readonly defaultEndpoint: DiscoveryApi;\n\n private constructor(\n endpoints: Map<string, DiscoveryApi>,\n defaultEndpoint: DiscoveryApi,\n ) {\n this.endpoints = endpoints;\n this.defaultEndpoint = defaultEndpoint;\n }\n\n async getBaseUrl(pluginId: string): Promise<string> {\n const endpoint = this.endpoints.get(pluginId);\n if (endpoint) {\n return endpoint.getBaseUrl(pluginId);\n }\n return this.defaultEndpoint.getBaseUrl(pluginId);\n }\n}\n"],"names":[],"mappings":";;AAyBO,MAAM,qBAAA,CAA8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBzD,OAAO,UAAA,CAAW,MAAA,EAAgB,OAAA,EAAoC;AACpE,IAAA,MAAM,IAAA,GAAO,SAAS,WAAA,IAAe,qBAAA;AACrC,IAAA,MAAM,OAAA,GAAU,MAAA,CAAO,SAAA,CAAU,iBAAiB,CAAA;AAElD,IAAA,MAAM,YAAY,MAAA,CACf,sBAAA,CAAuB,qBAAqB,CAAA,EAC3C,QAAQ,CAAA,CAAA,KAAK;AACb,MAAA,MAAM,MAAA,GACJ,OAAO,CAAA,CAAE,GAAA,CAAI,QAAQ,CAAA,KAAM,QAAA,GACvB,CAAA,CAAE,iBAAA,CAAkB,iBAAiB,CAAA,GACrC,CAAA,CAAE,UAAU,QAAQ,CAAA;AAC1B,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,OAAO,EAAC;AAAA,MACV;AACA,MAAA,MAAM,SAAA,GAAY,mBAAA,CAAoB,OAAA,CAAQ,MAAM,CAAA;AACpD,MAAA,OAAO,CAAA,CACJ,eAAe,SAAS,CAAA,CACxB,IAAI,CAAA,QAAA,KAAY,CAAC,QAAA,EAAU,SAAS,CAAU,CAAA;AAAA,IACnD,CAAC,CAAA;AAEH,IAAA,OAAO,IAAI,qBAAA;AAAA,MACT,IAAI,IAAI,SAAS,CAAA;AAAA,MACjB,oBAAoB,OAAA,CAAQ,CAAA,EAAG,OAAO,CAAA,EAAG,IAAI,CAAA,CAAE;AAAA,KACjD;AAAA,EACF;AAAA,EAEiB,SAAA;AAAA,EACA,eAAA;AAAA,EAET,WAAA,CACN,WACA,eAAA,EACA;AACA,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AACjB,IAAA,IAAA,CAAK,eAAA,GAAkB,eAAA;AAAA,EACzB;AAAA,EAEA,MAAM,WAAW,QAAA,EAAmC;AAClD,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,QAAQ,CAAA;AAC5C,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,OAAO,QAAA,CAAS,WAAW,QAAQ,CAAA;AAAA,IACrC;AACA,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,UAAA,CAAW,QAAQ,CAAA;AAAA,EACjD;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"backstage": {
|
|
5
5
|
"role": "frontend-plugin",
|
|
6
6
|
"pluginId": "app",
|
|
@@ -63,17 +63,17 @@
|
|
|
63
63
|
"test": "backstage-cli package test"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@backstage/core-components": "0.18.11
|
|
67
|
-
"@backstage/core-plugin-api": "1.12.7
|
|
68
|
-
"@backstage/filter-predicates": "0.1.3",
|
|
69
|
-
"@backstage/frontend-plugin-api": "0.17.2
|
|
70
|
-
"@backstage/integration-react": "1.2.19
|
|
71
|
-
"@backstage/plugin-app-react": "0.2.4
|
|
72
|
-
"@backstage/plugin-permission-react": "0.5.2
|
|
73
|
-
"@backstage/theme": "0.7.3",
|
|
74
|
-
"@backstage/types": "1.2.2",
|
|
75
|
-
"@backstage/ui": "0.
|
|
76
|
-
"@backstage/version-bridge": "1.0.12",
|
|
66
|
+
"@backstage/core-components": "^0.18.11",
|
|
67
|
+
"@backstage/core-plugin-api": "^1.12.7",
|
|
68
|
+
"@backstage/filter-predicates": "^0.1.3",
|
|
69
|
+
"@backstage/frontend-plugin-api": "^0.17.2",
|
|
70
|
+
"@backstage/integration-react": "^1.2.19",
|
|
71
|
+
"@backstage/plugin-app-react": "^0.2.4",
|
|
72
|
+
"@backstage/plugin-permission-react": "^0.5.2",
|
|
73
|
+
"@backstage/theme": "^0.7.3",
|
|
74
|
+
"@backstage/types": "^1.2.2",
|
|
75
|
+
"@backstage/ui": "^0.16.0",
|
|
76
|
+
"@backstage/version-bridge": "^1.0.12",
|
|
77
77
|
"@material-ui/core": "^4.9.13",
|
|
78
78
|
"@material-ui/icons": "^4.9.1",
|
|
79
79
|
"@material-ui/lab": "^4.0.0-alpha.61",
|
|
@@ -87,11 +87,11 @@
|
|
|
87
87
|
"zod": "^4.0.0"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@backstage/cli": "0.36.3
|
|
91
|
-
"@backstage/dev-utils": "1.1.24
|
|
92
|
-
"@backstage/frontend-defaults": "0.5.3
|
|
93
|
-
"@backstage/frontend-test-utils": "0.6.1
|
|
94
|
-
"@backstage/test-utils": "1.7.19
|
|
90
|
+
"@backstage/cli": "^0.36.3",
|
|
91
|
+
"@backstage/dev-utils": "^1.1.24",
|
|
92
|
+
"@backstage/frontend-defaults": "^0.5.3",
|
|
93
|
+
"@backstage/frontend-test-utils": "^0.6.1",
|
|
94
|
+
"@backstage/test-utils": "^1.7.19",
|
|
95
95
|
"@testing-library/jest-dom": "^6.0.0",
|
|
96
96
|
"@testing-library/react": "^16.0.0",
|
|
97
97
|
"@testing-library/user-event": "^14.0.0",
|