diff --git a/.changeset/honest-seas-repeat.md b/.changeset/honest-seas-repeat.md new file mode 100644 index 0000000000..99f1ceaeb2 --- /dev/null +++ b/.changeset/honest-seas-repeat.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-app': minor +--- + +**BREAKING**: The `app-root-element` extension now only accepts `JSX.Element` in its `element` param, meaning overrides need to be updated. diff --git a/.changeset/small-trams-do.md b/.changeset/small-trams-do.md new file mode 100644 index 0000000000..a3d0e394a6 --- /dev/null +++ b/.changeset/small-trams-do.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': minor +--- + +**BREAKING**: The `element` param for `AppRootElementBlueprint` no longer accepts a component. If you are currently passing a component such as `element: () => ` or `element: MyComponent`, simply switch to `element: `. diff --git a/.changeset/thick-breads-add.md b/.changeset/thick-breads-add.md new file mode 100644 index 0000000000..94b19d258d --- /dev/null +++ b/.changeset/thick-breads-add.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-signals': patch +'@backstage/plugin-home': patch +--- + +**BREAKING ALPHA**: The `app-root-element` extension now only accepts `JSX.Element` in its `element` param, meaning overrides need to be updated. diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 8ae1960221..2b2fec28a2 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -254,7 +254,7 @@ export const AppRootElementBlueprint: ExtensionBlueprint<{ kind: 'app-root-element'; name: undefined; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; output: ConfigurableExtensionDataRef; inputs: {}; diff --git a/packages/frontend-plugin-api/src/blueprints/AppRootElementBlueprint.ts b/packages/frontend-plugin-api/src/blueprints/AppRootElementBlueprint.ts index c823fa56cd..d1c71155f2 100644 --- a/packages/frontend-plugin-api/src/blueprints/AppRootElementBlueprint.ts +++ b/packages/frontend-plugin-api/src/blueprints/AppRootElementBlueprint.ts @@ -26,9 +26,7 @@ export const AppRootElementBlueprint = createExtensionBlueprint({ kind: 'app-root-element', attachTo: { id: 'app/root', input: 'elements' }, output: [coreExtensionData.reactElement], - *factory(params: { element: JSX.Element | (() => JSX.Element) }) { - yield coreExtensionData.reactElement( - typeof params.element === 'function' ? params.element() : params.element, - ); + *factory(params: { element: JSX.Element }) { + yield coreExtensionData.reactElement(params.element); }, }); diff --git a/plugins/app/report.api.md b/plugins/app/report.api.md index 15001d2961..fc0c60daf7 100644 --- a/plugins/app/report.api.md +++ b/plugins/app/report.api.md @@ -816,7 +816,7 @@ const appPlugin: FrontendPlugin< kind: 'app-root-element'; name: 'alert-display'; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; }>; 'app-root-element:app/dialog-display': ExtensionDefinition<{ @@ -839,7 +839,7 @@ const appPlugin: FrontendPlugin< kind: 'app-root-element'; name: 'dialog-display'; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; }>; 'app-root-element:app/oauth-request-dialog': ExtensionDefinition<{ @@ -854,7 +854,7 @@ const appPlugin: FrontendPlugin< >; inputs: {}; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; }>; 'sign-in-page:app': ExtensionDefinition<{ diff --git a/plugins/app/src/extensions/elements.tsx b/plugins/app/src/extensions/elements.tsx index 5a9644e4ef..b6519ef707 100644 --- a/plugins/app/src/extensions/elements.tsx +++ b/plugins/app/src/extensions/elements.tsx @@ -41,7 +41,7 @@ export const alertDisplayAppRootElement = }, factory: (originalFactory, { config }) => { return originalFactory({ - element: () => , + element: , }); }, }); diff --git a/plugins/home/report-alpha.api.md b/plugins/home/report-alpha.api.md index 010918b029..6baf00f0d1 100644 --- a/plugins/home/report-alpha.api.md +++ b/plugins/home/report-alpha.api.md @@ -53,7 +53,7 @@ const _default: FrontendPlugin< >; inputs: {}; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; }>; 'page:home': ExtensionDefinition<{ diff --git a/plugins/signals/report-alpha.api.md b/plugins/signals/report-alpha.api.md index 13091a9032..b1f50f1891 100644 --- a/plugins/signals/report-alpha.api.md +++ b/plugins/signals/report-alpha.api.md @@ -47,7 +47,7 @@ const _default: FrontendPlugin< >; inputs: {}; params: { - element: JSX.Element | (() => JSX.Element); + element: JSX.Element; }; }>; }