From 12b6db78ebd32a3692d9f295ee9fe1df9d0d3cc1 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 15 Aug 2025 20:27:17 +0200 Subject: [PATCH] frontend-plugin-api: add OverridableFrontendPlugin type Signed-off-by: Patrik Oldsberg --- .changeset/empty-things-see.md | 5 ++ .../app-next-example-plugin/report.api.md | 4 +- .../src/wiring/InternalFrontendPlugin.ts | 4 +- packages/frontend-plugin-api/report.api.md | 49 ++++++++++++------- .../src/wiring/createFrontendPlugin.ts | 39 ++++++++++----- .../frontend-plugin-api/src/wiring/index.ts | 1 + plugins/api-docs/report-alpha.api.md | 4 +- plugins/app-visualizer/report.api.md | 4 +- plugins/app/report.api.md | 4 +- plugins/catalog-graph/report-alpha.api.md | 4 +- plugins/catalog-import/report-alpha.api.md | 4 +- .../report-alpha.api.md | 4 +- plugins/catalog/report-alpha.api.md | 4 +- plugins/devtools/report-alpha.api.md | 4 +- plugins/home/report-alpha.api.md | 4 +- plugins/kubernetes/report-alpha.api.md | 4 +- plugins/notifications/report-alpha.api.md | 4 +- plugins/org/report-alpha.api.md | 4 +- plugins/scaffolder/report-alpha.api.md | 4 +- plugins/search/report-alpha.api.md | 4 +- plugins/signals/report-alpha.api.md | 4 +- plugins/techdocs/report-alpha.api.md | 4 +- plugins/user-settings/report-alpha.api.md | 4 +- 23 files changed, 103 insertions(+), 67 deletions(-) create mode 100644 .changeset/empty-things-see.md diff --git a/.changeset/empty-things-see.md b/.changeset/empty-things-see.md new file mode 100644 index 0000000000..99d6594fdb --- /dev/null +++ b/.changeset/empty-things-see.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': minor +--- + +**BREAKING**: Added a new `OverridableFrontendPlugin` type that is used as the return value of `createFrontendPlugin`. This type includes the `withOverrides` and `.getExtension` methods that are helpful when creating plugin overrides, while the base `FrontendPlugin` type no longer includes these methods. This is a breaking change for the `AppTreeApi` and some other places where the `FrontendPlugin` type is still used, but also fixes some cases where the extra plugin methods were causing issues. diff --git a/packages/app-next-example-plugin/report.api.md b/packages/app-next-example-plugin/report.api.md index 0635a25844..12346d908c 100644 --- a/packages/app-next-example-plugin/report.api.md +++ b/packages/app-next-example-plugin/report.api.md @@ -6,13 +6,13 @@ import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; import { JSX as JSX_3 } from 'react/jsx-runtime'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; // @public (undocumented) -const examplePlugin: FrontendPlugin< +const examplePlugin: OverridableFrontendPlugin< {}, {}, { diff --git a/packages/frontend-internal/src/wiring/InternalFrontendPlugin.ts b/packages/frontend-internal/src/wiring/InternalFrontendPlugin.ts index af69370f76..3e964af5ca 100644 --- a/packages/frontend-internal/src/wiring/InternalFrontendPlugin.ts +++ b/packages/frontend-internal/src/wiring/InternalFrontendPlugin.ts @@ -17,13 +17,13 @@ import { Extension, FeatureFlagConfig, - FrontendPlugin, + OverridableFrontendPlugin, } from '@backstage/frontend-plugin-api'; import { JsonObject } from '@backstage/types'; import { OpaqueType } from '@internal/opaque'; export const OpaqueFrontendPlugin = OpaqueType.create<{ - public: FrontendPlugin; + public: OverridableFrontendPlugin; versions: { readonly version: 'v1'; readonly extensions: Extension[]; diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 469733987e..9b9d9f99d7 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -719,7 +719,7 @@ export function createFrontendPlugin< TExtensions extends readonly ExtensionDefinition[] = [], >( options: PluginOptions, -): FrontendPlugin< +): OverridableFrontendPlugin< TRoutes, TExternalRoutes, MakeSortedExtensionsMap @@ -880,7 +880,7 @@ export interface ExtensionBlueprint< // (undocumented) make< TName extends string | undefined, - TParamsInput extends AnyParamsInput_2>, + TParamsInput extends AnyParamsInput>, >(args: { name?: TName; attachTo?: ExtensionAttachToSpec; @@ -932,7 +932,7 @@ export interface ExtensionBlueprint< }; factory( originalFactory: < - TParamsInput extends AnyParamsInput_2>, + TParamsInput extends AnyParamsInput>, >( params: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput @@ -1122,7 +1122,7 @@ export type ExtensionDefinition< } >; }, - TParamsInput extends AnyParamsInput>, + TParamsInput extends AnyParamsInput_2>, >( args: Expand< { @@ -1141,7 +1141,7 @@ export type ExtensionDefinition< }; factory?( originalFactory: < - TFactoryParamsReturn extends AnyParamsInput< + TFactoryParamsReturn extends AnyParamsInput_2< NonNullable >, >( @@ -1328,28 +1328,16 @@ export interface FrontendPlugin< } = { [name in string]: ExternalRouteRef; }, - TExtensionMap extends { - [id in string]: ExtensionDefinition; - } = { - [id in string]: ExtensionDefinition; - }, > { // (undocumented) readonly $$type: '@backstage/FrontendPlugin'; // (undocumented) readonly externalRoutes: TExternalRoutes; // (undocumented) - getExtension(id: TId): TExtensionMap[TId]; - // (undocumented) readonly id: string; info(): Promise; // (undocumented) readonly routes: TRoutes; - // (undocumented) - withOverrides(options: { - extensions: Array; - info?: FrontendPluginInfoOptions; - }): FrontendPlugin; } // @public @@ -1530,6 +1518,33 @@ export { oneloginAuthApiRef }; export { OpenIdConnectApi }; +// @public +export interface OverridableFrontendPlugin< + TRoutes extends { + [name in string]: RouteRef | SubRouteRef; + } = { + [name in string]: RouteRef | SubRouteRef; + }, + TExternalRoutes extends { + [name in string]: ExternalRouteRef; + } = { + [name in string]: ExternalRouteRef; + }, + TExtensionMap extends { + [id in string]: ExtensionDefinition; + } = { + [id in string]: ExtensionDefinition; + }, +> extends FrontendPlugin { + // (undocumented) + getExtension(id: TId): TExtensionMap[TId]; + // (undocumented) + withOverrides(options: { + extensions: Array; + info?: FrontendPluginInfoOptions; + }): OverridableFrontendPlugin; +} + // @public export const PageBlueprint: ExtensionBlueprint<{ kind: 'page'; diff --git a/packages/frontend-plugin-api/src/wiring/createFrontendPlugin.ts b/packages/frontend-plugin-api/src/wiring/createFrontendPlugin.ts index f545195e81..49c173912a 100644 --- a/packages/frontend-plugin-api/src/wiring/createFrontendPlugin.ts +++ b/packages/frontend-plugin-api/src/wiring/createFrontendPlugin.ts @@ -88,8 +88,12 @@ export type FrontendPluginInfoOptions = { manifest?: () => Promise; }; -/** @public */ -export interface FrontendPlugin< +/** + * A variant of the {@link FrontendPlugin} interface that can also be used to install overrides for the plugin. + * + * @public + */ +export interface OverridableFrontendPlugin< TRoutes extends { [name in string]: RouteRef | SubRouteRef } = { [name in string]: RouteRef | SubRouteRef; }, @@ -99,6 +103,26 @@ export interface FrontendPlugin< TExtensionMap extends { [id in string]: ExtensionDefinition } = { [id in string]: ExtensionDefinition; }, +> extends FrontendPlugin { + getExtension(id: TId): TExtensionMap[TId]; + withOverrides(options: { + extensions: Array; + + /** + * Overrides the original info loaders of the plugin one by one. + */ + info?: FrontendPluginInfoOptions; + }): OverridableFrontendPlugin; +} + +/** @public */ +export interface FrontendPlugin< + TRoutes extends { [name in string]: RouteRef | SubRouteRef } = { + [name in string]: RouteRef | SubRouteRef; + }, + TExternalRoutes extends { [name in string]: ExternalRouteRef } = { + [name in string]: ExternalRouteRef; + }, > { readonly $$type: '@backstage/FrontendPlugin'; readonly id: string; @@ -109,15 +133,6 @@ export interface FrontendPlugin< * Loads the plugin info. */ info(): Promise; - getExtension(id: TId): TExtensionMap[TId]; - withOverrides(options: { - extensions: Array; - - /** - * Overrides the original info loaders of the plugin one by one. - */ - info?: FrontendPluginInfoOptions; - }): FrontendPlugin; } /** @public */ @@ -172,7 +187,7 @@ export function createFrontendPlugin< TExtensions extends readonly ExtensionDefinition[] = [], >( options: PluginOptions, -): FrontendPlugin< +): OverridableFrontendPlugin< TRoutes, TExternalRoutes, MakeSortedExtensionsMap diff --git a/packages/frontend-plugin-api/src/wiring/index.ts b/packages/frontend-plugin-api/src/wiring/index.ts index ec6f8c4ffa..45c80d4a90 100644 --- a/packages/frontend-plugin-api/src/wiring/index.ts +++ b/packages/frontend-plugin-api/src/wiring/index.ts @@ -39,6 +39,7 @@ export { export { createFrontendPlugin, type FrontendPlugin, + type OverridableFrontendPlugin, type PluginOptions, type FrontendPluginInfo, type FrontendPluginInfoOptions, diff --git a/plugins/api-docs/report-alpha.api.md b/plugins/api-docs/report-alpha.api.md index ef4cb297ca..4248b1b42c 100644 --- a/plugins/api-docs/report-alpha.api.md +++ b/plugins/api-docs/report-alpha.api.md @@ -15,9 +15,9 @@ import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/frontend-plugin-api'; @@ -55,7 +55,7 @@ export const apiDocsTranslationRef: TranslationRef< >; // @public (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/app-visualizer/report.api.md b/plugins/app-visualizer/report.api.md index 414c47cecc..1283df5486 100644 --- a/plugins/app-visualizer/report.api.md +++ b/plugins/app-visualizer/report.api.md @@ -6,13 +6,13 @@ import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; // @public (undocumented) -const visualizerPlugin: FrontendPlugin< +const visualizerPlugin: OverridableFrontendPlugin< {}, {}, { diff --git a/plugins/app/report.api.md b/plugins/app/report.api.md index 376dbc8db6..24885bed4b 100644 --- a/plugins/app/report.api.md +++ b/plugins/app/report.api.md @@ -14,11 +14,11 @@ import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { IconComponent as IconComponent_2 } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; import { NavContentComponent } from '@backstage/frontend-plugin-api'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { ReactNode } from 'react'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { SignInPageProps } from '@backstage/core-plugin-api'; @@ -27,7 +27,7 @@ import { TranslationMessages } from '@backstage/frontend-plugin-api'; import { TranslationResource } from '@backstage/frontend-plugin-api'; // @public (undocumented) -const appPlugin: FrontendPlugin< +const appPlugin: OverridableFrontendPlugin< {}, {}, { diff --git a/plugins/catalog-graph/report-alpha.api.md b/plugins/catalog-graph/report-alpha.api.md index 729be9006b..3ac88050ba 100644 --- a/plugins/catalog-graph/report-alpha.api.md +++ b/plugins/catalog-graph/report-alpha.api.md @@ -12,8 +12,8 @@ import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/frontend-plugin-api'; @@ -46,7 +46,7 @@ export const catalogGraphTranslationRef: TranslationRef< >; // @public (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { catalogGraph: RouteRef; }, diff --git a/plugins/catalog-import/report-alpha.api.md b/plugins/catalog-import/report-alpha.api.md index 43e62aecac..051e38cd19 100644 --- a/plugins/catalog-import/report-alpha.api.md +++ b/plugins/catalog-import/report-alpha.api.md @@ -9,8 +9,8 @@ import { ApiFactory } from '@backstage/core-plugin-api'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/core-plugin-api/alpha'; @@ -88,7 +88,7 @@ export const catalogImportTranslationRef: TranslationRef< >; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { importPage: RouteRef; }, diff --git a/plugins/catalog-unprocessed-entities/report-alpha.api.md b/plugins/catalog-unprocessed-entities/report-alpha.api.md index 8b29ef3354..17d28ee165 100644 --- a/plugins/catalog-unprocessed-entities/report-alpha.api.md +++ b/plugins/catalog-unprocessed-entities/report-alpha.api.md @@ -9,13 +9,13 @@ import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/catalog/report-alpha.api.md b/plugins/catalog/report-alpha.api.md index b308eb2699..4f581add67 100644 --- a/plugins/catalog/report-alpha.api.md +++ b/plugins/catalog/report-alpha.api.md @@ -18,10 +18,10 @@ import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { IconLinkVerticalProps } from '@backstage/core-components'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { SearchResultItemExtensionComponent } from '@backstage/plugin-search-react/alpha'; import { SearchResultItemExtensionPredicate } from '@backstage/plugin-search-react/alpha'; @@ -114,7 +114,7 @@ export const catalogTranslationRef: TranslationRef< >; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { catalogIndex: RouteRef; catalogEntity: RouteRef<{ diff --git a/plugins/devtools/report-alpha.api.md b/plugins/devtools/report-alpha.api.md index 764fe4079a..7696267c35 100644 --- a/plugins/devtools/report-alpha.api.md +++ b/plugins/devtools/report-alpha.api.md @@ -9,13 +9,13 @@ import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/home/report-alpha.api.md b/plugins/home/report-alpha.api.md index d2e5c22ef8..8dbbb99b5d 100644 --- a/plugins/home/report-alpha.api.md +++ b/plugins/home/report-alpha.api.md @@ -11,13 +11,13 @@ import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/kubernetes/report-alpha.api.md b/plugins/kubernetes/report-alpha.api.md index e8ad7bb2ff..9bcbeb4ede 100644 --- a/plugins/kubernetes/report-alpha.api.md +++ b/plugins/kubernetes/report-alpha.api.md @@ -12,13 +12,13 @@ import { EntityPredicate } from '@backstage/plugin-catalog-react/alpha'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/core-plugin-api/alpha'; // @public (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { kubernetes: RouteRef; }, diff --git a/plugins/notifications/report-alpha.api.md b/plugins/notifications/report-alpha.api.md index f98e01d937..bec9d5ae13 100644 --- a/plugins/notifications/report-alpha.api.md +++ b/plugins/notifications/report-alpha.api.md @@ -9,12 +9,12 @@ import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/org/report-alpha.api.md b/plugins/org/report-alpha.api.md index 35e3ec9661..3cebe00d33 100644 --- a/plugins/org/report-alpha.api.md +++ b/plugins/org/report-alpha.api.md @@ -10,12 +10,12 @@ import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< {}, { catalogIndex: ExternalRouteRef; diff --git a/plugins/scaffolder/report-alpha.api.md b/plugins/scaffolder/report-alpha.api.md index de1ddba005..534d136e6f 100644 --- a/plugins/scaffolder/report-alpha.api.md +++ b/plugins/scaffolder/report-alpha.api.md @@ -21,11 +21,11 @@ import { FormField } from '@backstage/plugin-scaffolder-react/alpha'; import { formFieldsApiRef } from '@backstage/plugin-scaffolder-react/alpha'; import type { FormProps as FormProps_2 } from '@rjsf/core'; import { FormProps as FormProps_3 } from '@backstage/plugin-scaffolder-react'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { IconLinkVerticalProps } from '@backstage/core-components'; import { JSX as JSX_2 } from 'react'; import { LayoutOptions } from '@backstage/plugin-scaffolder-react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { PathParams } from '@backstage/core-plugin-api'; import { ReviewStepProps } from '@backstage/plugin-scaffolder-react'; import { RouteRef } from '@backstage/frontend-plugin-api'; @@ -37,7 +37,7 @@ import { TemplateGroupFilter } from '@backstage/plugin-scaffolder-react'; import { TranslationRef } from '@backstage/core-plugin-api/alpha'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; selectedTemplate: SubRouteRef< diff --git a/plugins/search/report-alpha.api.md b/plugins/search/report-alpha.api.md index 276fa437e7..773f6c21b7 100644 --- a/plugins/search/report-alpha.api.md +++ b/plugins/search/report-alpha.api.md @@ -11,9 +11,9 @@ import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { SearchFilterExtensionComponent } from '@backstage/plugin-search-react/alpha'; import { SearchResultItemExtensionComponent } from '@backstage/plugin-search-react/alpha'; @@ -21,7 +21,7 @@ import { SearchResultItemExtensionPredicate } from '@backstage/plugin-search-rea import { TranslationRef } from '@backstage/core-plugin-api/alpha'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; }, diff --git a/plugins/signals/report-alpha.api.md b/plugins/signals/report-alpha.api.md index ff1d4d2c3b..cd2f384e10 100644 --- a/plugins/signals/report-alpha.api.md +++ b/plugins/signals/report-alpha.api.md @@ -8,11 +8,11 @@ import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< {}, {}, { diff --git a/plugins/techdocs/report-alpha.api.md b/plugins/techdocs/report-alpha.api.md index 1b41610b14..7681810d6c 100644 --- a/plugins/techdocs/report-alpha.api.md +++ b/plugins/techdocs/report-alpha.api.md @@ -14,10 +14,10 @@ import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { IconLinkVerticalProps } from '@backstage/core-components'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { SearchResultItemExtensionComponent } from '@backstage/plugin-search-react/alpha'; import { SearchResultItemExtensionPredicate } from '@backstage/plugin-search-react/alpha'; @@ -25,7 +25,7 @@ import { SearchResultListItemBlueprintParams } from '@backstage/plugin-search-re import { TechDocsAddonOptions } from '@backstage/plugin-techdocs-react'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; docRoot: RouteRef<{ diff --git a/plugins/user-settings/report-alpha.api.md b/plugins/user-settings/report-alpha.api.md index 1e87395800..5a28aacc02 100644 --- a/plugins/user-settings/report-alpha.api.md +++ b/plugins/user-settings/report-alpha.api.md @@ -8,14 +8,14 @@ import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; -import { FrontendPlugin } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; +import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api'; import { RouteRef } from '@backstage/frontend-plugin-api'; import { TranslationRef } from '@backstage/core-plugin-api/alpha'; // @alpha (undocumented) -const _default: FrontendPlugin< +const _default: OverridableFrontendPlugin< { root: RouteRef; },