@backstage/core-app-api 0.1.19 → 0.1.23
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 +117 -0
- package/dist/index.d.ts +129 -69
- package/dist/index.esm.js +134 -417
- package/dist/index.esm.js.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,122 @@
|
|
|
1
1
|
# @backstage/core-app-api
|
|
2
2
|
|
|
3
|
+
## 0.1.23
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bab752e2b3: Change default port of backend from 7000 to 7007.
|
|
8
|
+
|
|
9
|
+
This is due to the AirPlay Receiver process occupying port 7000 and preventing local Backstage instances on MacOS to start.
|
|
10
|
+
|
|
11
|
+
You can change the port back to 7000 or any other value by providing an `app-config.yaml` with the following values:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
backend:
|
|
15
|
+
listen: 0.0.0.0:7123
|
|
16
|
+
baseUrl: http://localhost:7123
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
More information can be found here: https://backstage.io/docs/conf/writing
|
|
20
|
+
|
|
21
|
+
- 000190de69: The `ApiRegistry` from `@backstage/core-app-api` class has been deprecated and will be removed in a future release. To replace it, we have introduced two new helpers that are exported from `@backstage/test-utils`, namely `TestApiProvider` and `TestApiRegistry`.
|
|
22
|
+
|
|
23
|
+
These two new helpers are more tailored for writing tests and development setups, as they allow for partial implementations of each of the APIs.
|
|
24
|
+
|
|
25
|
+
When migrating existing code it is typically best to prefer usage of `TestApiProvider` when possible, so for example the following code:
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
render(
|
|
29
|
+
<ApiProvider
|
|
30
|
+
apis={ApiRegistry.from([
|
|
31
|
+
[identityApiRef, mockIdentityApi as unknown as IdentityApi]
|
|
32
|
+
])}
|
|
33
|
+
>
|
|
34
|
+
{...}
|
|
35
|
+
</ApiProvider>
|
|
36
|
+
)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Would be migrated to this:
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
render(
|
|
43
|
+
<TestApiProvider apis={[[identityApiRef, mockIdentityApi]]}>
|
|
44
|
+
{...}
|
|
45
|
+
</TestApiProvider>
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
In cases where the `ApiProvider` is used in a more standalone way, for example to reuse a set of APIs across multiple tests, the `TestApiRegistry` can be used instead. Note that the `TestApiRegistry` only has a single static factory method, `.from()`, and it is slightly different from the existing `.from()` method on `ApiRegistry` in that it doesn't require the API pairs to be wrapped in an outer array.
|
|
50
|
+
|
|
51
|
+
Usage that looks like this:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
const apis = ApiRegistry.with(
|
|
55
|
+
identityApiRef,
|
|
56
|
+
mockIdentityApi as unknown as IdentityApi,
|
|
57
|
+
).with(configApiRef, new ConfigReader({}));
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
OR like this:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
const apis = ApiRegistry.from([
|
|
64
|
+
[identityApiRef, mockIdentityApi as unknown as IdentityApi],
|
|
65
|
+
[configApiRef, new ConfigReader({})],
|
|
66
|
+
]);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Would be migrated to this:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
const apis = TestApiRegistry.from(
|
|
73
|
+
[identityApiRef, mockIdentityApi],
|
|
74
|
+
[configApiRef, new ConfigReader({})],
|
|
75
|
+
);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
If your app is still using the `ApiRegistry` to construct the `apis` for `createApp`, we recommend that you move over to use the new method of supplying API factories instead, using `createApiFactory`.
|
|
79
|
+
|
|
80
|
+
- Updated dependencies
|
|
81
|
+
- @backstage/core-plugin-api@0.2.1
|
|
82
|
+
- @backstage/core-components@0.7.5
|
|
83
|
+
|
|
84
|
+
## 0.1.22
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Reverted the `createApp` TypeScript type to match the one before version `0.1.21`, as it was an accidental breaking change.
|
|
89
|
+
|
|
90
|
+
## 0.1.21
|
|
91
|
+
|
|
92
|
+
### Patch Changes
|
|
93
|
+
|
|
94
|
+
- 0b1de52732: Migrated to using new `ErrorApiError` and `ErrorApiErrorContext` names.
|
|
95
|
+
- ecd1fcb80a: Deprecated the `BackstagePluginWithAnyOutput` type.
|
|
96
|
+
- 32bfbafb0f: Start exporting and marking several types as public to address errors in the API report.
|
|
97
|
+
- 014cbf8cb9: The `createApp` function from `@backstage/core-app-api` has been deprecated, with two new options being provided as a replacement.
|
|
98
|
+
|
|
99
|
+
The first and most commonly used one is `createApp` from the new `@backstage/app-defaults` package, which behaves just like the existing `createApp`. In the future this method is likely to be expanded to add more APIs and other pieces into the default setup, for example the Utility APIs from `@backstage/integration-react`.
|
|
100
|
+
|
|
101
|
+
The other option that we now provide is to use `createSpecializedApp` from `@backstage/core-app-api`. This is a more low-level API where you need to provide a full set of options, including your own `components`, `icons`, `defaultApis`, and `themes`. The `createSpecializedApp` way of creating an app is particularly useful if you are not using `@backstage/core-components` or MUI, as it allows you to avoid those dependencies completely.
|
|
102
|
+
|
|
103
|
+
- 475edb5bc5: move the BehaviorSubject init into the constructor
|
|
104
|
+
- Updated dependencies
|
|
105
|
+
- @backstage/core-components@0.7.4
|
|
106
|
+
- @backstage/core-plugin-api@0.2.0
|
|
107
|
+
- @backstage/app-defaults@0.1.1
|
|
108
|
+
|
|
109
|
+
## 0.1.20
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- 78c512ce8f: I have added default icons for the catalog, scaffolder, techdocs, and search.
|
|
114
|
+
- 8b4284cd5c: Improve API documentation for @backstage/core-plugin-api
|
|
115
|
+
- Updated dependencies
|
|
116
|
+
- @backstage/core-components@0.7.3
|
|
117
|
+
- @backstage/theme@0.2.13
|
|
118
|
+
- @backstage/core-plugin-api@0.1.13
|
|
119
|
+
|
|
3
120
|
## 0.1.19
|
|
4
121
|
|
|
5
122
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode, PropsWithChildren, ComponentType } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { ApiHolder, ApiRef, ApiFactory, AnyApiRef, ProfileInfo, BackstageIdentity, SessionState, OAuthRequestApi, DiscoveryApi, AuthProvider, OAuthApi, SessionApi, AuthRequestOptions, gitlabAuthApiRef, googleAuthApiRef, OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, oktaAuthApiRef, auth0AuthApiRef, microsoftAuthApiRef, oneloginAuthApiRef, bitbucketAuthApiRef, atlassianAuthApiRef, AlertApi, AlertMessage, AnalyticsApi, AnalyticsEvent, AppThemeApi, AppTheme, ErrorApi,
|
|
3
|
+
import { ApiHolder, ApiRef, ApiFactory, AnyApiRef, ProfileInfo, BackstageIdentity, SessionState, OAuthRequestApi, DiscoveryApi, AuthProvider, OAuthApi, SessionApi, AuthRequestOptions, gitlabAuthApiRef, googleAuthApiRef, OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, oktaAuthApiRef, auth0AuthApiRef, microsoftAuthApiRef, oneloginAuthApiRef, bitbucketAuthApiRef, atlassianAuthApiRef, AlertApi, AlertMessage, AnalyticsApi, AnalyticsEvent, AppThemeApi, AppTheme, ErrorApi, ErrorApiError, ErrorApiErrorContext, FeatureFlagsApi, FeatureFlag, FeatureFlagsSaveOptions, AuthRequesterOptions, AuthRequester, PendingAuthRequest, StorageApi, StorageValueChange, BackstagePlugin, IconComponent, ExternalRouteRef, PluginOutput, AnyApiFactory, RouteRef, SubRouteRef } from '@backstage/core-plugin-api';
|
|
4
4
|
import * as _backstage_types from '@backstage/types';
|
|
5
5
|
import { Observable } from '@backstage/types';
|
|
6
6
|
import { AppConfig } from '@backstage/config';
|
|
7
7
|
export { ConfigReader } from '@backstage/config';
|
|
8
|
+
import { createApp as createApp$1 } from '@backstage/app-defaults';
|
|
8
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Prop types for the ApiProvider component.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
9
14
|
declare type ApiProviderProps = {
|
|
10
15
|
apis: ApiHolder;
|
|
11
16
|
children: ReactNode;
|
|
@@ -36,6 +41,7 @@ declare class ApiRegistryBuilder {
|
|
|
36
41
|
* A registry for utility APIs.
|
|
37
42
|
*
|
|
38
43
|
* @public
|
|
44
|
+
* @deprecated Will be removed, use {@link @backstage/test-utils#TestApiProvider} or {@link @backstage/test-utils#TestApiRegistry} instead.
|
|
39
45
|
*/
|
|
40
46
|
declare class ApiRegistry implements ApiHolder {
|
|
41
47
|
private readonly apis;
|
|
@@ -93,6 +99,10 @@ declare class ApiResolver implements ApiHolder {
|
|
|
93
99
|
private loadDeps;
|
|
94
100
|
}
|
|
95
101
|
|
|
102
|
+
/**
|
|
103
|
+
* Scope type when registering API factories.
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
96
106
|
declare type ApiFactoryScope = 'default' | 'app' | 'static';
|
|
97
107
|
/**
|
|
98
108
|
* ApiFactoryRegistry is an ApiFactoryHolder implementation that enables
|
|
@@ -152,10 +162,18 @@ declare type SessionManager<T> = {
|
|
|
152
162
|
sessionState$(): Observable<SessionState>;
|
|
153
163
|
};
|
|
154
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Create options for OAuth APIs.
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
155
169
|
declare type OAuthApiCreateOptions = AuthApiCreateOptions & {
|
|
156
170
|
oauthRequestApi: OAuthRequestApi;
|
|
157
171
|
defaultScopes?: string[];
|
|
158
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* Generic create options for auth APIs.
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
159
177
|
declare type AuthApiCreateOptions = {
|
|
160
178
|
discoveryApi: DiscoveryApi;
|
|
161
179
|
environment?: string;
|
|
@@ -172,6 +190,9 @@ declare type AuthApiCreateOptions = {
|
|
|
172
190
|
declare class GithubAuth implements OAuthApi, SessionApi {
|
|
173
191
|
private readonly sessionManager;
|
|
174
192
|
static create({ discoveryApi, environment, provider, oauthRequestApi, defaultScopes, }: OAuthApiCreateOptions): GithubAuth;
|
|
193
|
+
/**
|
|
194
|
+
* @deprecated will be made private in the future. Use create method instead.
|
|
195
|
+
*/
|
|
175
196
|
constructor(sessionManager: SessionManager<GithubSession>);
|
|
176
197
|
signIn(): Promise<void>;
|
|
177
198
|
signOut(): Promise<void>;
|
|
@@ -216,7 +237,11 @@ declare type OAuth2Session = {
|
|
|
216
237
|
backstageIdentity: BackstageIdentity;
|
|
217
238
|
};
|
|
218
239
|
|
|
219
|
-
|
|
240
|
+
/**
|
|
241
|
+
* OAuth2 create options.
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
declare type OAuth2CreateOptions = OAuthApiCreateOptions & {
|
|
220
245
|
scopeTransform?: (scopes: string[]) => string[];
|
|
221
246
|
};
|
|
222
247
|
/**
|
|
@@ -225,9 +250,12 @@ declare type CreateOptions$1 = OAuthApiCreateOptions & {
|
|
|
225
250
|
* @public
|
|
226
251
|
*/
|
|
227
252
|
declare class OAuth2 implements OAuthApi, OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, SessionApi {
|
|
228
|
-
static create({ discoveryApi, environment, provider, oauthRequestApi, defaultScopes, scopeTransform, }:
|
|
253
|
+
static create({ discoveryApi, environment, provider, oauthRequestApi, defaultScopes, scopeTransform, }: OAuth2CreateOptions): OAuth2;
|
|
229
254
|
private readonly sessionManager;
|
|
230
255
|
private readonly scopeTransform;
|
|
256
|
+
/**
|
|
257
|
+
* @deprecated will be made private in the future. Use create method instead.
|
|
258
|
+
*/
|
|
231
259
|
constructor(options: {
|
|
232
260
|
sessionManager: SessionManager<OAuth2Session>;
|
|
233
261
|
scopeTransform: (scopes: string[]) => string[];
|
|
@@ -271,6 +299,9 @@ declare class SamlAuth implements ProfileInfoApi, BackstageIdentityApi, SessionA
|
|
|
271
299
|
private readonly sessionManager;
|
|
272
300
|
static create({ discoveryApi, environment, provider, }: AuthApiCreateOptions): SamlAuth;
|
|
273
301
|
sessionState$(): Observable<SessionState>;
|
|
302
|
+
/**
|
|
303
|
+
* @deprecated will be made private in the future. Use create method instead.
|
|
304
|
+
*/
|
|
274
305
|
constructor(sessionManager: SessionManager<SamlSession>);
|
|
275
306
|
signIn(): Promise<void>;
|
|
276
307
|
signOut(): Promise<void>;
|
|
@@ -296,7 +327,11 @@ declare class MicrosoftAuth {
|
|
|
296
327
|
static create({ environment, provider, oauthRequestApi, discoveryApi, defaultScopes, }: OAuthApiCreateOptions): typeof microsoftAuthApiRef.T;
|
|
297
328
|
}
|
|
298
329
|
|
|
299
|
-
|
|
330
|
+
/**
|
|
331
|
+
* OneLogin auth provider create options.
|
|
332
|
+
* @public
|
|
333
|
+
*/
|
|
334
|
+
declare type OneLoginAuthCreateOptions = {
|
|
300
335
|
discoveryApi: DiscoveryApi;
|
|
301
336
|
oauthRequestApi: OAuthRequestApi;
|
|
302
337
|
environment?: string;
|
|
@@ -310,7 +345,7 @@ declare type CreateOptions = {
|
|
|
310
345
|
* @public
|
|
311
346
|
*/
|
|
312
347
|
declare class OneLoginAuth {
|
|
313
|
-
static create({ discoveryApi, environment, provider, oauthRequestApi, }:
|
|
348
|
+
static create({ discoveryApi, environment, provider, oauthRequestApi, }: OneLoginAuthCreateOptions): typeof oneloginAuthApiRef.T;
|
|
314
349
|
}
|
|
315
350
|
|
|
316
351
|
/**
|
|
@@ -397,7 +432,7 @@ declare class UrlPatternDiscovery implements DiscoveryApi {
|
|
|
397
432
|
* interpolation done for the template is to replace instances of `{{pluginId}}`
|
|
398
433
|
* with the ID of the plugin being requested.
|
|
399
434
|
*
|
|
400
|
-
* Example pattern: `http://localhost:
|
|
435
|
+
* Example pattern: `http://localhost:7007/api/{{ pluginId }}`
|
|
401
436
|
*/
|
|
402
437
|
static compile(pattern: string): UrlPatternDiscovery;
|
|
403
438
|
private constructor();
|
|
@@ -414,14 +449,10 @@ declare class ErrorAlerter implements ErrorApi {
|
|
|
414
449
|
private readonly alertApi;
|
|
415
450
|
private readonly errorApi;
|
|
416
451
|
constructor(alertApi: AlertApi, errorApi: ErrorApi);
|
|
417
|
-
post(error:
|
|
452
|
+
post(error: ErrorApiError, context?: ErrorApiErrorContext): void;
|
|
418
453
|
error$(): _backstage_types.Observable<{
|
|
419
|
-
error:
|
|
420
|
-
|
|
421
|
-
message: string;
|
|
422
|
-
stack?: string | undefined;
|
|
423
|
-
};
|
|
424
|
-
context?: ErrorContext | undefined;
|
|
454
|
+
error: ErrorApiError;
|
|
455
|
+
context?: ErrorApiErrorContext | undefined;
|
|
425
456
|
}>;
|
|
426
457
|
}
|
|
427
458
|
|
|
@@ -432,10 +463,10 @@ declare class ErrorAlerter implements ErrorApi {
|
|
|
432
463
|
*/
|
|
433
464
|
declare class ErrorApiForwarder implements ErrorApi {
|
|
434
465
|
private readonly subject;
|
|
435
|
-
post(error:
|
|
466
|
+
post(error: ErrorApiError, context?: ErrorApiErrorContext): void;
|
|
436
467
|
error$(): Observable<{
|
|
437
468
|
error: Error;
|
|
438
|
-
context?:
|
|
469
|
+
context?: ErrorApiErrorContext;
|
|
439
470
|
}>;
|
|
440
471
|
}
|
|
441
472
|
|
|
@@ -448,7 +479,7 @@ declare class UnhandledErrorForwarder {
|
|
|
448
479
|
/**
|
|
449
480
|
* Add event listener, such that unhandled errors can be forwarded using an given `ErrorApi` instance
|
|
450
481
|
*/
|
|
451
|
-
static forward(errorApi: ErrorApi, errorContext:
|
|
482
|
+
static forward(errorApi: ErrorApi, errorContext: ErrorApiErrorContext): void;
|
|
452
483
|
}
|
|
453
484
|
|
|
454
485
|
/**
|
|
@@ -509,11 +540,6 @@ declare class WebStorage implements StorageApi {
|
|
|
509
540
|
private readonly observable;
|
|
510
541
|
}
|
|
511
542
|
|
|
512
|
-
declare type AppIconsKey = 'brokenImage' | 'catalog' | 'chat' | 'dashboard' | 'docs' | 'email' | 'github' | 'group' | 'help' | 'kind:api' | 'kind:component' | 'kind:domain' | 'kind:group' | 'kind:location' | 'kind:system' | 'kind:user' | 'user' | 'warning';
|
|
513
|
-
declare type AppIcons = {
|
|
514
|
-
[key in AppIconsKey]: IconComponent;
|
|
515
|
-
};
|
|
516
|
-
|
|
517
543
|
/**
|
|
518
544
|
* Props for the `BootErrorPage` component of {@link AppComponents}.
|
|
519
545
|
*
|
|
@@ -575,7 +601,7 @@ declare type AppComponents = {
|
|
|
575
601
|
Progress: ComponentType<{}>;
|
|
576
602
|
Router: ComponentType<{}>;
|
|
577
603
|
ErrorBoundaryFallback: ComponentType<ErrorBoundaryFallbackProps>;
|
|
578
|
-
ThemeProvider
|
|
604
|
+
ThemeProvider?: ComponentType<{}>;
|
|
579
605
|
/**
|
|
580
606
|
* An optional sign-in page that will be rendered instead of the AppRouter at startup.
|
|
581
607
|
*
|
|
@@ -587,6 +613,34 @@ declare type AppComponents = {
|
|
|
587
613
|
*/
|
|
588
614
|
SignInPage?: ComponentType<SignInPageProps>;
|
|
589
615
|
};
|
|
616
|
+
/**
|
|
617
|
+
* A set of well-known icons that should be available within an app.
|
|
618
|
+
*
|
|
619
|
+
* @public
|
|
620
|
+
*/
|
|
621
|
+
declare type AppIcons = {
|
|
622
|
+
'kind:api': IconComponent;
|
|
623
|
+
'kind:component': IconComponent;
|
|
624
|
+
'kind:domain': IconComponent;
|
|
625
|
+
'kind:group': IconComponent;
|
|
626
|
+
'kind:location': IconComponent;
|
|
627
|
+
'kind:system': IconComponent;
|
|
628
|
+
'kind:user': IconComponent;
|
|
629
|
+
brokenImage: IconComponent;
|
|
630
|
+
catalog: IconComponent;
|
|
631
|
+
chat: IconComponent;
|
|
632
|
+
dashboard: IconComponent;
|
|
633
|
+
docs: IconComponent;
|
|
634
|
+
email: IconComponent;
|
|
635
|
+
github: IconComponent;
|
|
636
|
+
group: IconComponent;
|
|
637
|
+
help: IconComponent;
|
|
638
|
+
scaffolder: IconComponent;
|
|
639
|
+
search: IconComponent;
|
|
640
|
+
techdocs: IconComponent;
|
|
641
|
+
user: IconComponent;
|
|
642
|
+
warning: IconComponent;
|
|
643
|
+
};
|
|
590
644
|
/**
|
|
591
645
|
* A function that loads in the App config that will be accessible via the ConfigApi.
|
|
592
646
|
*
|
|
@@ -598,6 +652,8 @@ declare type AppComponents = {
|
|
|
598
652
|
declare type AppConfigLoader = () => Promise<AppConfig[]>;
|
|
599
653
|
/**
|
|
600
654
|
* Extracts a union of the keys in a map whose value extends the given type
|
|
655
|
+
*
|
|
656
|
+
* @ignore
|
|
601
657
|
*/
|
|
602
658
|
declare type KeysWithType<Obj extends {
|
|
603
659
|
[key in string]: any;
|
|
@@ -606,12 +662,16 @@ declare type KeysWithType<Obj extends {
|
|
|
606
662
|
}[keyof Obj];
|
|
607
663
|
/**
|
|
608
664
|
* Takes a map Map required values and makes all keys matching Keys optional
|
|
665
|
+
*
|
|
666
|
+
* @ignore
|
|
609
667
|
*/
|
|
610
668
|
declare type PartialKeys<Map extends {
|
|
611
669
|
[name in string]: any;
|
|
612
670
|
}, Keys extends keyof Map> = Partial<Pick<Map, Keys>> & Required<Omit<Map, Keys>>;
|
|
613
671
|
/**
|
|
614
672
|
* Creates a map of target routes with matching parameters based on a map of external routes.
|
|
673
|
+
*
|
|
674
|
+
* @ignore
|
|
615
675
|
*/
|
|
616
676
|
declare type TargetRouteMap<ExternalRoutes extends {
|
|
617
677
|
[name: string]: ExternalRouteRef;
|
|
@@ -632,6 +692,7 @@ declare type AppRouteBinder = <ExternalRoutes extends {
|
|
|
632
692
|
*
|
|
633
693
|
* @public
|
|
634
694
|
* @remarks
|
|
695
|
+
* @deprecated Will be removed
|
|
635
696
|
*
|
|
636
697
|
* The `type: string` type is there to handle output from newer or older plugin
|
|
637
698
|
* API versions that might not be supported by this version of the app API, but
|
|
@@ -655,23 +716,35 @@ declare type BackstagePluginWithAnyOutput = Omit<BackstagePlugin<any, any>, 'out
|
|
|
655
716
|
declare type AppOptions = {
|
|
656
717
|
/**
|
|
657
718
|
* A collection of ApiFactories to register in the application to either
|
|
658
|
-
* add
|
|
719
|
+
* add new ones, or override factories provided by default or by plugins.
|
|
659
720
|
*/
|
|
660
721
|
apis?: Iterable<AnyApiFactory>;
|
|
722
|
+
/**
|
|
723
|
+
* A collection of ApiFactories to register in the application as default APIs.
|
|
724
|
+
* Theses APIs can not be overridden by plugin factories, but can be overridden
|
|
725
|
+
* by plugin APIs provided through the
|
|
726
|
+
* A collection of ApiFactories to register in the application to either
|
|
727
|
+
* add new ones, or override factories provided by default or by plugins.
|
|
728
|
+
*/
|
|
729
|
+
defaultApis?: Iterable<AnyApiFactory>;
|
|
661
730
|
/**
|
|
662
731
|
* Supply icons to override the default ones.
|
|
663
732
|
*/
|
|
664
|
-
icons
|
|
733
|
+
icons: AppIcons & {
|
|
665
734
|
[key in string]: IconComponent;
|
|
666
735
|
};
|
|
667
736
|
/**
|
|
668
737
|
* A list of all plugins to include in the app.
|
|
669
738
|
*/
|
|
670
|
-
plugins?:
|
|
739
|
+
plugins?: (Omit<BackstagePlugin<any, any>, 'output'> & {
|
|
740
|
+
output(): (PluginOutput | {
|
|
741
|
+
type: string;
|
|
742
|
+
})[];
|
|
743
|
+
})[];
|
|
671
744
|
/**
|
|
672
745
|
* Supply components to the app to override the default ones.
|
|
673
746
|
*/
|
|
674
|
-
components
|
|
747
|
+
components: AppComponents;
|
|
675
748
|
/**
|
|
676
749
|
* Themes provided as a part of the app. By default two themes are included, one
|
|
677
750
|
* light variant of the default backstage theme, and one dark.
|
|
@@ -683,18 +756,26 @@ declare type AppOptions = {
|
|
|
683
756
|
* id: 'light',
|
|
684
757
|
* title: 'Light Theme',
|
|
685
758
|
* variant: 'light',
|
|
686
|
-
* theme: lightTheme,
|
|
687
759
|
* icon: <LightIcon />,
|
|
760
|
+
* Provider: ({ children }) => (
|
|
761
|
+
* <ThemeProvider theme={lightTheme}>
|
|
762
|
+
* <CssBaseline>{children}</CssBaseline>
|
|
763
|
+
* </ThemeProvider>
|
|
764
|
+
* ),
|
|
688
765
|
* }, {
|
|
689
766
|
* id: 'dark',
|
|
690
767
|
* title: 'Dark Theme',
|
|
691
768
|
* variant: 'dark',
|
|
692
|
-
* theme: darkTheme,
|
|
693
769
|
* icon: <DarkIcon />,
|
|
770
|
+
* Provider: ({ children }) => (
|
|
771
|
+
* <ThemeProvider theme={darkTheme}>
|
|
772
|
+
* <CssBaseline>{children}</CssBaseline>
|
|
773
|
+
* </ThemeProvider>
|
|
774
|
+
* ),
|
|
694
775
|
* }]
|
|
695
776
|
* ```
|
|
696
777
|
*/
|
|
697
|
-
themes
|
|
778
|
+
themes: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[];
|
|
698
779
|
/**
|
|
699
780
|
* A function that loads in App configuration that will be accessible via
|
|
700
781
|
* the ConfigApi.
|
|
@@ -773,38 +854,23 @@ declare type AppContext = {
|
|
|
773
854
|
getComponents(): AppComponents;
|
|
774
855
|
};
|
|
775
856
|
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
private readonly themes;
|
|
794
|
-
private readonly configLoader?;
|
|
795
|
-
private readonly defaultApis;
|
|
796
|
-
private readonly bindRoutes;
|
|
797
|
-
private readonly identityApi;
|
|
798
|
-
private readonly apiFactoryRegistry;
|
|
799
|
-
constructor(options: FullAppOptions);
|
|
800
|
-
getPlugins(): BackstagePlugin<any, any>[];
|
|
801
|
-
getSystemIcon(key: string): IconComponent | undefined;
|
|
802
|
-
getComponents(): AppComponents;
|
|
803
|
-
getProvider(): ComponentType<{}>;
|
|
804
|
-
getRouter(): ComponentType<{}>;
|
|
805
|
-
private getApiHolder;
|
|
806
|
-
private verifyPlugins;
|
|
807
|
-
}
|
|
857
|
+
/**
|
|
858
|
+
* Creates a new Backstage App.
|
|
859
|
+
*
|
|
860
|
+
* @deprecated Use {@link @backstage/app-defaults#createApp} from `@backstage/app-defaults` instead
|
|
861
|
+
* @param options - A set of options for creating the app
|
|
862
|
+
* @public
|
|
863
|
+
*/
|
|
864
|
+
declare function createApp(options?: Parameters<typeof createApp$1>[0]): BackstageApp & AppContext;
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* Creates a new Backstage App where the full set of options are required.
|
|
868
|
+
*
|
|
869
|
+
* @public
|
|
870
|
+
* @param options - A set of options for creating the app
|
|
871
|
+
* @returns
|
|
872
|
+
*/
|
|
873
|
+
declare function createSpecializedApp(options: AppOptions): BackstageApp;
|
|
808
874
|
|
|
809
875
|
/**
|
|
810
876
|
* The default config loader, which expects that config is available at compile-time
|
|
@@ -819,12 +885,6 @@ declare class PrivateAppImpl implements BackstageApp {
|
|
|
819
885
|
* @public
|
|
820
886
|
*/
|
|
821
887
|
declare const defaultConfigLoader: AppConfigLoader;
|
|
822
|
-
/**
|
|
823
|
-
* Creates a new Backstage App.
|
|
824
|
-
*
|
|
825
|
-
* @public
|
|
826
|
-
*/
|
|
827
|
-
declare function createApp(options?: AppOptions): PrivateAppImpl;
|
|
828
888
|
|
|
829
889
|
/**
|
|
830
890
|
* Props for the {@link FlatRoutes} component.
|
|
@@ -867,4 +927,4 @@ declare type FeatureFlaggedProps = {
|
|
|
867
927
|
*/
|
|
868
928
|
declare const FeatureFlagged: (props: FeatureFlaggedProps) => JSX.Element;
|
|
869
929
|
|
|
870
|
-
export { AlertApiForwarder, ApiFactoryHolder, ApiFactoryRegistry, ApiProvider, ApiRegistry, ApiResolver, AppComponents, AppConfigLoader, AppContext, AppOptions, AppRouteBinder, AppThemeSelector, AtlassianAuth, Auth0Auth, BackstageApp, BackstagePluginWithAnyOutput, BitbucketAuth, BitbucketSession, BootErrorPageProps, ErrorAlerter, ErrorApiForwarder, ErrorBoundaryFallbackProps, FeatureFlagged, FeatureFlaggedProps, FlatRoutes, FlatRoutesProps, GithubAuth, GithubSession, GitlabAuth, GoogleAuth, LocalStorageFeatureFlags, MicrosoftAuth, NoOpAnalyticsApi, OAuth2, OAuth2Session, OAuthRequestManager, OktaAuth, OneLoginAuth, SamlAuth, SignInPageProps, SignInResult, UnhandledErrorForwarder, UrlPatternDiscovery, WebStorage, createApp, defaultConfigLoader };
|
|
930
|
+
export { AlertApiForwarder, ApiFactoryHolder, ApiFactoryRegistry, ApiFactoryScope, ApiProvider, ApiProviderProps, ApiRegistry, ApiResolver, AppComponents, AppConfigLoader, AppContext, AppIcons, AppOptions, AppRouteBinder, AppThemeSelector, AtlassianAuth, Auth0Auth, AuthApiCreateOptions, BackstageApp, BackstagePluginWithAnyOutput, BitbucketAuth, BitbucketSession, BootErrorPageProps, ErrorAlerter, ErrorApiForwarder, ErrorBoundaryFallbackProps, FeatureFlagged, FeatureFlaggedProps, FlatRoutes, FlatRoutesProps, GithubAuth, GithubSession, GitlabAuth, GoogleAuth, LocalStorageFeatureFlags, MicrosoftAuth, NoOpAnalyticsApi, OAuth2, OAuth2CreateOptions, OAuth2Session, OAuthApiCreateOptions, OAuthRequestManager, OktaAuth, OneLoginAuth, OneLoginAuthCreateOptions, SamlAuth, SamlSession, SignInPageProps, SignInResult, UnhandledErrorForwarder, UrlPatternDiscovery, WebStorage, createApp, createSpecializedApp, defaultConfigLoader };
|