frontend-app-api: make createApp options optional

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-11-04 23:04:21 +01:00
parent fa28d4e6df
commit fdc348d5d3
3 changed files with 10 additions and 5 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
The options parameter of `createApp` is now optional.
+1 -1
View File
@@ -27,7 +27,7 @@ export type AppRouteBinder = <
) => void;
// @public (undocumented)
export function createApp(options: {
export function createApp(options?: {
features?: (BackstagePlugin | ExtensionOverrides)[];
configLoader?: () => Promise<ConfigApi>;
bindRoutes?(context: { bind: AppRouteBinder }): void;
@@ -222,7 +222,7 @@ function deduplicateFeatures(
}
/** @public */
export function createApp(options: {
export function createApp(options?: {
features?: (BackstagePlugin | ExtensionOverrides)[];
configLoader?: () => Promise<ConfigApi>;
bindRoutes?(context: { bind: AppRouteBinder }): void;
@@ -240,11 +240,11 @@ export function createApp(options: {
);
const discoveredFeatures = getAvailableFeatures(config);
const loadedFeatures = (await options.featureLoader?.({ config })) ?? [];
const loadedFeatures = (await options?.featureLoader?.({ config })) ?? [];
const allFeatures = deduplicateFeatures([
...discoveredFeatures,
...loadedFeatures,
...(options.features ?? []),
...(options?.features ?? []),
]);
const tree = createAppTree({
@@ -268,7 +268,7 @@ export function createApp(options: {
<RoutingProvider
{...extractRouteInfoFromAppNode(tree.root)}
routeBindings={resolveRouteBindings(
options.bindRoutes,
options?.bindRoutes,
config,
routeIds,
)}