@backstage/core-app-api 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/dist/index.d.ts +156 -147
- package/dist/index.esm.js +242 -83
- package/dist/index.esm.js.map +1 -1
- package/package.json +8 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# @backstage/core-app-api
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- e2eb92c109: Removed previously deprecated `ApiRegistry` export.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 34442cd5cf: Fixed an issue where valid SAML and GitHub sessions would be considered invalid and not be stored.
|
|
12
|
+
|
|
13
|
+
Deprecated the `SamlSession` and `GithubSession` types.
|
|
14
|
+
|
|
15
|
+
- 784d8078ab: Removed direct and transitive MUI dependencies.
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- @backstage/config@0.1.12
|
|
18
|
+
- @backstage/core-plugin-api@0.5.0
|
|
19
|
+
|
|
20
|
+
## 0.3.1
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead.
|
|
25
|
+
- Updated dependencies
|
|
26
|
+
- @backstage/core-plugin-api@0.4.1
|
|
27
|
+
- @backstage/core-components@0.8.3
|
|
28
|
+
|
|
29
|
+
## 0.3.0
|
|
30
|
+
|
|
31
|
+
### Minor Changes
|
|
32
|
+
|
|
33
|
+
- a195284c7b: Updated `WebStorageApi` to reflect the `StorageApi` changes in `@backstage/core-plugin-api`.
|
|
34
|
+
- b3605da81c: - Removed deprecated definition `createApp` from `@backstage/core-app-api` which has been replaced by `@backstage/app-defaults#createApp`
|
|
35
|
+
- Removed deprecated type `BackstagePluginWithAnyOutput`
|
|
36
|
+
- Removed deprecated constructors for `GithubAuth`, `OAuth2`, and `SamlAuth` as the `create` method should be used instead
|
|
37
|
+
- 68f8b10ccd: - Removed deprecation configuration option `theme` from `AppTheme` of the `AppThemeApi`
|
|
38
|
+
- Removed reference to `theme` in the `app-defaults` default `AppTheme`
|
|
39
|
+
- Removed logic in `AppThemeProvider` that creates `ThemeProvider` from `appTheme.theme`
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- 7927005152: Add `FetchApi` and related `fetchApiRef` which implement fetch, with an added Backstage token header when available.
|
|
44
|
+
- 518ddc00bc: Schema-validate local storage cached session info on load
|
|
45
|
+
- Updated dependencies
|
|
46
|
+
- @backstage/app-defaults@0.1.3
|
|
47
|
+
- @backstage/core-plugin-api@0.4.0
|
|
48
|
+
- @backstage/core-components@0.8.2
|
|
49
|
+
|
|
50
|
+
## 0.2.1
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- c11ce4f552: Deprecated `Auth0Auth`, pointing to using `OAuth2` directly instead.
|
|
55
|
+
- 9d6503e86c: Switched out usage of deprecated `OAuthRequestApi` types from `@backstage/core-plugin-api`.
|
|
56
|
+
- Updated dependencies
|
|
57
|
+
- @backstage/core-plugin-api@0.3.1
|
|
58
|
+
- @backstage/core-components@0.8.1
|
|
59
|
+
|
|
3
60
|
## 0.2.0
|
|
4
61
|
|
|
5
62
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { ReactNode, PropsWithChildren, ComponentType } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { ApiHolder, ApiRef, ApiFactory, AnyApiRef, ProfileInfo, BackstageIdentity,
|
|
3
|
+
import { ApiHolder, ApiRef, ApiFactory, AnyApiRef, ProfileInfo, BackstageIdentity, OAuthRequestApi, DiscoveryApi, AuthProviderInfo, OAuthApi, SessionApi, SessionState, AuthRequestOptions, gitlabAuthApiRef, googleAuthApiRef, OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, oktaAuthApiRef, auth0AuthApiRef, microsoftAuthApiRef, oneloginAuthApiRef, bitbucketAuthApiRef, atlassianAuthApiRef, AlertApi, AlertMessage, AnalyticsApi, AnalyticsEvent, AppThemeApi, AppTheme, ErrorApi, ErrorApiError, ErrorApiErrorContext, FeatureFlagsApi, FeatureFlag, FeatureFlagsSaveOptions, FetchApi, IdentityApi, OAuthRequesterOptions, OAuthRequester, PendingOAuthRequest, StorageApi, StorageValueSnapshot, BackstagePlugin, IconComponent, ExternalRouteRef, AnyApiFactory, RouteRef, SubRouteRef } from '@backstage/core-plugin-api';
|
|
4
4
|
import * as _backstage_types from '@backstage/types';
|
|
5
|
-
import { Observable } from '@backstage/types';
|
|
6
|
-
import { AppConfig } from '@backstage/config';
|
|
5
|
+
import { Observable, JsonValue } from '@backstage/types';
|
|
6
|
+
import { Config, AppConfig } from '@backstage/config';
|
|
7
7
|
export { ConfigReader } from '@backstage/config';
|
|
8
|
-
import { createApp as createApp$1 } from '@backstage/app-defaults';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* Prop types for the ApiProvider component.
|
|
@@ -31,45 +30,6 @@ declare const ApiProvider: {
|
|
|
31
30
|
};
|
|
32
31
|
};
|
|
33
32
|
|
|
34
|
-
declare type ApiImpl<T = unknown> = readonly [ApiRef<T>, T];
|
|
35
|
-
declare class ApiRegistryBuilder {
|
|
36
|
-
private apis;
|
|
37
|
-
add<T, I extends T>(api: ApiRef<T>, impl: I): I;
|
|
38
|
-
build(): ApiRegistry;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* A registry for utility APIs.
|
|
42
|
-
*
|
|
43
|
-
* @public
|
|
44
|
-
* @deprecated Will be removed, use {@link @backstage/test-utils#TestApiProvider} or {@link @backstage/test-utils#TestApiRegistry} instead.
|
|
45
|
-
*/
|
|
46
|
-
declare class ApiRegistry implements ApiHolder {
|
|
47
|
-
private readonly apis;
|
|
48
|
-
static builder(): ApiRegistryBuilder;
|
|
49
|
-
/**
|
|
50
|
-
* Creates a new ApiRegistry with a list of API implementations.
|
|
51
|
-
*
|
|
52
|
-
* @param apis - A list of pairs mapping an ApiRef to its respective implementation
|
|
53
|
-
*/
|
|
54
|
-
static from(apis: ApiImpl[]): ApiRegistry;
|
|
55
|
-
/**
|
|
56
|
-
* Creates a new ApiRegistry with a single API implementation.
|
|
57
|
-
*
|
|
58
|
-
* @param api - ApiRef for the API to add
|
|
59
|
-
* @param impl - Implementation of the API to add
|
|
60
|
-
*/
|
|
61
|
-
static with<T>(api: ApiRef<T>, impl: T): ApiRegistry;
|
|
62
|
-
constructor(apis: Map<string, unknown>);
|
|
63
|
-
/**
|
|
64
|
-
* Returns a new ApiRegistry with the provided API added to the existing ones.
|
|
65
|
-
*
|
|
66
|
-
* @param api - ApiRef for the API to add
|
|
67
|
-
* @param impl - Implementation of the API to add
|
|
68
|
-
*/
|
|
69
|
-
with<T>(api: ApiRef<T>, impl: T): ApiRegistry;
|
|
70
|
-
get<T>(api: ApiRef<T>): T | undefined;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
33
|
/**
|
|
74
34
|
* @public
|
|
75
35
|
*/
|
|
@@ -135,6 +95,7 @@ declare class ApiFactoryRegistry implements ApiFactoryHolder {
|
|
|
135
95
|
* Session information for GitHub auth.
|
|
136
96
|
*
|
|
137
97
|
* @public
|
|
98
|
+
* @deprecated This type is internal and will be removed
|
|
138
99
|
*/
|
|
139
100
|
declare type GithubSession = {
|
|
140
101
|
providerInfo: {
|
|
@@ -146,22 +107,6 @@ declare type GithubSession = {
|
|
|
146
107
|
backstageIdentity: BackstageIdentity;
|
|
147
108
|
};
|
|
148
109
|
|
|
149
|
-
declare type GetSessionOptions = {
|
|
150
|
-
optional?: boolean;
|
|
151
|
-
instantPopup?: boolean;
|
|
152
|
-
scopes?: Set<string>;
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* A sessions manager keeps track of the current session and makes sure that
|
|
156
|
-
* multiple simultaneous requests for sessions with different scope are handled
|
|
157
|
-
* in a correct way.
|
|
158
|
-
*/
|
|
159
|
-
declare type SessionManager<T> = {
|
|
160
|
-
getSession(options: GetSessionOptions): Promise<T | undefined>;
|
|
161
|
-
removeSession(): Promise<void>;
|
|
162
|
-
sessionState$(): Observable<SessionState>;
|
|
163
|
-
};
|
|
164
|
-
|
|
165
110
|
/**
|
|
166
111
|
* Create options for OAuth APIs.
|
|
167
112
|
* @public
|
|
@@ -177,9 +122,7 @@ declare type OAuthApiCreateOptions = AuthApiCreateOptions & {
|
|
|
177
122
|
declare type AuthApiCreateOptions = {
|
|
178
123
|
discoveryApi: DiscoveryApi;
|
|
179
124
|
environment?: string;
|
|
180
|
-
provider?:
|
|
181
|
-
id: string;
|
|
182
|
-
};
|
|
125
|
+
provider?: AuthProviderInfo;
|
|
183
126
|
};
|
|
184
127
|
|
|
185
128
|
/**
|
|
@@ -190,10 +133,7 @@ declare type AuthApiCreateOptions = {
|
|
|
190
133
|
declare class GithubAuth implements OAuthApi, SessionApi {
|
|
191
134
|
private readonly sessionManager;
|
|
192
135
|
static create(options: OAuthApiCreateOptions): GithubAuth;
|
|
193
|
-
|
|
194
|
-
* @deprecated will be made private in the future. Use create method instead.
|
|
195
|
-
*/
|
|
196
|
-
constructor(sessionManager: SessionManager<GithubSession>);
|
|
136
|
+
private constructor();
|
|
197
137
|
signIn(): Promise<void>;
|
|
198
138
|
signOut(): Promise<void>;
|
|
199
139
|
sessionState$(): Observable<SessionState>;
|
|
@@ -221,22 +161,6 @@ declare class GoogleAuth {
|
|
|
221
161
|
static create(options: OAuthApiCreateOptions): typeof googleAuthApiRef.T;
|
|
222
162
|
}
|
|
223
163
|
|
|
224
|
-
/**
|
|
225
|
-
* Session information for generic OAuth2 auth.
|
|
226
|
-
*
|
|
227
|
-
* @public
|
|
228
|
-
*/
|
|
229
|
-
declare type OAuth2Session = {
|
|
230
|
-
providerInfo: {
|
|
231
|
-
idToken: string;
|
|
232
|
-
accessToken: string;
|
|
233
|
-
scopes: Set<string>;
|
|
234
|
-
expiresAt: Date;
|
|
235
|
-
};
|
|
236
|
-
profile: ProfileInfo;
|
|
237
|
-
backstageIdentity: BackstageIdentity;
|
|
238
|
-
};
|
|
239
|
-
|
|
240
164
|
/**
|
|
241
165
|
* OAuth2 create options.
|
|
242
166
|
* @public
|
|
@@ -253,13 +177,7 @@ declare class OAuth2 implements OAuthApi, OpenIdConnectApi, ProfileInfoApi, Back
|
|
|
253
177
|
static create(options: OAuth2CreateOptions): OAuth2;
|
|
254
178
|
private readonly sessionManager;
|
|
255
179
|
private readonly scopeTransform;
|
|
256
|
-
|
|
257
|
-
* @deprecated will be made private in the future. Use create method instead.
|
|
258
|
-
*/
|
|
259
|
-
constructor(options: {
|
|
260
|
-
sessionManager: SessionManager<OAuth2Session>;
|
|
261
|
-
scopeTransform: (scopes: string[]) => string[];
|
|
262
|
-
});
|
|
180
|
+
private constructor();
|
|
263
181
|
signIn(): Promise<void>;
|
|
264
182
|
signOut(): Promise<void>;
|
|
265
183
|
sessionState$(): Observable<SessionState>;
|
|
@@ -271,24 +189,29 @@ declare class OAuth2 implements OAuthApi, OpenIdConnectApi, ProfileInfoApi, Back
|
|
|
271
189
|
}
|
|
272
190
|
|
|
273
191
|
/**
|
|
274
|
-
*
|
|
192
|
+
* Session information for generic OAuth2 auth.
|
|
275
193
|
*
|
|
276
194
|
* @public
|
|
277
195
|
*/
|
|
278
|
-
declare
|
|
279
|
-
|
|
280
|
-
|
|
196
|
+
declare type OAuth2Session = {
|
|
197
|
+
providerInfo: {
|
|
198
|
+
idToken: string;
|
|
199
|
+
accessToken: string;
|
|
200
|
+
scopes: Set<string>;
|
|
201
|
+
expiresAt: Date;
|
|
202
|
+
};
|
|
203
|
+
profile: ProfileInfo;
|
|
204
|
+
backstageIdentity: BackstageIdentity;
|
|
205
|
+
};
|
|
281
206
|
|
|
282
207
|
/**
|
|
283
|
-
*
|
|
208
|
+
* Implements the OAuth flow to Okta products.
|
|
284
209
|
*
|
|
285
210
|
* @public
|
|
286
211
|
*/
|
|
287
|
-
declare
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
backstageIdentity: BackstageIdentity;
|
|
291
|
-
};
|
|
212
|
+
declare class OktaAuth {
|
|
213
|
+
static create(options: OAuthApiCreateOptions): typeof oktaAuthApiRef.T;
|
|
214
|
+
}
|
|
292
215
|
|
|
293
216
|
/**
|
|
294
217
|
* Implements a general SAML based auth flow.
|
|
@@ -299,20 +222,46 @@ declare class SamlAuth implements ProfileInfoApi, BackstageIdentityApi, SessionA
|
|
|
299
222
|
private readonly sessionManager;
|
|
300
223
|
static create(options: AuthApiCreateOptions): SamlAuth;
|
|
301
224
|
sessionState$(): Observable<SessionState>;
|
|
302
|
-
|
|
303
|
-
* @deprecated will be made private in the future. Use create method instead.
|
|
304
|
-
*/
|
|
305
|
-
constructor(sessionManager: SessionManager<SamlSession>);
|
|
225
|
+
private constructor();
|
|
306
226
|
signIn(): Promise<void>;
|
|
307
227
|
signOut(): Promise<void>;
|
|
308
228
|
getBackstageIdentity(options?: AuthRequestOptions): Promise<BackstageIdentity | undefined>;
|
|
309
229
|
getProfile(options?: AuthRequestOptions): Promise<ProfileInfo | undefined>;
|
|
310
230
|
}
|
|
311
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Session information for SAML auth.
|
|
234
|
+
*
|
|
235
|
+
* @public
|
|
236
|
+
* @deprecated This type is internal and will be removed
|
|
237
|
+
*/
|
|
238
|
+
declare type ExportedSamlSession = {
|
|
239
|
+
userId: string;
|
|
240
|
+
profile: ProfileInfo;
|
|
241
|
+
backstageIdentity: BackstageIdentity;
|
|
242
|
+
};
|
|
243
|
+
|
|
312
244
|
/**
|
|
313
245
|
* Implements the OAuth flow to Auth0 products.
|
|
314
246
|
*
|
|
315
247
|
* @public
|
|
248
|
+
* @deprecated Use {@link OAuth2} instead
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
*
|
|
252
|
+
* ```ts
|
|
253
|
+
* OAuth2.create({
|
|
254
|
+
* discoveryApi,
|
|
255
|
+
* oauthRequestApi,
|
|
256
|
+
* provider: {
|
|
257
|
+
* id: 'auth0',
|
|
258
|
+
* title: 'Auth0',
|
|
259
|
+
* icon: () => null,
|
|
260
|
+
* },
|
|
261
|
+
* defaultScopes: ['openid', 'email', 'profile'],
|
|
262
|
+
* environment: configApi.getOptionalString('auth.environment'),
|
|
263
|
+
* })
|
|
264
|
+
* ```
|
|
316
265
|
*/
|
|
317
266
|
declare class Auth0Auth {
|
|
318
267
|
static create(options: OAuthApiCreateOptions): typeof auth0AuthApiRef.T;
|
|
@@ -335,9 +284,7 @@ declare type OneLoginAuthCreateOptions = {
|
|
|
335
284
|
discoveryApi: DiscoveryApi;
|
|
336
285
|
oauthRequestApi: OAuthRequestApi;
|
|
337
286
|
environment?: string;
|
|
338
|
-
provider?:
|
|
339
|
-
id: string;
|
|
340
|
-
};
|
|
287
|
+
provider?: AuthProviderInfo;
|
|
341
288
|
};
|
|
342
289
|
/**
|
|
343
290
|
* Implements a OneLogin OAuth flow.
|
|
@@ -498,6 +445,87 @@ declare class LocalStorageFeatureFlags implements FeatureFlagsApi {
|
|
|
498
445
|
private load;
|
|
499
446
|
}
|
|
500
447
|
|
|
448
|
+
/**
|
|
449
|
+
* A middleware that modifies the behavior of an ongoing fetch.
|
|
450
|
+
*
|
|
451
|
+
* @public
|
|
452
|
+
*/
|
|
453
|
+
interface FetchMiddleware {
|
|
454
|
+
/**
|
|
455
|
+
* Applies this middleware to an inner implementation.
|
|
456
|
+
*
|
|
457
|
+
* @param next - The next, inner, implementation, that this middleware shall
|
|
458
|
+
* call out to as part of the request cycle.
|
|
459
|
+
*/
|
|
460
|
+
apply(next: typeof fetch): typeof fetch;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Builds a fetch API, based on the builtin fetch wrapped by a set of optional
|
|
465
|
+
* middleware implementations that add behaviors.
|
|
466
|
+
*
|
|
467
|
+
* @remarks
|
|
468
|
+
*
|
|
469
|
+
* The middleware are applied in reverse order, i.e. the last one will be
|
|
470
|
+
* "closest" to the base implementation. Passing in `[M1, M2, M3]` effectively
|
|
471
|
+
* leads to `M1(M2(M3(baseImplementation)))`.
|
|
472
|
+
*
|
|
473
|
+
* @public
|
|
474
|
+
*/
|
|
475
|
+
declare function createFetchApi(options: {
|
|
476
|
+
baseImplementation?: typeof fetch | undefined;
|
|
477
|
+
middleware?: FetchMiddleware | FetchMiddleware[] | undefined;
|
|
478
|
+
}): FetchApi;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* A collection of common middlewares for the FetchApi.
|
|
482
|
+
*
|
|
483
|
+
* @public
|
|
484
|
+
*/
|
|
485
|
+
declare class FetchMiddlewares {
|
|
486
|
+
/**
|
|
487
|
+
* Handles translation from `plugin://` URLs to concrete http(s) URLs based on
|
|
488
|
+
* the discovery API.
|
|
489
|
+
*
|
|
490
|
+
* @remarks
|
|
491
|
+
*
|
|
492
|
+
* If the request is for `plugin://catalog/entities?filter=x=y`, the discovery
|
|
493
|
+
* API will be queried for `'catalog'`. If it returned
|
|
494
|
+
* `https://backstage.example.net/api/catalog`, the resulting query would be
|
|
495
|
+
* `https://backstage.example.net/api/catalog/entities?filter=x=y`.
|
|
496
|
+
*
|
|
497
|
+
* If the incoming URL protocol was not `plugin`, the request is just passed
|
|
498
|
+
* through verbatim to the underlying implementation.
|
|
499
|
+
*/
|
|
500
|
+
static resolvePluginProtocol(options: {
|
|
501
|
+
discoveryApi: DiscoveryApi;
|
|
502
|
+
}): FetchMiddleware;
|
|
503
|
+
/**
|
|
504
|
+
* Injects a Backstage token header when the user is signed in.
|
|
505
|
+
*
|
|
506
|
+
* @remarks
|
|
507
|
+
*
|
|
508
|
+
* Per default, an `Authorization: Bearer <token>` is generated. This can be
|
|
509
|
+
* customized using the `header` option.
|
|
510
|
+
*
|
|
511
|
+
* The header injection only happens on allowlisted URLs. Per default, if the
|
|
512
|
+
* `config` option is passed in, the `backend.baseUrl` is allowlisted, unless
|
|
513
|
+
* the `urlPrefixAllowlist` option is passed in, in which case it takes
|
|
514
|
+
* precedence. If you pass in neither config nor an allowlist, the middleware
|
|
515
|
+
* will have no effect.
|
|
516
|
+
*/
|
|
517
|
+
static injectIdentityAuth(options: {
|
|
518
|
+
identityApi: IdentityApi;
|
|
519
|
+
config?: Config;
|
|
520
|
+
urlPrefixAllowlist?: string[];
|
|
521
|
+
header?: {
|
|
522
|
+
name: string;
|
|
523
|
+
value: (backstageToken: string) => string;
|
|
524
|
+
};
|
|
525
|
+
}): FetchMiddleware;
|
|
526
|
+
private constructor();
|
|
527
|
+
}
|
|
528
|
+
|
|
501
529
|
/**
|
|
502
530
|
* The OAuthRequestManager is an implementation of the OAuthRequestApi.
|
|
503
531
|
*
|
|
@@ -511,9 +539,9 @@ declare class OAuthRequestManager implements OAuthRequestApi {
|
|
|
511
539
|
private readonly subject;
|
|
512
540
|
private currentRequests;
|
|
513
541
|
private handlerCount;
|
|
514
|
-
createAuthRequester<T>(options:
|
|
542
|
+
createAuthRequester<T>(options: OAuthRequesterOptions<T>): OAuthRequester<T>;
|
|
515
543
|
private makeAuthRequest;
|
|
516
|
-
authRequest$(): Observable<
|
|
544
|
+
authRequest$(): Observable<PendingOAuthRequest[]>;
|
|
517
545
|
}
|
|
518
546
|
|
|
519
547
|
/**
|
|
@@ -530,10 +558,11 @@ declare class WebStorage implements StorageApi {
|
|
|
530
558
|
namespace?: string;
|
|
531
559
|
}): WebStorage;
|
|
532
560
|
get<T>(key: string): T | undefined;
|
|
561
|
+
snapshot<T extends JsonValue>(key: string): StorageValueSnapshot<T>;
|
|
533
562
|
forBucket(name: string): WebStorage;
|
|
534
563
|
set<T>(key: string, data: T): Promise<void>;
|
|
535
564
|
remove(key: string): Promise<void>;
|
|
536
|
-
observe$<T>(key: string): Observable<
|
|
565
|
+
observe$<T>(key: string): Observable<StorageValueSnapshot<T>>;
|
|
537
566
|
private getKeyName;
|
|
538
567
|
private notifyChanges;
|
|
539
568
|
private subscribers;
|
|
@@ -681,7 +710,7 @@ declare type TargetRouteMap<ExternalRoutes extends {
|
|
|
681
710
|
};
|
|
682
711
|
/**
|
|
683
712
|
* A function that can bind from external routes of a given plugin, to concrete
|
|
684
|
-
* routes of other plugins. See {@link
|
|
713
|
+
* routes of other plugins. See {@link createSpecializedApp}.
|
|
685
714
|
*
|
|
686
715
|
* @public
|
|
687
716
|
*/
|
|
@@ -689,28 +718,7 @@ declare type AppRouteBinder = <ExternalRoutes extends {
|
|
|
689
718
|
[name: string]: ExternalRouteRef;
|
|
690
719
|
}>(externalRoutes: ExternalRoutes, targetRoutes: PartialKeys<TargetRouteMap<ExternalRoutes>, KeysWithType<ExternalRoutes, ExternalRouteRef<any, true>>>) => void;
|
|
691
720
|
/**
|
|
692
|
-
*
|
|
693
|
-
*
|
|
694
|
-
* @public
|
|
695
|
-
* @remarks
|
|
696
|
-
* @deprecated Will be removed
|
|
697
|
-
*
|
|
698
|
-
* The `type: string` type is there to handle output from newer or older plugin
|
|
699
|
-
* API versions that might not be supported by this version of the app API, but
|
|
700
|
-
* we don't want to break at the type checking level. We only use this more
|
|
701
|
-
* permissive type for the `createApp` options, as we otherwise want to stick
|
|
702
|
-
* to using the type for the outputs that we know about in this version of the
|
|
703
|
-
* app api.
|
|
704
|
-
*
|
|
705
|
-
* TODO(freben): This should be marked internal but that's not supported by the api report generation tools yet
|
|
706
|
-
*/
|
|
707
|
-
declare type BackstagePluginWithAnyOutput = Omit<BackstagePlugin<any, any>, 'output'> & {
|
|
708
|
-
output(): (PluginOutput | {
|
|
709
|
-
type: string;
|
|
710
|
-
})[];
|
|
711
|
-
};
|
|
712
|
-
/**
|
|
713
|
-
* The options accepted by {@link createApp}.
|
|
721
|
+
* The options accepted by {@link createSpecializedApp}.
|
|
714
722
|
*
|
|
715
723
|
* @public
|
|
716
724
|
*/
|
|
@@ -737,11 +745,14 @@ declare type AppOptions = {
|
|
|
737
745
|
/**
|
|
738
746
|
* A list of all plugins to include in the app.
|
|
739
747
|
*/
|
|
740
|
-
plugins?:
|
|
741
|
-
output():
|
|
748
|
+
plugins?: Array<BackstagePlugin<any, any> & {
|
|
749
|
+
output?(): Array<{
|
|
750
|
+
type: 'feature-flag';
|
|
751
|
+
name: string;
|
|
752
|
+
} | {
|
|
742
753
|
type: string;
|
|
743
|
-
}
|
|
744
|
-
}
|
|
754
|
+
}>;
|
|
755
|
+
}>;
|
|
745
756
|
/**
|
|
746
757
|
* Supply components to the app to override the default ones.
|
|
747
758
|
*/
|
|
@@ -810,7 +821,7 @@ declare type AppOptions = {
|
|
|
810
821
|
}): void;
|
|
811
822
|
};
|
|
812
823
|
/**
|
|
813
|
-
* The public API of the output of {@link
|
|
824
|
+
* The public API of the output of {@link createSpecializedApp}.
|
|
814
825
|
*
|
|
815
826
|
* @public
|
|
816
827
|
*/
|
|
@@ -855,21 +866,19 @@ declare type AppContext = {
|
|
|
855
866
|
getComponents(): AppComponents;
|
|
856
867
|
};
|
|
857
868
|
|
|
858
|
-
/**
|
|
859
|
-
* Creates a new Backstage App.
|
|
860
|
-
*
|
|
861
|
-
* @deprecated Use {@link @backstage/app-defaults#createApp} from `@backstage/app-defaults` instead
|
|
862
|
-
* @param options - A set of options for creating the app
|
|
863
|
-
* @public
|
|
864
|
-
*/
|
|
865
|
-
declare function createApp(options?: Parameters<typeof createApp$1>[0]): BackstageApp & AppContext;
|
|
866
|
-
|
|
867
869
|
/**
|
|
868
870
|
* Creates a new Backstage App where the full set of options are required.
|
|
869
871
|
*
|
|
870
872
|
* @public
|
|
871
873
|
* @param options - A set of options for creating the app
|
|
872
874
|
* @returns
|
|
875
|
+
* @remarks
|
|
876
|
+
*
|
|
877
|
+
* You will most likely want to use {@link @backstage/app-defaults#createApp},
|
|
878
|
+
* however, this low-level API allows you to provide a full set of options,
|
|
879
|
+
* including your own `components`, `icons`, `defaultApis`, and `themes`. This
|
|
880
|
+
* is particularly useful if you are not using `@backstage/core-components` or
|
|
881
|
+
* MUI, as it allows you to avoid those dependencies completely.
|
|
873
882
|
*/
|
|
874
883
|
declare function createSpecializedApp(options: AppOptions): BackstageApp;
|
|
875
884
|
|
|
@@ -928,4 +937,4 @@ declare type FeatureFlaggedProps = {
|
|
|
928
937
|
*/
|
|
929
938
|
declare const FeatureFlagged: (props: FeatureFlaggedProps) => JSX.Element;
|
|
930
939
|
|
|
931
|
-
export { AlertApiForwarder, ApiFactoryHolder, ApiFactoryRegistry, ApiFactoryScope, ApiProvider, ApiProviderProps,
|
|
940
|
+
export { AlertApiForwarder, ApiFactoryHolder, ApiFactoryRegistry, ApiFactoryScope, ApiProvider, ApiProviderProps, ApiResolver, AppComponents, AppConfigLoader, AppContext, AppIcons, AppOptions, AppRouteBinder, AppThemeSelector, AtlassianAuth, Auth0Auth, AuthApiCreateOptions, BackstageApp, BitbucketAuth, BitbucketSession, BootErrorPageProps, ErrorAlerter, ErrorApiForwarder, ErrorBoundaryFallbackProps, FeatureFlagged, FeatureFlaggedProps, FetchMiddleware, FetchMiddlewares, FlatRoutes, FlatRoutesProps, GithubAuth, GithubSession, GitlabAuth, GoogleAuth, LocalStorageFeatureFlags, MicrosoftAuth, NoOpAnalyticsApi, OAuth2, OAuth2CreateOptions, OAuth2Session, OAuthApiCreateOptions, OAuthRequestManager, OktaAuth, OneLoginAuth, OneLoginAuthCreateOptions, SamlAuth, ExportedSamlSession as SamlSession, SignInPageProps, SignInResult, UnhandledErrorForwarder, UrlPatternDiscovery, WebStorage, createFetchApi, createSpecializedApp, defaultConfigLoader };
|