diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index dcd2cbda4b..d3c02bfc1e 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -593,7 +593,8 @@ export function createSignInPageExtension< TConfig extends {}, TInputs extends AnyExtensionInputMap, >(options: { - id: string; + namespace?: string; + name?: string; attachTo?: { id: string; input: string; @@ -605,7 +606,7 @@ export function createSignInPageExtension< config: TConfig; inputs: Expand>; }) => Promise>; -}): Extension; +}): ExtensionDefinition; // @public export function createSubRouteRef< diff --git a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx index 93efadb0e1..ca95fad7bc 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.test.tsx @@ -25,14 +25,15 @@ describe('createNavLogoExtension', () => { it('creates the extension properly', () => { expect( createNavLogoExtension({ - id: 'test', + name: 'test', logoFull:
Logo Full
, logoIcon:
Logo Icon
, }), ).toEqual({ - $$type: '@backstage/Extension', - id: 'test', - attachTo: { id: 'core.nav', input: 'logos' }, + $$type: '@backstage/ExtensionDefinition', + kind: 'nav-logo', + name: 'test', + attachTo: { id: 'core/nav', input: 'logos' }, disabled: false, inputs: {}, output: { diff --git a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx index 5cfff81a9d..878764bad7 100644 --- a/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createNavLogoExtension.tsx @@ -21,14 +21,17 @@ import { coreExtensionData, createExtension } from '../wiring'; * @public */ export function createNavLogoExtension(options: { - id: string; + name?: string; + namespace?: string; logoIcon: JSX.Element; logoFull: JSX.Element; }) { - const { id, logoIcon, logoFull } = options; + const { logoIcon, logoFull } = options; return createExtension({ - id, - attachTo: { id: 'core.nav', input: 'logos' }, + kind: 'nav-logo', + name: options?.name, + namespace: options?.namespace, + attachTo: { id: 'core/nav', input: 'logos' }, output: { logos: coreExtensionData.logoElements, }, diff --git a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.test.tsx b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.test.tsx index 964941e213..d8835ae788 100644 --- a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.test.tsx +++ b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.test.tsx @@ -23,13 +23,13 @@ import { coreExtensionData, createExtension } from '../wiring'; describe('createSignInPageExtension', () => { it('renders a sign-in page', async () => { const SignInPage = createSignInPageExtension({ - id: 'test', + name: 'test', loader: async () => () =>
, }); createExtensionTester( createExtension({ - id: 'dummy', + name: 'dummy', attachTo: { id: 'ignored', input: 'ignored' }, output: { element: coreExtensionData.reactElement, diff --git a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx index f869ed8f13..8709403407 100644 --- a/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx +++ b/packages/frontend-plugin-api/src/extensions/createSignInPageExtension.tsx @@ -19,10 +19,10 @@ import { ExtensionBoundary } from '../components'; import { PortableSchema } from '../schema'; import { createExtension, - Extension, ExtensionInputValues, AnyExtensionInputMap, createExtensionDataRef, + ExtensionDefinition, } from '../wiring'; import { Expand } from '../types'; import { SignInPageProps } from '@backstage/core-plugin-api'; @@ -39,7 +39,8 @@ export function createSignInPageExtension< TConfig extends {}, TInputs extends AnyExtensionInputMap, >(options: { - id: string; + namespace?: string; + name?: string; attachTo?: { id: string; input: string }; configSchema?: PortableSchema; disabled?: boolean; @@ -48,12 +49,12 @@ export function createSignInPageExtension< config: TConfig; inputs: Expand>; }) => Promise>; -}): Extension { - const { id } = options; - +}): ExtensionDefinition { return createExtension({ - id, - attachTo: options.attachTo ?? { id: 'core.router', input: 'signInPage' }, + kind: 'sign-in-page', + namespace: options?.namespace, + name: options?.name, + attachTo: options.attachTo ?? { id: 'core/router', input: 'signInPage' }, configSchema: options.configSchema, inputs: options.inputs, disabled: options.disabled,