@backstage/core-app-api 0.1.20 → 0.1.24
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 +116 -0
- package/dist/index.d.ts +129 -66
- package/dist/index.esm.js +155 -424
- package/dist/index.esm.js.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,121 @@
|
|
|
1
1
|
# @backstage/core-app-api
|
|
2
2
|
|
|
3
|
+
## 0.1.24
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0e7f256034: Fixed a bug where `useRouteRef` would fail in situations where relative navigation was needed and the app was is mounted on a sub-path. This would typically show up as a failure to navigate to a tab on an entity page.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @backstage/core-components@0.7.6
|
|
10
|
+
- @backstage/theme@0.2.14
|
|
11
|
+
- @backstage/core-plugin-api@0.2.2
|
|
12
|
+
|
|
13
|
+
## 0.1.23
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- bab752e2b3: Change default port of backend from 7000 to 7007.
|
|
18
|
+
|
|
19
|
+
This is due to the AirPlay Receiver process occupying port 7000 and preventing local Backstage instances on MacOS to start.
|
|
20
|
+
|
|
21
|
+
You can change the port back to 7000 or any other value by providing an `app-config.yaml` with the following values:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
backend:
|
|
25
|
+
listen: 0.0.0.0:7123
|
|
26
|
+
baseUrl: http://localhost:7123
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
More information can be found here: https://backstage.io/docs/conf/writing
|
|
30
|
+
|
|
31
|
+
- 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`.
|
|
32
|
+
|
|
33
|
+
These two new helpers are more tailored for writing tests and development setups, as they allow for partial implementations of each of the APIs.
|
|
34
|
+
|
|
35
|
+
When migrating existing code it is typically best to prefer usage of `TestApiProvider` when possible, so for example the following code:
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
render(
|
|
39
|
+
<ApiProvider
|
|
40
|
+
apis={ApiRegistry.from([
|
|
41
|
+
[identityApiRef, mockIdentityApi as unknown as IdentityApi]
|
|
42
|
+
])}
|
|
43
|
+
>
|
|
44
|
+
{...}
|
|
45
|
+
</ApiProvider>
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Would be migrated to this:
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
render(
|
|
53
|
+
<TestApiProvider apis={[[identityApiRef, mockIdentityApi]]}>
|
|
54
|
+
{...}
|
|
55
|
+
</TestApiProvider>
|
|
56
|
+
)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
Usage that looks like this:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
const apis = ApiRegistry.with(
|
|
65
|
+
identityApiRef,
|
|
66
|
+
mockIdentityApi as unknown as IdentityApi,
|
|
67
|
+
).with(configApiRef, new ConfigReader({}));
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
OR like this:
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
const apis = ApiRegistry.from([
|
|
74
|
+
[identityApiRef, mockIdentityApi as unknown as IdentityApi],
|
|
75
|
+
[configApiRef, new ConfigReader({})],
|
|
76
|
+
]);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Would be migrated to this:
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
const apis = TestApiRegistry.from(
|
|
83
|
+
[identityApiRef, mockIdentityApi],
|
|
84
|
+
[configApiRef, new ConfigReader({})],
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
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`.
|
|
89
|
+
|
|
90
|
+
- Updated dependencies
|
|
91
|
+
- @backstage/core-plugin-api@0.2.1
|
|
92
|
+
- @backstage/core-components@0.7.5
|
|
93
|
+
|
|
94
|
+
## 0.1.22
|
|
95
|
+
|
|
96
|
+
### Patch Changes
|
|
97
|
+
|
|
98
|
+
- Reverted the `createApp` TypeScript type to match the one before version `0.1.21`, as it was an accidental breaking change.
|
|
99
|
+
|
|
100
|
+
## 0.1.21
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- 0b1de52732: Migrated to using new `ErrorApiError` and `ErrorApiErrorContext` names.
|
|
105
|
+
- ecd1fcb80a: Deprecated the `BackstagePluginWithAnyOutput` type.
|
|
106
|
+
- 32bfbafb0f: Start exporting and marking several types as public to address errors in the API report.
|
|
107
|
+
- 014cbf8cb9: The `createApp` function from `@backstage/core-app-api` has been deprecated, with two new options being provided as a replacement.
|
|
108
|
+
|
|
109
|
+
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`.
|
|
110
|
+
|
|
111
|
+
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.
|
|
112
|
+
|
|
113
|
+
- 475edb5bc5: move the BehaviorSubject init into the constructor
|
|
114
|
+
- Updated dependencies
|
|
115
|
+
- @backstage/core-components@0.7.4
|
|
116
|
+
- @backstage/core-plugin-api@0.2.0
|
|
117
|
+
- @backstage/app-defaults@0.1.1
|
|
118
|
+
|
|
3
119
|
## 0.1.20
|
|
4
120
|
|
|
5
121
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode, PropsWithChildren, ComponentType } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import
|
|
4
|
-
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, ErrorContext, FeatureFlagsApi, FeatureFlag, FeatureFlagsSaveOptions, AuthRequesterOptions, AuthRequester, PendingAuthRequest, StorageApi, StorageValueChange, IconComponent, BackstagePlugin, ExternalRouteRef, PluginOutput, AnyApiFactory, RouteRef, SubRouteRef } from '@backstage/core-plugin-api';
|
|
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';
|
|
5
4
|
import * as _backstage_types from '@backstage/types';
|
|
6
5
|
import { Observable } from '@backstage/types';
|
|
7
6
|
import { AppConfig } from '@backstage/config';
|
|
8
7
|
export { ConfigReader } from '@backstage/config';
|
|
8
|
+
import { createApp as createApp$1 } from '@backstage/app-defaults';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Prop types for the ApiProvider component.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
10
14
|
declare type ApiProviderProps = {
|
|
11
15
|
apis: ApiHolder;
|
|
12
16
|
children: ReactNode;
|
|
@@ -37,6 +41,7 @@ declare class ApiRegistryBuilder {
|
|
|
37
41
|
* A registry for utility APIs.
|
|
38
42
|
*
|
|
39
43
|
* @public
|
|
44
|
+
* @deprecated Will be removed, use {@link @backstage/test-utils#TestApiProvider} or {@link @backstage/test-utils#TestApiRegistry} instead.
|
|
40
45
|
*/
|
|
41
46
|
declare class ApiRegistry implements ApiHolder {
|
|
42
47
|
private readonly apis;
|
|
@@ -94,6 +99,10 @@ declare class ApiResolver implements ApiHolder {
|
|
|
94
99
|
private loadDeps;
|
|
95
100
|
}
|
|
96
101
|
|
|
102
|
+
/**
|
|
103
|
+
* Scope type when registering API factories.
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
97
106
|
declare type ApiFactoryScope = 'default' | 'app' | 'static';
|
|
98
107
|
/**
|
|
99
108
|
* ApiFactoryRegistry is an ApiFactoryHolder implementation that enables
|
|
@@ -153,10 +162,18 @@ declare type SessionManager<T> = {
|
|
|
153
162
|
sessionState$(): Observable<SessionState>;
|
|
154
163
|
};
|
|
155
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Create options for OAuth APIs.
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
156
169
|
declare type OAuthApiCreateOptions = AuthApiCreateOptions & {
|
|
157
170
|
oauthRequestApi: OAuthRequestApi;
|
|
158
171
|
defaultScopes?: string[];
|
|
159
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* Generic create options for auth APIs.
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
160
177
|
declare type AuthApiCreateOptions = {
|
|
161
178
|
discoveryApi: DiscoveryApi;
|
|
162
179
|
environment?: string;
|
|
@@ -173,6 +190,9 @@ declare type AuthApiCreateOptions = {
|
|
|
173
190
|
declare class GithubAuth implements OAuthApi, SessionApi {
|
|
174
191
|
private readonly sessionManager;
|
|
175
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
|
+
*/
|
|
176
196
|
constructor(sessionManager: SessionManager<GithubSession>);
|
|
177
197
|
signIn(): Promise<void>;
|
|
178
198
|
signOut(): Promise<void>;
|
|
@@ -217,7 +237,11 @@ declare type OAuth2Session = {
|
|
|
217
237
|
backstageIdentity: BackstageIdentity;
|
|
218
238
|
};
|
|
219
239
|
|
|
220
|
-
|
|
240
|
+
/**
|
|
241
|
+
* OAuth2 create options.
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
declare type OAuth2CreateOptions = OAuthApiCreateOptions & {
|
|
221
245
|
scopeTransform?: (scopes: string[]) => string[];
|
|
222
246
|
};
|
|
223
247
|
/**
|
|
@@ -226,9 +250,12 @@ declare type CreateOptions$1 = OAuthApiCreateOptions & {
|
|
|
226
250
|
* @public
|
|
227
251
|
*/
|
|
228
252
|
declare class OAuth2 implements OAuthApi, OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, SessionApi {
|
|
229
|
-
static create({ discoveryApi, environment, provider, oauthRequestApi, defaultScopes, scopeTransform, }:
|
|
253
|
+
static create({ discoveryApi, environment, provider, oauthRequestApi, defaultScopes, scopeTransform, }: OAuth2CreateOptions): OAuth2;
|
|
230
254
|
private readonly sessionManager;
|
|
231
255
|
private readonly scopeTransform;
|
|
256
|
+
/**
|
|
257
|
+
* @deprecated will be made private in the future. Use create method instead.
|
|
258
|
+
*/
|
|
232
259
|
constructor(options: {
|
|
233
260
|
sessionManager: SessionManager<OAuth2Session>;
|
|
234
261
|
scopeTransform: (scopes: string[]) => string[];
|
|
@@ -272,6 +299,9 @@ declare class SamlAuth implements ProfileInfoApi, BackstageIdentityApi, SessionA
|
|
|
272
299
|
private readonly sessionManager;
|
|
273
300
|
static create({ discoveryApi, environment, provider, }: AuthApiCreateOptions): SamlAuth;
|
|
274
301
|
sessionState$(): Observable<SessionState>;
|
|
302
|
+
/**
|
|
303
|
+
* @deprecated will be made private in the future. Use create method instead.
|
|
304
|
+
*/
|
|
275
305
|
constructor(sessionManager: SessionManager<SamlSession>);
|
|
276
306
|
signIn(): Promise<void>;
|
|
277
307
|
signOut(): Promise<void>;
|
|
@@ -297,7 +327,11 @@ declare class MicrosoftAuth {
|
|
|
297
327
|
static create({ environment, provider, oauthRequestApi, discoveryApi, defaultScopes, }: OAuthApiCreateOptions): typeof microsoftAuthApiRef.T;
|
|
298
328
|
}
|
|
299
329
|
|
|
300
|
-
|
|
330
|
+
/**
|
|
331
|
+
* OneLogin auth provider create options.
|
|
332
|
+
* @public
|
|
333
|
+
*/
|
|
334
|
+
declare type OneLoginAuthCreateOptions = {
|
|
301
335
|
discoveryApi: DiscoveryApi;
|
|
302
336
|
oauthRequestApi: OAuthRequestApi;
|
|
303
337
|
environment?: string;
|
|
@@ -311,7 +345,7 @@ declare type CreateOptions = {
|
|
|
311
345
|
* @public
|
|
312
346
|
*/
|
|
313
347
|
declare class OneLoginAuth {
|
|
314
|
-
static create({ discoveryApi, environment, provider, oauthRequestApi, }:
|
|
348
|
+
static create({ discoveryApi, environment, provider, oauthRequestApi, }: OneLoginAuthCreateOptions): typeof oneloginAuthApiRef.T;
|
|
315
349
|
}
|
|
316
350
|
|
|
317
351
|
/**
|
|
@@ -398,7 +432,7 @@ declare class UrlPatternDiscovery implements DiscoveryApi {
|
|
|
398
432
|
* interpolation done for the template is to replace instances of `{{pluginId}}`
|
|
399
433
|
* with the ID of the plugin being requested.
|
|
400
434
|
*
|
|
401
|
-
* Example pattern: `http://localhost:
|
|
435
|
+
* Example pattern: `http://localhost:7007/api/{{ pluginId }}`
|
|
402
436
|
*/
|
|
403
437
|
static compile(pattern: string): UrlPatternDiscovery;
|
|
404
438
|
private constructor();
|
|
@@ -415,10 +449,10 @@ declare class ErrorAlerter implements ErrorApi {
|
|
|
415
449
|
private readonly alertApi;
|
|
416
450
|
private readonly errorApi;
|
|
417
451
|
constructor(alertApi: AlertApi, errorApi: ErrorApi);
|
|
418
|
-
post(error:
|
|
452
|
+
post(error: ErrorApiError, context?: ErrorApiErrorContext): void;
|
|
419
453
|
error$(): _backstage_types.Observable<{
|
|
420
|
-
error:
|
|
421
|
-
context?:
|
|
454
|
+
error: ErrorApiError;
|
|
455
|
+
context?: ErrorApiErrorContext | undefined;
|
|
422
456
|
}>;
|
|
423
457
|
}
|
|
424
458
|
|
|
@@ -429,10 +463,10 @@ declare class ErrorAlerter implements ErrorApi {
|
|
|
429
463
|
*/
|
|
430
464
|
declare class ErrorApiForwarder implements ErrorApi {
|
|
431
465
|
private readonly subject;
|
|
432
|
-
post(error:
|
|
466
|
+
post(error: ErrorApiError, context?: ErrorApiErrorContext): void;
|
|
433
467
|
error$(): Observable<{
|
|
434
468
|
error: Error;
|
|
435
|
-
context?:
|
|
469
|
+
context?: ErrorApiErrorContext;
|
|
436
470
|
}>;
|
|
437
471
|
}
|
|
438
472
|
|
|
@@ -445,7 +479,7 @@ declare class UnhandledErrorForwarder {
|
|
|
445
479
|
/**
|
|
446
480
|
* Add event listener, such that unhandled errors can be forwarded using an given `ErrorApi` instance
|
|
447
481
|
*/
|
|
448
|
-
static forward(errorApi: ErrorApi, errorContext:
|
|
482
|
+
static forward(errorApi: ErrorApi, errorContext: ErrorApiErrorContext): void;
|
|
449
483
|
}
|
|
450
484
|
|
|
451
485
|
/**
|
|
@@ -506,11 +540,6 @@ declare class WebStorage implements StorageApi {
|
|
|
506
540
|
private readonly observable;
|
|
507
541
|
}
|
|
508
542
|
|
|
509
|
-
declare type AppIconsKey = 'brokenImage' | 'catalog' | 'scaffolder' | 'techdocs' | 'search' | 'chat' | 'dashboard' | 'docs' | 'email' | 'github' | 'group' | 'help' | 'kind:api' | 'kind:component' | 'kind:domain' | 'kind:group' | 'kind:location' | 'kind:system' | 'kind:user' | 'user' | 'warning';
|
|
510
|
-
declare type AppIcons = {
|
|
511
|
-
[key in AppIconsKey]: IconComponent;
|
|
512
|
-
};
|
|
513
|
-
|
|
514
543
|
/**
|
|
515
544
|
* Props for the `BootErrorPage` component of {@link AppComponents}.
|
|
516
545
|
*
|
|
@@ -572,7 +601,7 @@ declare type AppComponents = {
|
|
|
572
601
|
Progress: ComponentType<{}>;
|
|
573
602
|
Router: ComponentType<{}>;
|
|
574
603
|
ErrorBoundaryFallback: ComponentType<ErrorBoundaryFallbackProps>;
|
|
575
|
-
ThemeProvider
|
|
604
|
+
ThemeProvider?: ComponentType<{}>;
|
|
576
605
|
/**
|
|
577
606
|
* An optional sign-in page that will be rendered instead of the AppRouter at startup.
|
|
578
607
|
*
|
|
@@ -584,6 +613,34 @@ declare type AppComponents = {
|
|
|
584
613
|
*/
|
|
585
614
|
SignInPage?: ComponentType<SignInPageProps>;
|
|
586
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
|
+
};
|
|
587
644
|
/**
|
|
588
645
|
* A function that loads in the App config that will be accessible via the ConfigApi.
|
|
589
646
|
*
|
|
@@ -595,6 +652,8 @@ declare type AppComponents = {
|
|
|
595
652
|
declare type AppConfigLoader = () => Promise<AppConfig[]>;
|
|
596
653
|
/**
|
|
597
654
|
* Extracts a union of the keys in a map whose value extends the given type
|
|
655
|
+
*
|
|
656
|
+
* @ignore
|
|
598
657
|
*/
|
|
599
658
|
declare type KeysWithType<Obj extends {
|
|
600
659
|
[key in string]: any;
|
|
@@ -603,12 +662,16 @@ declare type KeysWithType<Obj extends {
|
|
|
603
662
|
}[keyof Obj];
|
|
604
663
|
/**
|
|
605
664
|
* Takes a map Map required values and makes all keys matching Keys optional
|
|
665
|
+
*
|
|
666
|
+
* @ignore
|
|
606
667
|
*/
|
|
607
668
|
declare type PartialKeys<Map extends {
|
|
608
669
|
[name in string]: any;
|
|
609
670
|
}, Keys extends keyof Map> = Partial<Pick<Map, Keys>> & Required<Omit<Map, Keys>>;
|
|
610
671
|
/**
|
|
611
672
|
* Creates a map of target routes with matching parameters based on a map of external routes.
|
|
673
|
+
*
|
|
674
|
+
* @ignore
|
|
612
675
|
*/
|
|
613
676
|
declare type TargetRouteMap<ExternalRoutes extends {
|
|
614
677
|
[name: string]: ExternalRouteRef;
|
|
@@ -629,6 +692,7 @@ declare type AppRouteBinder = <ExternalRoutes extends {
|
|
|
629
692
|
*
|
|
630
693
|
* @public
|
|
631
694
|
* @remarks
|
|
695
|
+
* @deprecated Will be removed
|
|
632
696
|
*
|
|
633
697
|
* The `type: string` type is there to handle output from newer or older plugin
|
|
634
698
|
* API versions that might not be supported by this version of the app API, but
|
|
@@ -652,23 +716,35 @@ declare type BackstagePluginWithAnyOutput = Omit<BackstagePlugin<any, any>, 'out
|
|
|
652
716
|
declare type AppOptions = {
|
|
653
717
|
/**
|
|
654
718
|
* A collection of ApiFactories to register in the application to either
|
|
655
|
-
* add
|
|
719
|
+
* add new ones, or override factories provided by default or by plugins.
|
|
656
720
|
*/
|
|
657
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>;
|
|
658
730
|
/**
|
|
659
731
|
* Supply icons to override the default ones.
|
|
660
732
|
*/
|
|
661
|
-
icons
|
|
733
|
+
icons: AppIcons & {
|
|
662
734
|
[key in string]: IconComponent;
|
|
663
735
|
};
|
|
664
736
|
/**
|
|
665
737
|
* A list of all plugins to include in the app.
|
|
666
738
|
*/
|
|
667
|
-
plugins?:
|
|
739
|
+
plugins?: (Omit<BackstagePlugin<any, any>, 'output'> & {
|
|
740
|
+
output(): (PluginOutput | {
|
|
741
|
+
type: string;
|
|
742
|
+
})[];
|
|
743
|
+
})[];
|
|
668
744
|
/**
|
|
669
745
|
* Supply components to the app to override the default ones.
|
|
670
746
|
*/
|
|
671
|
-
components
|
|
747
|
+
components: AppComponents;
|
|
672
748
|
/**
|
|
673
749
|
* Themes provided as a part of the app. By default two themes are included, one
|
|
674
750
|
* light variant of the default backstage theme, and one dark.
|
|
@@ -680,18 +756,26 @@ declare type AppOptions = {
|
|
|
680
756
|
* id: 'light',
|
|
681
757
|
* title: 'Light Theme',
|
|
682
758
|
* variant: 'light',
|
|
683
|
-
* theme: lightTheme,
|
|
684
759
|
* icon: <LightIcon />,
|
|
760
|
+
* Provider: ({ children }) => (
|
|
761
|
+
* <ThemeProvider theme={lightTheme}>
|
|
762
|
+
* <CssBaseline>{children}</CssBaseline>
|
|
763
|
+
* </ThemeProvider>
|
|
764
|
+
* ),
|
|
685
765
|
* }, {
|
|
686
766
|
* id: 'dark',
|
|
687
767
|
* title: 'Dark Theme',
|
|
688
768
|
* variant: 'dark',
|
|
689
|
-
* theme: darkTheme,
|
|
690
769
|
* icon: <DarkIcon />,
|
|
770
|
+
* Provider: ({ children }) => (
|
|
771
|
+
* <ThemeProvider theme={darkTheme}>
|
|
772
|
+
* <CssBaseline>{children}</CssBaseline>
|
|
773
|
+
* </ThemeProvider>
|
|
774
|
+
* ),
|
|
691
775
|
* }]
|
|
692
776
|
* ```
|
|
693
777
|
*/
|
|
694
|
-
themes
|
|
778
|
+
themes: (Partial<AppTheme> & Omit<AppTheme, 'theme'>)[];
|
|
695
779
|
/**
|
|
696
780
|
* A function that loads in App configuration that will be accessible via
|
|
697
781
|
* the ConfigApi.
|
|
@@ -770,38 +854,23 @@ declare type AppContext = {
|
|
|
770
854
|
getComponents(): AppComponents;
|
|
771
855
|
};
|
|
772
856
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
private readonly themes;
|
|
791
|
-
private readonly configLoader?;
|
|
792
|
-
private readonly defaultApis;
|
|
793
|
-
private readonly bindRoutes;
|
|
794
|
-
private readonly identityApi;
|
|
795
|
-
private readonly apiFactoryRegistry;
|
|
796
|
-
constructor(options: FullAppOptions);
|
|
797
|
-
getPlugins(): BackstagePlugin<any, any>[];
|
|
798
|
-
getSystemIcon(key: string): IconComponent | undefined;
|
|
799
|
-
getComponents(): AppComponents;
|
|
800
|
-
getProvider(): ComponentType<{}>;
|
|
801
|
-
getRouter(): ComponentType<{}>;
|
|
802
|
-
private getApiHolder;
|
|
803
|
-
private verifyPlugins;
|
|
804
|
-
}
|
|
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;
|
|
805
874
|
|
|
806
875
|
/**
|
|
807
876
|
* The default config loader, which expects that config is available at compile-time
|
|
@@ -816,12 +885,6 @@ declare class PrivateAppImpl implements BackstageApp {
|
|
|
816
885
|
* @public
|
|
817
886
|
*/
|
|
818
887
|
declare const defaultConfigLoader: AppConfigLoader;
|
|
819
|
-
/**
|
|
820
|
-
* Creates a new Backstage App.
|
|
821
|
-
*
|
|
822
|
-
* @public
|
|
823
|
-
*/
|
|
824
|
-
declare function createApp(options?: AppOptions): PrivateAppImpl;
|
|
825
888
|
|
|
826
889
|
/**
|
|
827
890
|
* Props for the {@link FlatRoutes} component.
|
|
@@ -864,4 +927,4 @@ declare type FeatureFlaggedProps = {
|
|
|
864
927
|
*/
|
|
865
928
|
declare const FeatureFlagged: (props: FeatureFlaggedProps) => JSX.Element;
|
|
866
929
|
|
|
867
|
-
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 };
|