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/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt index 5c856a9feb..86c9be9b98 100644 --- a/.github/vale/config/vocabularies/Backstage/accept.txt +++ b/.github/vale/config/vocabularies/Backstage/accept.txt @@ -324,6 +324,8 @@ pagerduty pageview Pandey parallelization +param +params parseable Patrik pattison diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 8cc777076b..d1c2dbcb99 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -252,7 +252,7 @@ export interface AppNodeSpec { export const AppRootElementBlueprint: ExtensionBlueprint<{ kind: 'app-root-element'; 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 4eb1ff76fc..846a4c59fe 100644 --- a/plugins/app/report.api.md +++ b/plugins/app/report.api.md @@ -812,7 +812,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<{ @@ -835,7 +835,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<{ @@ -850,7 +850,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; }; }>; }