diff --git a/.changeset/chatty-schools-post.md b/.changeset/chatty-schools-post.md new file mode 100644 index 0000000000..0500a8a838 --- /dev/null +++ b/.changeset/chatty-schools-post.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': minor +--- + +**BREAKING**: Remove deprecated `source` property from the `AppNodeSpec` type, use `AppNodeSpec.plugin` instead. diff --git a/packages/app-next/src/examples/pagesPlugin.tsx b/packages/app-next/src/examples/pagesPlugin.tsx index 33fc7d8c0b..1247d1bfb5 100644 --- a/packages/app-next/src/examples/pagesPlugin.tsx +++ b/packages/app-next/src/examples/pagesPlugin.tsx @@ -44,7 +44,7 @@ function PluginInfo() { const [info, setInfo] = useState(undefined); useEffect(() => { - node?.spec.source?.info().then(setInfo); + node?.spec.plugin?.info().then(setInfo); }, [node]); return ( diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts index 8801e2070e..0434fd1064 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts @@ -56,7 +56,6 @@ function makeSpec( attachTo: extension.attachTo, disabled: extension.disabled, extension: extension as Extension, - source: undefined, plugin: undefined, ...spec, }; diff --git a/packages/frontend-app-api/src/wiring/createSpecializedApp.test.tsx b/packages/frontend-app-api/src/wiring/createSpecializedApp.test.tsx index c9ff9fabd5..1f03e6aeac 100644 --- a/packages/frontend-app-api/src/wiring/createSpecializedApp.test.tsx +++ b/packages/frontend-app-api/src/wiring/createSpecializedApp.test.tsx @@ -691,7 +691,7 @@ describe('createSpecializedApp', () => { await expect(plugin.info()).rejects.toThrow(errorMsg); - const installedPlugin = app.tree.nodes.get('test')?.spec.source; + const installedPlugin = app.tree.nodes.get('test')?.spec.plugin; expect(installedPlugin).toBeDefined(); const info = await installedPlugin?.info(); expect(info).toEqual({}); @@ -707,7 +707,7 @@ describe('createSpecializedApp', () => { }); const app = createSpecializedApp({ features: [plugin] }); - const info = await app.tree.nodes.get('test')?.spec.source?.info(); + const info = await app.tree.nodes.get('test')?.spec.plugin?.info(); expect(info).toMatchObject({ packageName: '@backstage/frontend-app-api', }); @@ -730,7 +730,7 @@ describe('createSpecializedApp', () => { }); const app = createSpecializedApp({ features: [overriddenPlugin] }); - const info = await app.tree.nodes.get('test')?.spec.source?.info(); + const info = await app.tree.nodes.get('test')?.spec.plugin?.info(); expect(info).toMatchObject({ packageName: 'test-override', }); @@ -754,7 +754,7 @@ describe('createSpecializedApp', () => { }); const app = createSpecializedApp({ features: [plugin] }); - const info = await app.tree.nodes.get('test')?.spec.source?.info(); + const info = await app.tree.nodes.get('test')?.spec.plugin?.info(); expect(info).toEqual({ packageName: '@backstage/frontend-app-api', version: expect.any(String), @@ -782,7 +782,7 @@ describe('createSpecializedApp', () => { return { info: { packageName: `decorated:${info.packageName}` } }; }, }); - const info = await app.tree.nodes.get('test')?.spec.source?.info(); + const info = await app.tree.nodes.get('test')?.spec.plugin?.info(); expect(info).toEqual({ packageName: 'decorated:@backstage/frontend-app-api', }); diff --git a/packages/frontend-defaults/src/createApp.test.tsx b/packages/frontend-defaults/src/createApp.test.tsx index 5bf8356c08..9440dc841f 100644 --- a/packages/frontend-defaults/src/createApp.test.tsx +++ b/packages/frontend-defaults/src/createApp.test.tsx @@ -131,7 +131,7 @@ describe('createApp', () => { ); useEffect(() => { - appNode?.spec.source?.info().then(setInfo); + appNode?.spec.plugin?.info().then(setInfo); }, [appNode]); return
Package name: {info?.packageName}
; diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 37d0494918..6c9e67df8b 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -247,8 +247,6 @@ export interface AppNodeSpec { readonly id: string; // (undocumented) readonly plugin?: FrontendPlugin; - // @deprecated (undocumented) - readonly source?: FrontendPlugin; } // @public diff --git a/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts b/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts index 0c6dde3cc8..c205790aae 100644 --- a/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts +++ b/packages/frontend-plugin-api/src/apis/definitions/AppTreeApi.ts @@ -38,10 +38,6 @@ export interface AppNodeSpec { readonly disabled: boolean; readonly config?: unknown; readonly plugin?: FrontendPlugin; - /** - * @deprecated Use {@link AppNodeSpec.plugin} instead. - */ - readonly source?: FrontendPlugin; } /**