@backstage/app-defaults 0.1.0 → 0.1.4
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 +45 -0
- package/dist/index.esm.js +56 -27
- package/dist/index.esm.js.map +1 -1
- package/package.json +13 -10
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# @backstage/app-defaults
|
|
2
|
+
|
|
3
|
+
## 0.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @backstage/core-components@0.8.4
|
|
9
|
+
- @backstage/core-plugin-api@0.5.0
|
|
10
|
+
- @backstage/core-app-api@0.4.0
|
|
11
|
+
- @backstage/plugin-permission-react@0.2.2
|
|
12
|
+
|
|
13
|
+
## 0.1.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 7927005152: Add `FetchApi` and related `fetchApiRef` which implement fetch, with an added Backstage token header when available.
|
|
18
|
+
- 1e49c23eb7: Added an instance of PermissionApi to the apis included by default in createApp.
|
|
19
|
+
- 68f8b10ccd: - Removed deprecation configuration option `theme` from `AppTheme` of the `AppThemeApi`
|
|
20
|
+
- Removed reference to `theme` in the `app-defaults` default `AppTheme`
|
|
21
|
+
- Removed logic in `AppThemeProvider` that creates `ThemeProvider` from `appTheme.theme`
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
- @backstage/core-app-api@0.3.0
|
|
24
|
+
- @backstage/core-plugin-api@0.4.0
|
|
25
|
+
- @backstage/plugin-permission-react@0.2.0
|
|
26
|
+
- @backstage/core-components@0.8.2
|
|
27
|
+
|
|
28
|
+
## 0.1.2
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- cd450844f6: Moved React dependencies to `peerDependencies` and allow both React v16 and v17 to be used.
|
|
33
|
+
- Updated dependencies
|
|
34
|
+
- @backstage/core-components@0.8.0
|
|
35
|
+
- @backstage/core-plugin-api@0.3.0
|
|
36
|
+
- @backstage/core-app-api@0.2.0
|
|
37
|
+
|
|
38
|
+
## 0.1.1
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- Updated dependencies
|
|
43
|
+
- @backstage/core-components@0.7.4
|
|
44
|
+
- @backstage/core-plugin-api@0.2.0
|
|
45
|
+
- @backstage/core-app-api@0.1.21
|
package/dist/index.esm.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { UrlPatternDiscovery, AlertApiForwarder, NoOpAnalyticsApi, ErrorAlerter, ErrorApiForwarder, UnhandledErrorForwarder, WebStorage, OAuthRequestManager, GoogleAuth, MicrosoftAuth, GithubAuth, OktaAuth, GitlabAuth, Auth0Auth, OAuth2, SamlAuth, OneLoginAuth, BitbucketAuth, AtlassianAuth, createSpecializedApp } from '@backstage/core-app-api';
|
|
2
|
-
import { createApiFactory, discoveryApiRef, configApiRef, alertApiRef, analyticsApiRef, errorApiRef, storageApiRef, oauthRequestApiRef, googleAuthApiRef, microsoftAuthApiRef, githubAuthApiRef, oktaAuthApiRef, gitlabAuthApiRef, auth0AuthApiRef, oauth2ApiRef, samlAuthApiRef, oneloginAuthApiRef, oidcAuthApiRef, bitbucketAuthApiRef, atlassianAuthApiRef } from '@backstage/core-plugin-api';
|
|
1
|
+
import { UrlPatternDiscovery, AlertApiForwarder, NoOpAnalyticsApi, ErrorAlerter, ErrorApiForwarder, UnhandledErrorForwarder, WebStorage, createFetchApi, FetchMiddlewares, OAuthRequestManager, GoogleAuth, MicrosoftAuth, GithubAuth, OktaAuth, GitlabAuth, Auth0Auth, OAuth2, SamlAuth, OneLoginAuth, BitbucketAuth, AtlassianAuth, createSpecializedApp } from '@backstage/core-app-api';
|
|
2
|
+
import { createApiFactory, discoveryApiRef, configApiRef, alertApiRef, analyticsApiRef, errorApiRef, storageApiRef, fetchApiRef, identityApiRef, oauthRequestApiRef, googleAuthApiRef, microsoftAuthApiRef, githubAuthApiRef, oktaAuthApiRef, gitlabAuthApiRef, auth0AuthApiRef, oauth2ApiRef, samlAuthApiRef, oneloginAuthApiRef, oidcAuthApiRef, bitbucketAuthApiRef, atlassianAuthApiRef } from '@backstage/core-plugin-api';
|
|
3
|
+
import { permissionApiRef, IdentityPermissionApi } from '@backstage/plugin-permission-react';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import Button from '@material-ui/core/Button';
|
|
5
6
|
import { Progress, ErrorPage, ErrorPanel } from '@backstage/core-components';
|
|
@@ -32,8 +33,8 @@ import CssBaseline from '@material-ui/core/CssBaseline';
|
|
|
32
33
|
const apis = [
|
|
33
34
|
createApiFactory({
|
|
34
35
|
api: discoveryApiRef,
|
|
35
|
-
deps: {configApi: configApiRef},
|
|
36
|
-
factory: ({configApi}) => UrlPatternDiscovery.compile(`${configApi.getString("backend.baseUrl")}/api/{{ pluginId }}`)
|
|
36
|
+
deps: { configApi: configApiRef },
|
|
37
|
+
factory: ({ configApi }) => UrlPatternDiscovery.compile(`${configApi.getString("backend.baseUrl")}/api/{{ pluginId }}`)
|
|
37
38
|
}),
|
|
38
39
|
createApiFactory({
|
|
39
40
|
api: alertApiRef,
|
|
@@ -47,17 +48,38 @@ const apis = [
|
|
|
47
48
|
}),
|
|
48
49
|
createApiFactory({
|
|
49
50
|
api: errorApiRef,
|
|
50
|
-
deps: {alertApi: alertApiRef},
|
|
51
|
-
factory: ({alertApi}) => {
|
|
51
|
+
deps: { alertApi: alertApiRef },
|
|
52
|
+
factory: ({ alertApi }) => {
|
|
52
53
|
const errorApi = new ErrorAlerter(alertApi, new ErrorApiForwarder());
|
|
53
|
-
UnhandledErrorForwarder.forward(errorApi, {hidden: false});
|
|
54
|
+
UnhandledErrorForwarder.forward(errorApi, { hidden: false });
|
|
54
55
|
return errorApi;
|
|
55
56
|
}
|
|
56
57
|
}),
|
|
57
58
|
createApiFactory({
|
|
58
59
|
api: storageApiRef,
|
|
59
|
-
deps: {errorApi: errorApiRef},
|
|
60
|
-
factory: ({errorApi}) => WebStorage.create({errorApi})
|
|
60
|
+
deps: { errorApi: errorApiRef },
|
|
61
|
+
factory: ({ errorApi }) => WebStorage.create({ errorApi })
|
|
62
|
+
}),
|
|
63
|
+
createApiFactory({
|
|
64
|
+
api: fetchApiRef,
|
|
65
|
+
deps: {
|
|
66
|
+
configApi: configApiRef,
|
|
67
|
+
identityApi: identityApiRef,
|
|
68
|
+
discoveryApi: discoveryApiRef
|
|
69
|
+
},
|
|
70
|
+
factory: ({ configApi, identityApi, discoveryApi }) => {
|
|
71
|
+
return createFetchApi({
|
|
72
|
+
middleware: [
|
|
73
|
+
FetchMiddlewares.resolvePluginProtocol({
|
|
74
|
+
discoveryApi
|
|
75
|
+
}),
|
|
76
|
+
FetchMiddlewares.injectIdentityAuth({
|
|
77
|
+
identityApi,
|
|
78
|
+
config: configApi
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
61
83
|
}),
|
|
62
84
|
createApiFactory({
|
|
63
85
|
api: oauthRequestApiRef,
|
|
@@ -71,7 +93,7 @@ const apis = [
|
|
|
71
93
|
oauthRequestApi: oauthRequestApiRef,
|
|
72
94
|
configApi: configApiRef
|
|
73
95
|
},
|
|
74
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => GoogleAuth.create({
|
|
96
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => GoogleAuth.create({
|
|
75
97
|
discoveryApi,
|
|
76
98
|
oauthRequestApi,
|
|
77
99
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -84,7 +106,7 @@ const apis = [
|
|
|
84
106
|
oauthRequestApi: oauthRequestApiRef,
|
|
85
107
|
configApi: configApiRef
|
|
86
108
|
},
|
|
87
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => MicrosoftAuth.create({
|
|
109
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => MicrosoftAuth.create({
|
|
88
110
|
discoveryApi,
|
|
89
111
|
oauthRequestApi,
|
|
90
112
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -97,7 +119,7 @@ const apis = [
|
|
|
97
119
|
oauthRequestApi: oauthRequestApiRef,
|
|
98
120
|
configApi: configApiRef
|
|
99
121
|
},
|
|
100
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => GithubAuth.create({
|
|
122
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => GithubAuth.create({
|
|
101
123
|
discoveryApi,
|
|
102
124
|
oauthRequestApi,
|
|
103
125
|
defaultScopes: ["read:user"],
|
|
@@ -111,7 +133,7 @@ const apis = [
|
|
|
111
133
|
oauthRequestApi: oauthRequestApiRef,
|
|
112
134
|
configApi: configApiRef
|
|
113
135
|
},
|
|
114
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => OktaAuth.create({
|
|
136
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => OktaAuth.create({
|
|
115
137
|
discoveryApi,
|
|
116
138
|
oauthRequestApi,
|
|
117
139
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -124,7 +146,7 @@ const apis = [
|
|
|
124
146
|
oauthRequestApi: oauthRequestApiRef,
|
|
125
147
|
configApi: configApiRef
|
|
126
148
|
},
|
|
127
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => GitlabAuth.create({
|
|
149
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => GitlabAuth.create({
|
|
128
150
|
discoveryApi,
|
|
129
151
|
oauthRequestApi,
|
|
130
152
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -137,7 +159,7 @@ const apis = [
|
|
|
137
159
|
oauthRequestApi: oauthRequestApiRef,
|
|
138
160
|
configApi: configApiRef
|
|
139
161
|
},
|
|
140
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => Auth0Auth.create({
|
|
162
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => Auth0Auth.create({
|
|
141
163
|
discoveryApi,
|
|
142
164
|
oauthRequestApi,
|
|
143
165
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -150,7 +172,7 @@ const apis = [
|
|
|
150
172
|
oauthRequestApi: oauthRequestApiRef,
|
|
151
173
|
configApi: configApiRef
|
|
152
174
|
},
|
|
153
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => OAuth2.create({
|
|
175
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => OAuth2.create({
|
|
154
176
|
discoveryApi,
|
|
155
177
|
oauthRequestApi,
|
|
156
178
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -162,7 +184,7 @@ const apis = [
|
|
|
162
184
|
discoveryApi: discoveryApiRef,
|
|
163
185
|
configApi: configApiRef
|
|
164
186
|
},
|
|
165
|
-
factory: ({discoveryApi, configApi}) => SamlAuth.create({
|
|
187
|
+
factory: ({ discoveryApi, configApi }) => SamlAuth.create({
|
|
166
188
|
discoveryApi,
|
|
167
189
|
environment: configApi.getOptionalString("auth.environment")
|
|
168
190
|
})
|
|
@@ -174,7 +196,7 @@ const apis = [
|
|
|
174
196
|
oauthRequestApi: oauthRequestApiRef,
|
|
175
197
|
configApi: configApiRef
|
|
176
198
|
},
|
|
177
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => OneLoginAuth.create({
|
|
199
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => OneLoginAuth.create({
|
|
178
200
|
discoveryApi,
|
|
179
201
|
oauthRequestApi,
|
|
180
202
|
environment: configApi.getOptionalString("auth.environment")
|
|
@@ -187,7 +209,7 @@ const apis = [
|
|
|
187
209
|
oauthRequestApi: oauthRequestApiRef,
|
|
188
210
|
configApi: configApiRef
|
|
189
211
|
},
|
|
190
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => OAuth2.create({
|
|
212
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => OAuth2.create({
|
|
191
213
|
discoveryApi,
|
|
192
214
|
oauthRequestApi,
|
|
193
215
|
provider: {
|
|
@@ -205,7 +227,7 @@ const apis = [
|
|
|
205
227
|
oauthRequestApi: oauthRequestApiRef,
|
|
206
228
|
configApi: configApiRef
|
|
207
229
|
},
|
|
208
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => BitbucketAuth.create({
|
|
230
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => BitbucketAuth.create({
|
|
209
231
|
discoveryApi,
|
|
210
232
|
oauthRequestApi,
|
|
211
233
|
defaultScopes: ["team"],
|
|
@@ -219,17 +241,26 @@ const apis = [
|
|
|
219
241
|
oauthRequestApi: oauthRequestApiRef,
|
|
220
242
|
configApi: configApiRef
|
|
221
243
|
},
|
|
222
|
-
factory: ({discoveryApi, oauthRequestApi, configApi}) => {
|
|
244
|
+
factory: ({ discoveryApi, oauthRequestApi, configApi }) => {
|
|
223
245
|
return AtlassianAuth.create({
|
|
224
246
|
discoveryApi,
|
|
225
247
|
oauthRequestApi,
|
|
226
248
|
environment: configApi.getOptionalString("auth.environment")
|
|
227
249
|
});
|
|
228
250
|
}
|
|
251
|
+
}),
|
|
252
|
+
createApiFactory({
|
|
253
|
+
api: permissionApiRef,
|
|
254
|
+
deps: {
|
|
255
|
+
discovery: discoveryApiRef,
|
|
256
|
+
identity: identityApiRef,
|
|
257
|
+
config: configApiRef
|
|
258
|
+
},
|
|
259
|
+
factory: ({ config, discovery, identity }) => IdentityPermissionApi.create({ config, discovery, identity })
|
|
229
260
|
})
|
|
230
261
|
];
|
|
231
262
|
|
|
232
|
-
function OptionallyWrapInRouter({children}) {
|
|
263
|
+
function OptionallyWrapInRouter({ children }) {
|
|
233
264
|
if (useInRouterContext()) {
|
|
234
265
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
|
|
235
266
|
}
|
|
@@ -239,7 +270,7 @@ const DefaultNotFoundPage = () => /* @__PURE__ */ React.createElement(ErrorPage,
|
|
|
239
270
|
status: "404",
|
|
240
271
|
statusMessage: "PAGE NOT FOUND"
|
|
241
272
|
});
|
|
242
|
-
const DefaultBootErrorPage = ({step, error}) => {
|
|
273
|
+
const DefaultBootErrorPage = ({ step, error }) => {
|
|
243
274
|
let message = "";
|
|
244
275
|
if (step === "load-config") {
|
|
245
276
|
message = `The configuration failed to load, someone should have a look at this error: ${error.message}`;
|
|
@@ -303,8 +334,7 @@ const themes = [
|
|
|
303
334
|
title: "Light Theme",
|
|
304
335
|
variant: "light",
|
|
305
336
|
icon: /* @__PURE__ */ React.createElement(LightIcon, null),
|
|
306
|
-
|
|
307
|
-
Provider: ({children}) => /* @__PURE__ */ React.createElement(ThemeProvider, {
|
|
337
|
+
Provider: ({ children }) => /* @__PURE__ */ React.createElement(ThemeProvider, {
|
|
308
338
|
theme: lightTheme
|
|
309
339
|
}, /* @__PURE__ */ React.createElement(CssBaseline, null, children))
|
|
310
340
|
},
|
|
@@ -313,8 +343,7 @@ const themes = [
|
|
|
313
343
|
title: "Dark Theme",
|
|
314
344
|
variant: "dark",
|
|
315
345
|
icon: /* @__PURE__ */ React.createElement(DarkIcon, null),
|
|
316
|
-
|
|
317
|
-
Provider: ({children}) => /* @__PURE__ */ React.createElement(ThemeProvider, {
|
|
346
|
+
Provider: ({ children }) => /* @__PURE__ */ React.createElement(ThemeProvider, {
|
|
318
347
|
theme: darkTheme
|
|
319
348
|
}, /* @__PURE__ */ React.createElement(CssBaseline, null, children))
|
|
320
349
|
}
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/defaults/apis.ts","../src/defaults/components.tsx","../src/defaults/icons.tsx","../src/defaults/themes.tsx","../src/createApp.tsx"],"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\nimport {\n AlertApiForwarder,\n NoOpAnalyticsApi,\n ErrorApiForwarder,\n ErrorAlerter,\n GoogleAuth,\n GithubAuth,\n OAuth2,\n OktaAuth,\n GitlabAuth,\n Auth0Auth,\n MicrosoftAuth,\n BitbucketAuth,\n OAuthRequestManager,\n WebStorage,\n UrlPatternDiscovery,\n SamlAuth,\n OneLoginAuth,\n UnhandledErrorForwarder,\n AtlassianAuth,\n} from '@backstage/core-app-api';\n\nimport {\n createApiFactory,\n alertApiRef,\n analyticsApiRef,\n errorApiRef,\n discoveryApiRef,\n oauthRequestApiRef,\n googleAuthApiRef,\n githubAuthApiRef,\n oauth2ApiRef,\n oktaAuthApiRef,\n gitlabAuthApiRef,\n auth0AuthApiRef,\n microsoftAuthApiRef,\n storageApiRef,\n configApiRef,\n samlAuthApiRef,\n oneloginAuthApiRef,\n oidcAuthApiRef,\n bitbucketAuthApiRef,\n atlassianAuthApiRef,\n} from '@backstage/core-plugin-api';\n\nexport const apis = [\n createApiFactory({\n api: discoveryApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) =>\n UrlPatternDiscovery.compile(\n `${configApi.getString('backend.baseUrl')}/api/{{ pluginId }}`,\n ),\n }),\n createApiFactory({\n api: alertApiRef,\n deps: {},\n factory: () => new AlertApiForwarder(),\n }),\n createApiFactory({\n api: analyticsApiRef,\n deps: {},\n factory: () => new NoOpAnalyticsApi(),\n }),\n createApiFactory({\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 createApiFactory({\n api: storageApiRef,\n deps: { errorApi: errorApiRef },\n factory: ({ errorApi }) => WebStorage.create({ errorApi }),\n }),\n createApiFactory({\n api: oauthRequestApiRef,\n deps: {},\n factory: () => new OAuthRequestManager(),\n }),\n createApiFactory({\n api: googleAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GoogleAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: microsoftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n MicrosoftAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: githubAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GithubAuth.create({\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['read:user'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oktaAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OktaAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: gitlabAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GitlabAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: auth0AuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n Auth0Auth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oauth2ApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OAuth2.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: samlAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, configApi }) =>\n SamlAuth.create({\n discoveryApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oneloginAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OneLoginAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oidcAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OAuth2.create({\n discoveryApi,\n oauthRequestApi,\n provider: {\n id: 'oidc',\n title: 'Your Identity Provider',\n icon: () => null,\n },\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: bitbucketAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketAuth.create({\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['team'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\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 discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n];\n","/*\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 React, { 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 status=\"501\" statusMessage={message} />\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#createApp}.\n *\n * @public\n */\nexport const components: AppComponents = {\n Progress,\n Router: BrowserRouter,\n NotFoundErrorPage: DefaultNotFoundPage,\n BootErrorPage: DefaultBootErrorPage,\n ErrorBoundaryFallback: DefaultErrorBoundaryFallback,\n};\n","/*\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\nimport { IconComponent } from '@backstage/core-plugin-api';\nimport MuiApartmentIcon from '@material-ui/icons/Apartment';\nimport MuiBrokenImageIcon from '@material-ui/icons/BrokenImage';\nimport MuiCategoryIcon from '@material-ui/icons/Category';\nimport MuiCreateNewFolderIcon from '@material-ui/icons/CreateNewFolder';\nimport MuiSubjectIcon from '@material-ui/icons/Subject';\nimport MuiSearchIcon from '@material-ui/icons/Search';\nimport MuiChatIcon from '@material-ui/icons/Chat';\nimport MuiDashboardIcon from '@material-ui/icons/Dashboard';\nimport MuiDocsIcon from '@material-ui/icons/Description';\nimport MuiEmailIcon from '@material-ui/icons/Email';\nimport MuiExtensionIcon from '@material-ui/icons/Extension';\nimport MuiGitHubIcon from '@material-ui/icons/GitHub';\nimport MuiHelpIcon from '@material-ui/icons/Help';\nimport MuiLocationOnIcon from '@material-ui/icons/LocationOn';\nimport MuiMemoryIcon from '@material-ui/icons/Memory';\nimport MuiMenuBookIcon from '@material-ui/icons/MenuBook';\nimport MuiPeopleIcon from '@material-ui/icons/People';\nimport MuiPersonIcon from '@material-ui/icons/Person';\nimport MuiWarningIcon from '@material-ui/icons/Warning';\n\nexport const icons = {\n brokenImage: MuiBrokenImageIcon as IconComponent,\n // To be confirmed: see https://github.com/backstage/backstage/issues/4970\n catalog: MuiMenuBookIcon as IconComponent,\n scaffolder: MuiCreateNewFolderIcon as IconComponent,\n techdocs: MuiSubjectIcon as IconComponent,\n search: MuiSearchIcon as IconComponent,\n chat: MuiChatIcon as IconComponent,\n dashboard: MuiDashboardIcon as IconComponent,\n docs: MuiDocsIcon as IconComponent,\n email: MuiEmailIcon as IconComponent,\n github: MuiGitHubIcon as IconComponent,\n group: MuiPeopleIcon as IconComponent,\n help: MuiHelpIcon as IconComponent,\n 'kind:api': MuiExtensionIcon as IconComponent,\n 'kind:component': MuiMemoryIcon as IconComponent,\n 'kind:domain': MuiApartmentIcon as IconComponent,\n 'kind:group': MuiPeopleIcon as IconComponent,\n 'kind:location': MuiLocationOnIcon as IconComponent,\n 'kind:system': MuiCategoryIcon as IconComponent,\n 'kind:user': MuiPersonIcon as IconComponent,\n user: MuiPersonIcon as IconComponent,\n warning: MuiWarningIcon as IconComponent,\n};\n","/*\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 React from 'react';\nimport { darkTheme, lightTheme } from '@backstage/theme';\nimport DarkIcon from '@material-ui/icons/Brightness2';\nimport LightIcon from '@material-ui/icons/WbSunny';\nimport { ThemeProvider } from '@material-ui/core/styles';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { AppTheme } from '@backstage/core-plugin-api';\n\nexport const themes: AppTheme[] = [\n {\n id: 'light',\n title: 'Light Theme',\n variant: 'light',\n icon: <LightIcon />,\n theme: lightTheme,\n Provider: ({ children }) => (\n <ThemeProvider theme={lightTheme}>\n <CssBaseline>{children}</CssBaseline>\n </ThemeProvider>\n ),\n },\n {\n id: 'dark',\n title: 'Dark Theme',\n variant: 'dark',\n icon: <DarkIcon />,\n theme: darkTheme,\n Provider: ({ children }) => (\n <ThemeProvider theme={darkTheme}>\n <CssBaseline>{children}</CssBaseline>\n </ThemeProvider>\n ),\n },\n];\n","/*\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\nimport { apis, components, icons, themes } from './defaults';\nimport {\n AppTheme,\n BackstagePlugin,\n IconComponent,\n} from '@backstage/core-plugin-api';\nimport {\n AppComponents,\n AppOptions,\n AppIcons,\n createSpecializedApp,\n} from '@backstage/core-app-api';\n\n/**\n * Creates a new Backstage App using a default set of components, icons and themes unless\n * they are explicitly provided.\n *\n * @public\n */\nexport function createApp(\n options?: Omit<AppOptions, keyof OptionalAppOptions> & OptionalAppOptions,\n) {\n return createSpecializedApp({\n ...options,\n apis: options?.apis ?? [],\n bindRoutes: options?.bindRoutes,\n components: {\n ...components,\n ...options?.components,\n },\n configLoader: options?.configLoader,\n defaultApis: apis,\n icons: {\n ...icons,\n ...options?.icons,\n },\n plugins: (options?.plugins as BackstagePlugin<any, any>[]) ?? [],\n themes: options?.themes ?? themes,\n });\n}\n\n/**\n * The set of app options that {@link createApp} will provide defaults for\n * if they are not passed in explicitly.\n *\n * @public\n */\nexport type OptionalAppOptions = {\n /**\n * A set of icons to override the default icons with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n icons?: Partial<AppIcons> & {\n [key in string]: IconComponent;\n };\n\n /**\n * A set of themes that override all of the default app themes.\n *\n * If this option is provided none of the default themes will be used.\n *\n * @public\n */\n themes?: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[]; // TODO: simplify once AppTheme is updated\n\n /**\n * A set of components to override the default components with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n components?: Partial<AppComponents>;\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/defaults/apis.ts","../src/defaults/components.tsx","../src/defaults/icons.tsx","../src/defaults/themes.tsx","../src/createApp.tsx"],"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\nimport {\n AlertApiForwarder,\n NoOpAnalyticsApi,\n ErrorApiForwarder,\n ErrorAlerter,\n GoogleAuth,\n GithubAuth,\n OAuth2,\n OktaAuth,\n GitlabAuth,\n Auth0Auth,\n MicrosoftAuth,\n BitbucketAuth,\n OAuthRequestManager,\n WebStorage,\n UrlPatternDiscovery,\n SamlAuth,\n OneLoginAuth,\n UnhandledErrorForwarder,\n AtlassianAuth,\n createFetchApi,\n FetchMiddlewares,\n} from '@backstage/core-app-api';\n\nimport {\n createApiFactory,\n alertApiRef,\n analyticsApiRef,\n errorApiRef,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n oauthRequestApiRef,\n googleAuthApiRef,\n githubAuthApiRef,\n oauth2ApiRef,\n oktaAuthApiRef,\n gitlabAuthApiRef,\n auth0AuthApiRef,\n microsoftAuthApiRef,\n storageApiRef,\n configApiRef,\n samlAuthApiRef,\n oneloginAuthApiRef,\n oidcAuthApiRef,\n bitbucketAuthApiRef,\n atlassianAuthApiRef,\n} from '@backstage/core-plugin-api';\nimport {\n permissionApiRef,\n IdentityPermissionApi,\n} from '@backstage/plugin-permission-react';\n\nexport const apis = [\n createApiFactory({\n api: discoveryApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) =>\n UrlPatternDiscovery.compile(\n `${configApi.getString('backend.baseUrl')}/api/{{ pluginId }}`,\n ),\n }),\n createApiFactory({\n api: alertApiRef,\n deps: {},\n factory: () => new AlertApiForwarder(),\n }),\n createApiFactory({\n api: analyticsApiRef,\n deps: {},\n factory: () => new NoOpAnalyticsApi(),\n }),\n createApiFactory({\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 createApiFactory({\n api: storageApiRef,\n deps: { errorApi: errorApiRef },\n factory: ({ errorApi }) => WebStorage.create({ errorApi }),\n }),\n createApiFactory({\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 createApiFactory({\n api: oauthRequestApiRef,\n deps: {},\n factory: () => new OAuthRequestManager(),\n }),\n createApiFactory({\n api: googleAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GoogleAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: microsoftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n MicrosoftAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: githubAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GithubAuth.create({\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['read:user'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oktaAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OktaAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: gitlabAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GitlabAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: auth0AuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n Auth0Auth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oauth2ApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OAuth2.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: samlAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, configApi }) =>\n SamlAuth.create({\n discoveryApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oneloginAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OneLoginAuth.create({\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: oidcAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OAuth2.create({\n discoveryApi,\n oauthRequestApi,\n provider: {\n id: 'oidc',\n title: 'Your Identity Provider',\n icon: () => null,\n },\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\n api: bitbucketAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketAuth.create({\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['team'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n createApiFactory({\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 discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n createApiFactory({\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","/*\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 React, { 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 status=\"501\" statusMessage={message} />\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","/*\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\nimport { IconComponent } from '@backstage/core-plugin-api';\nimport MuiApartmentIcon from '@material-ui/icons/Apartment';\nimport MuiBrokenImageIcon from '@material-ui/icons/BrokenImage';\nimport MuiCategoryIcon from '@material-ui/icons/Category';\nimport MuiCreateNewFolderIcon from '@material-ui/icons/CreateNewFolder';\nimport MuiSubjectIcon from '@material-ui/icons/Subject';\nimport MuiSearchIcon from '@material-ui/icons/Search';\nimport MuiChatIcon from '@material-ui/icons/Chat';\nimport MuiDashboardIcon from '@material-ui/icons/Dashboard';\nimport MuiDocsIcon from '@material-ui/icons/Description';\nimport MuiEmailIcon from '@material-ui/icons/Email';\nimport MuiExtensionIcon from '@material-ui/icons/Extension';\nimport MuiGitHubIcon from '@material-ui/icons/GitHub';\nimport MuiHelpIcon from '@material-ui/icons/Help';\nimport MuiLocationOnIcon from '@material-ui/icons/LocationOn';\nimport MuiMemoryIcon from '@material-ui/icons/Memory';\nimport MuiMenuBookIcon from '@material-ui/icons/MenuBook';\nimport MuiPeopleIcon from '@material-ui/icons/People';\nimport MuiPersonIcon from '@material-ui/icons/Person';\nimport MuiWarningIcon from '@material-ui/icons/Warning';\n\nexport const icons = {\n brokenImage: MuiBrokenImageIcon as IconComponent,\n // To be confirmed: see https://github.com/backstage/backstage/issues/4970\n catalog: MuiMenuBookIcon as IconComponent,\n scaffolder: MuiCreateNewFolderIcon as IconComponent,\n techdocs: MuiSubjectIcon as IconComponent,\n search: MuiSearchIcon as IconComponent,\n chat: MuiChatIcon as IconComponent,\n dashboard: MuiDashboardIcon as IconComponent,\n docs: MuiDocsIcon as IconComponent,\n email: MuiEmailIcon as IconComponent,\n github: MuiGitHubIcon as IconComponent,\n group: MuiPeopleIcon as IconComponent,\n help: MuiHelpIcon as IconComponent,\n 'kind:api': MuiExtensionIcon as IconComponent,\n 'kind:component': MuiMemoryIcon as IconComponent,\n 'kind:domain': MuiApartmentIcon as IconComponent,\n 'kind:group': MuiPeopleIcon as IconComponent,\n 'kind:location': MuiLocationOnIcon as IconComponent,\n 'kind:system': MuiCategoryIcon as IconComponent,\n 'kind:user': MuiPersonIcon as IconComponent,\n user: MuiPersonIcon as IconComponent,\n warning: MuiWarningIcon as IconComponent,\n};\n","/*\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 React from 'react';\nimport { darkTheme, lightTheme } from '@backstage/theme';\nimport DarkIcon from '@material-ui/icons/Brightness2';\nimport LightIcon from '@material-ui/icons/WbSunny';\nimport { ThemeProvider } from '@material-ui/core/styles';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { AppTheme } from '@backstage/core-plugin-api';\n\nexport const themes: AppTheme[] = [\n {\n id: 'light',\n title: 'Light Theme',\n variant: 'light',\n icon: <LightIcon />,\n Provider: ({ children }) => (\n <ThemeProvider theme={lightTheme}>\n <CssBaseline>{children}</CssBaseline>\n </ThemeProvider>\n ),\n },\n {\n id: 'dark',\n title: 'Dark Theme',\n variant: 'dark',\n icon: <DarkIcon />,\n Provider: ({ children }) => (\n <ThemeProvider theme={darkTheme}>\n <CssBaseline>{children}</CssBaseline>\n </ThemeProvider>\n ),\n },\n];\n","/*\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\nimport { apis, components, icons, themes } from './defaults';\nimport {\n AppTheme,\n BackstagePlugin,\n IconComponent,\n} from '@backstage/core-plugin-api';\nimport {\n AppComponents,\n AppOptions,\n AppIcons,\n createSpecializedApp,\n} from '@backstage/core-app-api';\n\n/**\n * Creates a new Backstage App using a default set of components, icons and themes unless\n * they are explicitly provided.\n *\n * @public\n */\nexport function createApp(\n options?: Omit<AppOptions, keyof OptionalAppOptions> & OptionalAppOptions,\n) {\n return createSpecializedApp({\n ...options,\n apis: options?.apis ?? [],\n bindRoutes: options?.bindRoutes,\n components: {\n ...components,\n ...options?.components,\n },\n configLoader: options?.configLoader,\n defaultApis: apis,\n icons: {\n ...icons,\n ...options?.icons,\n },\n plugins: (options?.plugins as BackstagePlugin<any, any>[]) ?? [],\n themes: options?.themes ?? themes,\n });\n}\n\n/**\n * The set of app options that {@link createApp} will provide defaults for\n * if they are not passed in explicitly.\n *\n * @public\n */\nexport type OptionalAppOptions = {\n /**\n * A set of icons to override the default icons with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n icons?: Partial<AppIcons> & {\n [key in string]: IconComponent;\n };\n\n /**\n * A set of themes that override all of the default app themes.\n *\n * If this option is provided none of the default themes will be used.\n *\n * @public\n */\n themes?: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[]; // TODO: simplify once AppTheme is updated\n\n /**\n * A set of components to override the default components with.\n *\n * The override is applied for each icon individually.\n *\n * @public\n */\n components?: Partial<AppComponents>;\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/app-defaults",
|
|
3
3
|
"description": "Provides the default wiring of a Backstage App",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.4",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public",
|
|
@@ -29,26 +29,29 @@
|
|
|
29
29
|
"clean": "backstage-cli clean"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@backstage/core-app-api": "^0.
|
|
33
|
-
"@backstage/core-components": "^0.
|
|
34
|
-
"@backstage/core-plugin-api": "^0.
|
|
35
|
-
"@backstage/
|
|
32
|
+
"@backstage/core-app-api": "^0.4.0",
|
|
33
|
+
"@backstage/core-components": "^0.8.4",
|
|
34
|
+
"@backstage/core-plugin-api": "^0.5.0",
|
|
35
|
+
"@backstage/plugin-permission-react": "^0.2.2",
|
|
36
|
+
"@backstage/theme": "^0.2.14",
|
|
36
37
|
"@material-ui/core": "^4.12.2",
|
|
37
38
|
"@material-ui/icons": "^4.9.1",
|
|
38
|
-
"react": "^16.12.0",
|
|
39
39
|
"react-router-dom": "6.0.0-beta.0"
|
|
40
40
|
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"react": "^16.13.1 || ^17.0.0"
|
|
43
|
+
},
|
|
41
44
|
"devDependencies": {
|
|
42
|
-
"@backstage/cli": "^0.
|
|
43
|
-
"@backstage/test-utils": "^0.
|
|
45
|
+
"@backstage/cli": "^0.11.0",
|
|
46
|
+
"@backstage/test-utils": "^0.2.2",
|
|
44
47
|
"@testing-library/jest-dom": "^5.10.1",
|
|
45
48
|
"@testing-library/react": "^11.2.5",
|
|
46
49
|
"@types/jest": "^26.0.7",
|
|
47
50
|
"@types/node": "^14.14.32",
|
|
48
|
-
"@types/react": "
|
|
51
|
+
"@types/react": "^16.13.1 || ^17.0.0"
|
|
49
52
|
},
|
|
50
53
|
"files": [
|
|
51
54
|
"dist"
|
|
52
55
|
],
|
|
53
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "da66c61bdd63cdb3f0f0cd2e26dc9e6454d93c7b"
|
|
54
57
|
}
|