@backstage/plugin-app 0.2.0-next.1 → 0.2.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 +64 -0
- package/README.md +1 -7
- package/dist/alpha/appModulePublicSignIn.esm.js.map +1 -1
- package/dist/apis/DefaultDialogApi.esm.js.map +1 -1
- package/dist/apis/SwappableComponentsApi/DefaultSwappableComponentsApi.esm.js +40 -0
- package/dist/apis/SwappableComponentsApi/DefaultSwappableComponentsApi.esm.js.map +1 -0
- package/dist/defaultApis.esm.js +3 -3
- package/dist/defaultApis.esm.js.map +1 -1
- package/dist/extensions/AnalyticsApi.esm.js.map +1 -1
- package/dist/extensions/App.esm.js +1 -1
- package/dist/extensions/App.esm.js.map +1 -1
- package/dist/extensions/AppLanguageApi.esm.js.map +1 -1
- package/dist/extensions/AppLayout.esm.js +1 -1
- package/dist/extensions/AppLayout.esm.js.map +1 -1
- package/dist/extensions/AppNav.esm.js +1 -1
- package/dist/extensions/AppNav.esm.js.map +1 -1
- package/dist/extensions/AppRoot.esm.js +1 -1
- package/dist/extensions/AppRoot.esm.js.map +1 -1
- package/dist/extensions/AppRoutes.esm.js +1 -4
- package/dist/extensions/AppRoutes.esm.js.map +1 -1
- package/dist/extensions/AppThemeApi.esm.js +1 -1
- package/dist/extensions/AppThemeApi.esm.js.map +1 -1
- package/dist/extensions/DefaultSignInPage.esm.js.map +1 -1
- package/dist/extensions/DialogDisplay.esm.js.map +1 -1
- package/dist/extensions/FeatureFlagsApi.esm.js.map +1 -1
- package/dist/extensions/IconsApi.esm.js +1 -1
- package/dist/extensions/IconsApi.esm.js.map +1 -1
- package/dist/extensions/LegacyComponentsApi.esm.js +26 -0
- package/dist/extensions/LegacyComponentsApi.esm.js.map +1 -0
- package/dist/extensions/SwappableComponentsApi.esm.js +40 -0
- package/dist/extensions/SwappableComponentsApi.esm.js.map +1 -0
- package/dist/extensions/TranslationsApi.esm.js +1 -1
- package/dist/extensions/TranslationsApi.esm.js.map +1 -1
- package/dist/extensions/components.esm.js +21 -43
- package/dist/extensions/components.esm.js.map +1 -1
- package/dist/extensions/elements.esm.js.map +1 -1
- package/dist/index.d.ts +87 -12
- package/dist/packages/app-defaults/src/defaults/apis.esm.js +2 -2
- package/dist/packages/app-defaults/src/defaults/apis.esm.js.map +1 -1
- package/dist/packages/app-defaults/src/defaults/icons.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/AlertApi/AlertApiForwarder.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/AppLanguageApi/AppLanguageSelector.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/AppThemeApi/AppThemeSelector.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/DiscoveryApi/UrlPatternDiscovery.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorAlerter.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorApiForwarder.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/UnhandledErrorForwarder.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/FetchApi/FetchMiddlewares.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/FetchApi/createFetchApi.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthPendingRequests.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthRequestManager.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/StorageApi/WebStorage.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/TranslationApi/I18nextTranslationApi.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/atlassian/AtlassianAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucket/BitbucketAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucketServer/BitbucketServerAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/github/GithubAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/gitlab/GitlabAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/google/GoogleAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/microsoft/MicrosoftAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/okta/OktaAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/onelogin/OneLoginAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/saml/types.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/implementations/auth/vmwareCloud/VMwareCloudAuth.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/system/ApiAggregator.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/apis/system/ApiProvider.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/app/AppRouter.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/app/AppThemeProvider.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/app/InternalAppContext.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/app/isProtectedApp.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/app/isReactRouterBeta.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/AuthSessionManager/RefreshingAuthSessionManager.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/AuthSessionManager/SessionStateTracker.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/AuthSessionManager/common.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/loginPopup.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/lib/subjects.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/routing/FeatureFlagged.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/routing/FlatRoutes.esm.js.map +1 -1
- package/dist/packages/core-app-api/src/routing/RouteTracker.esm.js.map +1 -1
- package/dist/packages/core-plugin-api/src/translation/TranslationRef.esm.js.map +1 -1
- package/dist/packages/core-plugin-api/src/translation/TranslationResource.esm.js.map +1 -1
- package/dist/packages/frontend-app-api/src/apis/implementations/IconsApi/DefaultIconsApi.esm.js.map +1 -1
- package/dist/packages/frontend-app-api/src/routing/RouteTracker.esm.js.map +1 -1
- package/dist/packages/frontend-app-api/src/routing/getBasePath.esm.js.map +1 -1
- package/dist/packages/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js +7 -0
- package/dist/packages/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js.map +1 -0
- package/dist/packages/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js +7 -0
- package/dist/packages/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js.map +1 -0
- package/dist/packages/frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js +9 -0
- package/dist/packages/frontend-internal/src/wiring/InternalSwappableComponentRef.esm.js.map +1 -0
- package/dist/packages/opaque-internal/src/OpaqueType.esm.js +103 -0
- package/dist/packages/opaque-internal/src/OpaqueType.esm.js.map +1 -0
- package/dist/plugin.esm.js +9 -7
- package/dist/plugin.esm.js.map +1 -1
- package/dist/plugins/app/package.json.esm.js +7 -5
- package/dist/plugins/app/package.json.esm.js.map +1 -1
- package/package.json +18 -16
- package/dist/extensions/ComponentsApi.esm.js +0 -28
- package/dist/extensions/ComponentsApi.esm.js.map +0 -1
- package/dist/packages/app-defaults/src/defaults/components.esm.js +0 -46
- package/dist/packages/app-defaults/src/defaults/components.esm.js.map +0 -1
- package/dist/packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.esm.js +0 -21
- package/dist/packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.esm.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "@backstage/plugin-app";
|
|
2
|
-
var version = "0.2.0
|
|
2
|
+
var version = "0.2.0";
|
|
3
3
|
var backstage = {
|
|
4
4
|
role: "frontend-plugin",
|
|
5
5
|
pluginId: "app",
|
|
@@ -24,6 +24,8 @@ var exports = {
|
|
|
24
24
|
"./alpha": "./src/alpha/index.ts",
|
|
25
25
|
"./package.json": "./package.json"
|
|
26
26
|
};
|
|
27
|
+
var main = "src/index.ts";
|
|
28
|
+
var types = "src/index.ts";
|
|
27
29
|
var typesVersions = {
|
|
28
30
|
"*": {
|
|
29
31
|
alpha: [
|
|
@@ -34,8 +36,6 @@ var typesVersions = {
|
|
|
34
36
|
]
|
|
35
37
|
}
|
|
36
38
|
};
|
|
37
|
-
var main = "src/index.ts";
|
|
38
|
-
var types = "src/index.ts";
|
|
39
39
|
var files = [
|
|
40
40
|
"dist"
|
|
41
41
|
];
|
|
@@ -56,11 +56,13 @@ var dependencies = {
|
|
|
56
56
|
"@backstage/plugin-permission-react": "workspace:^",
|
|
57
57
|
"@backstage/theme": "workspace:^",
|
|
58
58
|
"@backstage/types": "workspace:^",
|
|
59
|
+
"@backstage/version-bridge": "workspace:^",
|
|
59
60
|
"@material-ui/core": "^4.9.13",
|
|
60
61
|
"@material-ui/icons": "^4.9.1",
|
|
61
62
|
"@material-ui/lab": "^4.0.0-alpha.61",
|
|
62
63
|
"@react-hookz/web": "^24.0.0",
|
|
63
|
-
"react-use": "^17.2.4"
|
|
64
|
+
"react-use": "^17.2.4",
|
|
65
|
+
zod: "^3.22.4"
|
|
64
66
|
};
|
|
65
67
|
var devDependencies = {
|
|
66
68
|
"@backstage/cli": "workspace:^",
|
|
@@ -97,9 +99,9 @@ var _package = {
|
|
|
97
99
|
license: license,
|
|
98
100
|
sideEffects: sideEffects,
|
|
99
101
|
exports: exports,
|
|
100
|
-
typesVersions: typesVersions,
|
|
101
102
|
main: main,
|
|
102
103
|
types: types,
|
|
104
|
+
typesVersions: typesVersions,
|
|
103
105
|
files: files,
|
|
104
106
|
scripts: scripts,
|
|
105
107
|
dependencies: dependencies,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-app",
|
|
3
|
-
"version": "0.2.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"backstage": {
|
|
5
5
|
"role": "frontend-plugin",
|
|
6
6
|
"pluginId": "app",
|
|
@@ -37,6 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"./package.json": "./package.json"
|
|
39
39
|
},
|
|
40
|
+
"main": "./dist/index.esm.js",
|
|
41
|
+
"types": "./dist/index.d.ts",
|
|
40
42
|
"typesVersions": {
|
|
41
43
|
"*": {
|
|
42
44
|
"alpha": [
|
|
@@ -47,8 +49,6 @@
|
|
|
47
49
|
]
|
|
48
50
|
}
|
|
49
51
|
},
|
|
50
|
-
"main": "./dist/index.esm.js",
|
|
51
|
-
"types": "./dist/index.d.ts",
|
|
52
52
|
"files": [
|
|
53
53
|
"dist"
|
|
54
54
|
],
|
|
@@ -62,25 +62,27 @@
|
|
|
62
62
|
"test": "backstage-cli package test"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@backstage/core-components": "0.17.5
|
|
66
|
-
"@backstage/core-plugin-api": "1.10.9",
|
|
67
|
-
"@backstage/frontend-plugin-api": "0.11.0
|
|
68
|
-
"@backstage/integration-react": "1.2.9",
|
|
69
|
-
"@backstage/plugin-permission-react": "0.4.36",
|
|
70
|
-
"@backstage/theme": "0.6.8
|
|
71
|
-
"@backstage/types": "1.2.1",
|
|
65
|
+
"@backstage/core-components": "^0.17.5",
|
|
66
|
+
"@backstage/core-plugin-api": "^1.10.9",
|
|
67
|
+
"@backstage/frontend-plugin-api": "^0.11.0",
|
|
68
|
+
"@backstage/integration-react": "^1.2.9",
|
|
69
|
+
"@backstage/plugin-permission-react": "^0.4.36",
|
|
70
|
+
"@backstage/theme": "^0.6.8",
|
|
71
|
+
"@backstage/types": "^1.2.1",
|
|
72
|
+
"@backstage/version-bridge": "^1.0.11",
|
|
72
73
|
"@material-ui/core": "^4.9.13",
|
|
73
74
|
"@material-ui/icons": "^4.9.1",
|
|
74
75
|
"@material-ui/lab": "^4.0.0-alpha.61",
|
|
75
76
|
"@react-hookz/web": "^24.0.0",
|
|
76
|
-
"react-use": "^17.2.4"
|
|
77
|
+
"react-use": "^17.2.4",
|
|
78
|
+
"zod": "^3.22.4"
|
|
77
79
|
},
|
|
78
80
|
"devDependencies": {
|
|
79
|
-
"@backstage/cli": "0.34.0
|
|
80
|
-
"@backstage/dev-utils": "1.1.13
|
|
81
|
-
"@backstage/frontend-defaults": "0.3.0
|
|
82
|
-
"@backstage/frontend-test-utils": "0.3.5
|
|
83
|
-
"@backstage/test-utils": "1.7.11
|
|
81
|
+
"@backstage/cli": "^0.34.0",
|
|
82
|
+
"@backstage/dev-utils": "^1.1.13",
|
|
83
|
+
"@backstage/frontend-defaults": "^0.3.0",
|
|
84
|
+
"@backstage/frontend-test-utils": "^0.3.5",
|
|
85
|
+
"@backstage/test-utils": "^1.7.11",
|
|
84
86
|
"@testing-library/jest-dom": "^6.0.0",
|
|
85
87
|
"@testing-library/react": "^16.0.0",
|
|
86
88
|
"@testing-library/user-event": "^14.0.0",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ApiBlueprint, createExtensionInput, createComponentExtension, componentsApiRef } from '@backstage/frontend-plugin-api';
|
|
2
|
-
import { DefaultComponentsApi } from '../packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.esm.js';
|
|
3
|
-
|
|
4
|
-
const ComponentsApi = ApiBlueprint.makeWithOverrides({
|
|
5
|
-
name: "components",
|
|
6
|
-
inputs: {
|
|
7
|
-
components: createExtensionInput(
|
|
8
|
-
[createComponentExtension.componentDataRef],
|
|
9
|
-
{ replaces: [{ id: "app", input: "components" }] }
|
|
10
|
-
)
|
|
11
|
-
},
|
|
12
|
-
factory: (originalFactory, { inputs }) => {
|
|
13
|
-
return originalFactory(
|
|
14
|
-
(defineParams) => defineParams({
|
|
15
|
-
api: componentsApiRef,
|
|
16
|
-
deps: {},
|
|
17
|
-
factory: () => DefaultComponentsApi.fromComponents(
|
|
18
|
-
inputs.components.map(
|
|
19
|
-
(i) => i.get(createComponentExtension.componentDataRef)
|
|
20
|
-
)
|
|
21
|
-
)
|
|
22
|
-
})
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
export { ComponentsApi };
|
|
28
|
-
//# sourceMappingURL=ComponentsApi.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentsApi.esm.js","sources":["../../src/extensions/ComponentsApi.tsx"],"sourcesContent":["/*\n * Copyright 2024 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\nimport {\n createComponentExtension,\n createExtensionInput,\n ApiBlueprint,\n componentsApiRef,\n} from '@backstage/frontend-plugin-api';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport { DefaultComponentsApi } from '../../../../packages/frontend-app-api/src/apis/implementations/ComponentsApi';\n\n/**\n * Contains the shareable components installed into the app.\n */\nexport const ComponentsApi = ApiBlueprint.makeWithOverrides({\n name: 'components',\n inputs: {\n components: createExtensionInput(\n [createComponentExtension.componentDataRef],\n { replaces: [{ id: 'app', input: 'components' }] },\n ),\n },\n factory: (originalFactory, { inputs }) => {\n return originalFactory(defineParams =>\n defineParams({\n api: componentsApiRef,\n deps: {},\n factory: () =>\n DefaultComponentsApi.fromComponents(\n inputs.components.map(i =>\n i.get(createComponentExtension.componentDataRef),\n ),\n ),\n }),\n );\n },\n});\n"],"names":[],"mappings":";;;AA4Ba,MAAA,aAAA,GAAgB,aAAa,iBAAkB,CAAA;AAAA,EAC1D,IAAM,EAAA,YAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,UAAY,EAAA,oBAAA;AAAA,MACV,CAAC,yBAAyB,gBAAgB,CAAA;AAAA,MAC1C,EAAE,UAAU,CAAC,EAAE,IAAI,KAAO,EAAA,KAAA,EAAO,YAAa,EAAC,CAAE;AAAA;AACnD,GACF;AAAA,EACA,OAAS,EAAA,CAAC,eAAiB,EAAA,EAAE,QAAa,KAAA;AACxC,IAAO,OAAA,eAAA;AAAA,MAAgB,kBACrB,YAAa,CAAA;AAAA,QACX,GAAK,EAAA,gBAAA;AAAA,QACL,MAAM,EAAC;AAAA,QACP,OAAA,EAAS,MACP,oBAAqB,CAAA,cAAA;AAAA,UACnB,OAAO,UAAW,CAAA,GAAA;AAAA,YAAI,CACpB,CAAA,KAAA,CAAA,CAAE,GAAI,CAAA,wBAAA,CAAyB,gBAAgB;AAAA;AACjD;AACF,OACH;AAAA,KACH;AAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import Button from '@material-ui/core/Button';
|
|
3
|
-
import { Progress, ErrorPage, ErrorPanel } from '@backstage/core-components';
|
|
4
|
-
import { BrowserRouter, useInRouterContext, MemoryRouter } from 'react-router-dom';
|
|
5
|
-
|
|
6
|
-
function OptionallyWrapInRouter({ children }) {
|
|
7
|
-
if (useInRouterContext()) {
|
|
8
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
9
|
-
}
|
|
10
|
-
return /* @__PURE__ */ jsx(MemoryRouter, { children });
|
|
11
|
-
}
|
|
12
|
-
const DefaultNotFoundPage = () => /* @__PURE__ */ jsx(ErrorPage, { status: "404", statusMessage: "PAGE NOT FOUND" });
|
|
13
|
-
const DefaultBootErrorPage = ({ step, error }) => {
|
|
14
|
-
let message = "";
|
|
15
|
-
if (step === "load-config") {
|
|
16
|
-
message = `The configuration failed to load, someone should have a look at this error: ${error.message}`;
|
|
17
|
-
} else if (step === "load-chunk") {
|
|
18
|
-
message = `Lazy loaded chunk failed to load, try to reload the page: ${error.message}`;
|
|
19
|
-
}
|
|
20
|
-
return /* @__PURE__ */ jsx(OptionallyWrapInRouter, { children: /* @__PURE__ */ jsx(ErrorPage, { statusMessage: message, stack: error.stack }) });
|
|
21
|
-
};
|
|
22
|
-
const DefaultErrorBoundaryFallback = ({
|
|
23
|
-
error,
|
|
24
|
-
resetError,
|
|
25
|
-
plugin
|
|
26
|
-
}) => {
|
|
27
|
-
return /* @__PURE__ */ jsx(
|
|
28
|
-
ErrorPanel,
|
|
29
|
-
{
|
|
30
|
-
title: `Error in ${plugin?.getId()}`,
|
|
31
|
-
defaultExpanded: true,
|
|
32
|
-
error,
|
|
33
|
-
children: /* @__PURE__ */ jsx(Button, { variant: "outlined", onClick: resetError, children: "Retry" })
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
};
|
|
37
|
-
const components = {
|
|
38
|
-
Progress,
|
|
39
|
-
Router: BrowserRouter,
|
|
40
|
-
NotFoundErrorPage: DefaultNotFoundPage,
|
|
41
|
-
BootErrorPage: DefaultBootErrorPage,
|
|
42
|
-
ErrorBoundaryFallback: DefaultErrorBoundaryFallback
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export { OptionallyWrapInRouter, components };
|
|
46
|
-
//# sourceMappingURL=components.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.esm.js","sources":["../../../../../../../packages/app-defaults/src/defaults/components.tsx"],"sourcesContent":["/*\n * Copyright 2021 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\nimport { ReactNode } from 'react';\nimport Button from '@material-ui/core/Button';\nimport { ErrorPanel, Progress, ErrorPage } from '@backstage/core-components';\nimport {\n MemoryRouter,\n useInRouterContext,\n BrowserRouter,\n} from 'react-router-dom';\nimport {\n AppComponents,\n BootErrorPageProps,\n ErrorBoundaryFallbackProps,\n} from '@backstage/core-plugin-api';\n\nexport function OptionallyWrapInRouter({ children }: { children: ReactNode }) {\n if (useInRouterContext()) {\n return <>{children}</>;\n }\n return <MemoryRouter>{children}</MemoryRouter>;\n}\n\nconst DefaultNotFoundPage = () => (\n <ErrorPage status=\"404\" statusMessage=\"PAGE NOT FOUND\" />\n);\n\nconst DefaultBootErrorPage = ({ step, error }: BootErrorPageProps) => {\n let message = '';\n if (step === 'load-config') {\n message = `The configuration failed to load, someone should have a look at this error: ${error.message}`;\n } else if (step === 'load-chunk') {\n message = `Lazy loaded chunk failed to load, try to reload the page: ${error.message}`;\n }\n // TODO: figure out a nicer way to handle routing on the error page, when it can be done.\n return (\n <OptionallyWrapInRouter>\n <ErrorPage statusMessage={message} stack={error.stack} />\n </OptionallyWrapInRouter>\n );\n};\n\nconst DefaultErrorBoundaryFallback = ({\n error,\n resetError,\n plugin,\n}: ErrorBoundaryFallbackProps) => {\n return (\n <ErrorPanel\n title={`Error in ${plugin?.getId()}`}\n defaultExpanded\n error={error}\n >\n <Button variant=\"outlined\" onClick={resetError}>\n Retry\n </Button>\n </ErrorPanel>\n );\n};\n\n/**\n * Creates a set of default components to pass along to {@link @backstage/core-app-api#createSpecializedApp}.\n *\n * @public\n */\nexport const components: AppComponents = {\n Progress,\n Router: BrowserRouter,\n NotFoundErrorPage: DefaultNotFoundPage,\n BootErrorPage: DefaultBootErrorPage,\n ErrorBoundaryFallback: DefaultErrorBoundaryFallback,\n};\n"],"names":[],"mappings":";;;;;AA8BgB,SAAA,sBAAA,CAAuB,EAAE,QAAA,EAAqC,EAAA;AAC5E,EAAA,IAAI,oBAAsB,EAAA;AACxB,IAAA,uCAAU,QAAS,EAAA,CAAA;AAAA;AAErB,EAAO,uBAAA,GAAA,CAAC,gBAAc,QAAS,EAAA,CAAA;AACjC;AAEA,MAAM,sBAAsB,sBAC1B,GAAA,CAAC,aAAU,MAAO,EAAA,KAAA,EAAM,eAAc,gBAAiB,EAAA,CAAA;AAGzD,MAAM,oBAAuB,GAAA,CAAC,EAAE,IAAA,EAAM,OAAgC,KAAA;AACpE,EAAA,IAAI,OAAU,GAAA,EAAA;AACd,EAAA,IAAI,SAAS,aAAe,EAAA;AAC1B,IAAU,OAAA,GAAA,CAAA,4EAAA,EAA+E,MAAM,OAAO,CAAA,CAAA;AAAA,GACxG,MAAA,IAAW,SAAS,YAAc,EAAA;AAChC,IAAU,OAAA,GAAA,CAAA,0DAAA,EAA6D,MAAM,OAAO,CAAA,CAAA;AAAA;AAGtF,EACE,uBAAA,GAAA,CAAC,0BACC,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA,EAAU,eAAe,OAAS,EAAA,KAAA,EAAO,KAAM,CAAA,KAAA,EAAO,CACzD,EAAA,CAAA;AAEJ,CAAA;AAEA,MAAM,+BAA+B,CAAC;AAAA,EACpC,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAkC,KAAA;AAChC,EACE,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,CAAA,SAAA,EAAY,MAAQ,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,MAClC,eAAe,EAAA,IAAA;AAAA,MACf,KAAA;AAAA,MAEA,8BAAC,MAAO,EAAA,EAAA,OAAA,EAAQ,UAAW,EAAA,OAAA,EAAS,YAAY,QAEhD,EAAA,OAAA,EAAA;AAAA;AAAA,GACF;AAEJ,CAAA;AAOO,MAAM,UAA4B,GAAA;AAAA,EACvC,QAAA;AAAA,EACA,MAAQ,EAAA,aAAA;AAAA,EACR,iBAAmB,EAAA,mBAAA;AAAA,EACnB,aAAe,EAAA,oBAAA;AAAA,EACf,qBAAuB,EAAA;AACzB;;;;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
class DefaultComponentsApi {
|
|
2
|
-
#components;
|
|
3
|
-
static fromComponents(components) {
|
|
4
|
-
return new DefaultComponentsApi(
|
|
5
|
-
new Map(components.map((entry) => [entry.ref.id, entry.impl]))
|
|
6
|
-
);
|
|
7
|
-
}
|
|
8
|
-
constructor(components) {
|
|
9
|
-
this.#components = components;
|
|
10
|
-
}
|
|
11
|
-
getComponent(ref) {
|
|
12
|
-
const impl = this.#components.get(ref.id);
|
|
13
|
-
if (!impl) {
|
|
14
|
-
throw new Error(`No implementation found for component ref ${ref}`);
|
|
15
|
-
}
|
|
16
|
-
return impl;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export { DefaultComponentsApi };
|
|
21
|
-
//# sourceMappingURL=DefaultComponentsApi.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultComponentsApi.esm.js","sources":["../../../../../../../../../packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.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 */\n\nimport { ComponentType } from 'react';\nimport {\n ComponentRef,\n ComponentsApi,\n createComponentExtension,\n} from '@backstage/frontend-plugin-api';\n\n/**\n * Implementation for the {@linkComponentApi}\n *\n * @internal\n */\nexport class DefaultComponentsApi implements ComponentsApi {\n #components: Map<string, ComponentType<any>>;\n\n static fromComponents(\n components: Array<typeof createComponentExtension.componentDataRef.T>,\n ) {\n return new DefaultComponentsApi(\n new Map(components.map(entry => [entry.ref.id, entry.impl])),\n );\n }\n\n constructor(components: Map<string, any>) {\n this.#components = components;\n }\n\n getComponent<T extends {}>(ref: ComponentRef<T>): ComponentType<T> {\n const impl = this.#components.get(ref.id);\n if (!impl) {\n throw new Error(`No implementation found for component ref ${ref}`);\n }\n return impl;\n }\n}\n"],"names":[],"mappings":"AA4BO,MAAM,oBAA8C,CAAA;AAAA,EACzD,WAAA;AAAA,EAEA,OAAO,eACL,UACA,EAAA;AACA,IAAA,OAAO,IAAI,oBAAA;AAAA,MACT,IAAI,GAAA,CAAI,UAAW,CAAA,GAAA,CAAI,CAAS,KAAA,KAAA,CAAC,KAAM,CAAA,GAAA,CAAI,EAAI,EAAA,KAAA,CAAM,IAAI,CAAC,CAAC;AAAA,KAC7D;AAAA;AACF,EAEA,YAAY,UAA8B,EAAA;AACxC,IAAA,IAAA,CAAK,WAAc,GAAA,UAAA;AAAA;AACrB,EAEA,aAA2B,GAAwC,EAAA;AACjE,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,WAAY,CAAA,GAAA,CAAI,IAAI,EAAE,CAAA;AACxC,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,MAAM,IAAI,KAAA,CAAM,CAA6C,0CAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AAEpE,IAAO,OAAA,IAAA;AAAA;AAEX;;;;"}
|