diff --git a/.changeset/seven-crabs-stick.md b/.changeset/seven-crabs-stick.md new file mode 100644 index 0000000000..19db3d7042 --- /dev/null +++ b/.changeset/seven-crabs-stick.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': patch +--- + +Added added defaults for all type parameters of `ExtensionDataRef` and deprecated `AnyExtensionDataRef`, as it is now redundant. diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts index 0434fd1064..f3201e97b2 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts @@ -15,9 +15,9 @@ */ import { - AnyExtensionDataRef, AppNode, Extension, + ExtensionDataRef, ExtensionInput, PortableSchema, ResolvedExtensionInput, @@ -89,7 +89,7 @@ function makeInstanceWithId( } function createV1ExtensionInput( - extensionData: Record, + extensionData: Record, options: { singleton?: boolean; optional?: boolean } = {}, ) { return { @@ -107,7 +107,7 @@ function createV1Extension(opts: { name?: string; attachTo?: { id: string; input: string }; inputs?: Record>; - output: Record; + output: Record; configSchema?: PortableSchema; factory: (ctx: { inputs: any; config: any }) => any; }): Extension { diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts index c6a2bae491..408a62702a 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts @@ -15,7 +15,6 @@ */ import { - AnyExtensionDataRef, ApiHolder, ExtensionDataContainer, ExtensionDataRef, @@ -35,7 +34,7 @@ type Mutable = { function resolveV1InputDataMap( dataMap: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }, attachment: AppNode, inputName: string, @@ -61,10 +60,10 @@ function resolveV1InputDataMap( } function resolveInputDataContainer( - extensionData: Array, + extensionData: Array, attachment: AppNode, inputName: string, -): { node: AppNode } & ExtensionDataContainer { +): { node: AppNode } & ExtensionDataContainer { const dataMap = new Map(); for (const ref of extensionData) { @@ -105,7 +104,7 @@ function resolveInputDataContainer( }; } }, - } as { node: AppNode } & ExtensionDataContainer; + } as { node: AppNode } & ExtensionDataContainer; } function reportUndeclaredAttachments( @@ -141,7 +140,7 @@ function resolveV1Inputs( [inputName in string]: { $$type: '@backstage/ExtensionInput'; extensionData: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; config: { optional: boolean; singleton: boolean }; }; @@ -194,14 +193,14 @@ function resolveV1Inputs( function resolveV2Inputs( inputMap: { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, attachments: ReadonlyMap, ): ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }> { @@ -236,7 +235,7 @@ function resolveV2Inputs( ); }) as ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }>; diff --git a/packages/frontend-internal/src/wiring/InternalExtensionDefinition.ts b/packages/frontend-internal/src/wiring/InternalExtensionDefinition.ts index 44dfb002ad..83d037902b 100644 --- a/packages/frontend-internal/src/wiring/InternalExtensionDefinition.ts +++ b/packages/frontend-internal/src/wiring/InternalExtensionDefinition.ts @@ -15,11 +15,11 @@ */ import { - AnyExtensionDataRef, ApiHolder, AppNode, ExtensionAttachToSpec, ExtensionDataValue, + ExtensionDataRef, ExtensionDefinition, ExtensionDefinitionParameters, ExtensionInput, @@ -43,13 +43,13 @@ export const OpaqueExtensionDefinition = OpaqueType.create<{ [inputName in string]: { $$type: '@backstage/ExtensionInput'; extensionData: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; config: { optional: boolean; singleton: boolean }; }; }; readonly output: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; factory(context: { node: AppNode; @@ -72,18 +72,18 @@ export const OpaqueExtensionDefinition = OpaqueType.create<{ readonly configSchema?: PortableSchema; readonly inputs: { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }; - readonly output: Array; + readonly output: Array; factory(context: { node: AppNode; apis: ApiHolder; config: object; inputs: ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }>; diff --git a/packages/frontend-internal/src/wiring/createExtensionDataContainer.ts b/packages/frontend-internal/src/wiring/createExtensionDataContainer.ts index e25846a643..e378592cf6 100644 --- a/packages/frontend-internal/src/wiring/createExtensionDataContainer.ts +++ b/packages/frontend-internal/src/wiring/createExtensionDataContainer.ts @@ -15,13 +15,12 @@ */ import { - AnyExtensionDataRef, ExtensionDataContainer, ExtensionDataRef, ExtensionDataValue, } from '@backstage/frontend-plugin-api'; -export function createExtensionDataContainer( +export function createExtensionDataContainer( values: Iterable< UData extends ExtensionDataRef ? ExtensionDataValue diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index d1c2dbcb99..a23894cc40 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -151,14 +151,8 @@ export { AnyApiFactory }; export { AnyApiRef }; -// @public (undocumented) -export type AnyExtensionDataRef = ExtensionDataRef< - unknown, - string, - { - optional?: true; - } ->; +// @public @deprecated (undocumented) +export type AnyExtensionDataRef = ExtensionDataRef; // @public (undocumented) export type AnyExternalRoutes = { @@ -432,7 +426,7 @@ export function createComponentExtension(options: { >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -464,10 +458,10 @@ export function createComponentRef(options: { // @public (undocumented) export function createExtension< - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -512,10 +506,10 @@ export function createExtension< // @public export function createExtensionBlueprint< TParams extends object | ExtensionBlueprintParamsDefiner, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -528,7 +522,7 @@ export function createExtensionBlueprint< UFactoryOutput extends ExtensionDataValue, TKind extends string, TDataRefs extends { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; } = never, >( options: CreateExtensionBlueprintOptions< @@ -564,10 +558,10 @@ export function createExtensionBlueprint< export type CreateExtensionBlueprintOptions< TKind extends string, TParams extends object | ExtensionBlueprintParamsDefiner, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -579,7 +573,7 @@ export type CreateExtensionBlueprintOptions< }, UFactoryOutput extends ExtensionDataValue, TDataRefs extends { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }, > = { kind: TKind; @@ -654,10 +648,10 @@ export function createExtensionInput< export type CreateExtensionOptions< TKind extends string | undefined, TName extends string | undefined, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -938,10 +932,10 @@ export interface ExtensionBlueprint< [key in string]: (zImpl: typeof z) => z.ZodType; }, UFactoryOutput extends ExtensionDataValue, - UNewOutput extends AnyExtensionDataRef, + UNewOutput extends ExtensionDataRef, TExtraInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -989,7 +983,7 @@ export interface ExtensionBlueprint< }, ): Iterable & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput + ExtensionDataRef extends UNewOutput ? NonNullable : UNewOutput, UFactoryOutput @@ -1013,7 +1007,7 @@ export interface ExtensionBlueprint< }> >) & T['configInput']; - output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; + output: ExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; inputs: T['inputs'] & TExtraInputs; kind: T['kind']; name: string | undefined extends TName ? undefined : TName; @@ -1031,10 +1025,10 @@ export type ExtensionBlueprintParameters = { config?: { [K in string]: any; }; - output?: AnyExtensionDataRef; + output?: ExtensionDataRef; inputs?: { [KName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -1042,7 +1036,7 @@ export type ExtensionBlueprintParameters = { >; }; dataRefs?: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; }; @@ -1084,7 +1078,7 @@ export interface ExtensionBoundaryProps { } // @public (undocumented) -export type ExtensionDataContainer = +export type ExtensionDataContainer = Iterable< UExtensionData extends ExtensionDataRef< infer IData, @@ -1107,11 +1101,13 @@ export type ExtensionDataContainer = // @public (undocumented) export type ExtensionDataRef< - TData, + TData = unknown, TId extends string = string, TConfig extends { optional?: true; - } = {}, + } = { + optional?: true; + }, > = { readonly $$type: '@backstage/ExtensionDataRef'; readonly id: TId; @@ -1143,10 +1139,10 @@ export type ExtensionDefinition< [key in string]: (zImpl: typeof z) => z.ZodType; }, UFactoryOutput extends ExtensionDataValue, - UNewOutput extends AnyExtensionDataRef, + UNewOutput extends ExtensionDataRef, TExtraInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -1213,7 +1209,7 @@ export type ExtensionDefinition< }) > & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput + ExtensionDataRef extends UNewOutput ? NonNullable : UNewOutput, UFactoryOutput @@ -1221,7 +1217,7 @@ export type ExtensionDefinition< ): ExtensionDefinition<{ kind: T['kind']; name: T['name']; - output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; + output: ExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; inputs: T['inputs'] & TExtraInputs; config: T['config'] & { [key in keyof TExtensionConfigSchema]: z.infer< @@ -1249,10 +1245,10 @@ export type ExtensionDefinitionParameters = { config?: { [K in string]: any; }; - output?: AnyExtensionDataRef; + output?: ExtensionDataRef; inputs?: { [KName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -1266,7 +1262,7 @@ export type ExtensionDefinitionParameters = { export type ExtensionFactoryMiddleware = ( originalFactory: (contextOverrides?: { config?: JsonObject; - }) => ExtensionDataContainer, + }) => ExtensionDataContainer, context: { node: AppNode; apis: ApiHolder; @@ -1606,7 +1602,7 @@ export { ProfileInfoApi }; // @public export type ResolvedExtensionInput< TExtensionInput extends ExtensionInput, -> = TExtensionInput['extensionData'] extends Array +> = TExtensionInput['extensionData'] extends Array ? { node: AppNode; } & ExtensionDataContainer @@ -1629,7 +1625,7 @@ export type ResolvedExtensionInputs< export type ResolveInputValueOverrides< TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -1637,7 +1633,7 @@ export type ResolveInputValueOverrides< >; } = { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/packages/frontend-plugin-api/src/wiring/createExtension.ts b/packages/frontend-plugin-api/src/wiring/createExtension.ts index 8ade3d63c9..a3e88065b0 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtension.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtension.ts @@ -21,10 +21,7 @@ import { resolveInputOverrides, } from './resolveInputOverrides'; import { createExtensionDataContainer } from '@internal/frontend'; -import { - AnyExtensionDataRef, - ExtensionDataValue, -} from './createExtensionDataRef'; +import { ExtensionDataRef, ExtensionDataValue } from './createExtensionDataRef'; import { ExtensionInput } from './createExtensionInput'; import { z } from 'zod'; import { createSchemaFromZod } from '../schema/createSchemaFromZod'; @@ -44,7 +41,7 @@ export const ctxParamsSymbol = Symbol('params'); */ export type ResolvedExtensionInput< TExtensionInput extends ExtensionInput, -> = TExtensionInput['extensionData'] extends Array +> = TExtensionInput['extensionData'] extends Array ? { node: AppNode; } & ExtensionDataContainer @@ -91,7 +88,7 @@ type JoinStringUnion< /** @ignore */ export type VerifyExtensionFactoryOutput< - UDeclaredOutput extends AnyExtensionDataRef, + UDeclaredOutput extends ExtensionDataRef, UFactoryOutput extends ExtensionDataValue, > = ( UDeclaredOutput extends any @@ -120,10 +117,10 @@ export type ExtensionAttachToSpec = export type CreateExtensionOptions< TKind extends string | undefined, TName extends string | undefined, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, @@ -155,10 +152,10 @@ export type ExtensionDefinitionParameters = { name?: string; configInput?: { [K in string]: any }; config?: { [K in string]: any }; - output?: AnyExtensionDataRef; + output?: ExtensionDataRef; inputs?: { [KName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }; @@ -191,10 +188,10 @@ export type ExtensionDefinition< [key in string]: (zImpl: typeof z) => z.ZodType; }, UFactoryOutput extends ExtensionDataValue, - UNewOutput extends AnyExtensionDataRef, + UNewOutput extends ExtensionDataRef, TExtraInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, @@ -258,7 +255,7 @@ export type ExtensionDefinition< }) > & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput + ExtensionDataRef extends UNewOutput ? NonNullable : UNewOutput, UFactoryOutput @@ -266,7 +263,7 @@ export type ExtensionDefinition< ): ExtensionDefinition<{ kind: T['kind']; name: T['name']; - output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; + output: ExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; inputs: T['inputs'] & TExtraInputs; config: T['config'] & { [key in keyof TExtensionConfigSchema]: z.infer< @@ -286,10 +283,10 @@ export type ExtensionDefinition< /** @public */ export function createExtension< - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, @@ -410,7 +407,7 @@ export function createExtension< disabled: overrideOptions.disabled ?? options.disabled, inputs: { ...overrideOptions.inputs, ...options.inputs }, output: (overrideOptions.output ?? - options.output) as AnyExtensionDataRef[], + options.output) as ExtensionDataRef[], config: options.config || overrideOptions.config ? { diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts index 159596caf4..d80034a994 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts @@ -27,10 +27,7 @@ import { } from './createExtension'; import { z } from 'zod'; import { ExtensionInput } from './createExtensionInput'; -import { - AnyExtensionDataRef, - ExtensionDataValue, -} from './createExtensionDataRef'; +import { ExtensionDataRef, ExtensionDataValue } from './createExtensionDataRef'; import { createExtensionDataContainer } from '@internal/frontend'; import { ResolveInputValueOverrides, @@ -104,16 +101,16 @@ export function createExtensionBlueprintParams( export type CreateExtensionBlueprintOptions< TKind extends string, TParams extends object | ExtensionBlueprintParamsDefiner, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, TConfigSchema extends { [key in string]: (zImpl: typeof z) => z.ZodType }, UFactoryOutput extends ExtensionDataValue, - TDataRefs extends { [name in string]: AnyExtensionDataRef }, + TDataRefs extends { [name in string]: ExtensionDataRef }, > = { kind: TKind; attachTo: ExtensionAttachToSpec; @@ -187,14 +184,14 @@ export type ExtensionBlueprintParameters = { params?: object | ExtensionBlueprintParamsDefiner; configInput?: { [K in string]: any }; config?: { [K in string]: any }; - output?: AnyExtensionDataRef; + output?: ExtensionDataRef; inputs?: { [KName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }; - dataRefs?: { [name in string]: AnyExtensionDataRef }; + dataRefs?: { [name in string]: ExtensionDataRef }; }; /** @ignore */ @@ -258,10 +255,10 @@ export interface ExtensionBlueprint< [key in string]: (zImpl: typeof z) => z.ZodType; }, UFactoryOutput extends ExtensionDataValue, - UNewOutput extends AnyExtensionDataRef, + UNewOutput extends ExtensionDataRef, TExtraInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, @@ -306,7 +303,7 @@ export interface ExtensionBlueprint< }, ): Iterable & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput + ExtensionDataRef extends UNewOutput ? NonNullable : UNewOutput, UFactoryOutput @@ -330,7 +327,7 @@ export interface ExtensionBlueprint< }> >) & T['configInput']; - output: AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; + output: ExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput; inputs: T['inputs'] & TExtraInputs; kind: T['kind']; name: string | undefined extends TName ? undefined : TName; @@ -416,17 +413,17 @@ function unwrapParams( */ export function createExtensionBlueprint< TParams extends object | ExtensionBlueprintParamsDefiner, - UOutput extends AnyExtensionDataRef, + UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, TConfigSchema extends { [key in string]: (zImpl: typeof z) => z.ZodType }, UFactoryOutput extends ExtensionDataValue, TKind extends string, - TDataRefs extends { [name in string]: AnyExtensionDataRef } = never, + TDataRefs extends { [name in string]: ExtensionDataRef } = never, >( options: CreateExtensionBlueprintOptions< TKind, @@ -467,7 +464,7 @@ export function createExtensionBlueprint< attachTo: args.attachTo ?? options.attachTo, disabled: args.disabled ?? options.disabled, inputs: options.inputs, - output: options.output as AnyExtensionDataRef[], + output: options.output as ExtensionDataRef[], config: options.config, factory: ctx => options.factory( @@ -483,7 +480,7 @@ export function createExtensionBlueprint< attachTo: args.attachTo ?? options.attachTo, disabled: args.disabled ?? options.disabled, inputs: { ...args.inputs, ...options.inputs }, - output: (args.output ?? options.output) as AnyExtensionDataRef[], + output: (args.output ?? options.output) as ExtensionDataRef[], config: options.config || args.config ? { diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts b/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts index 94acb192a8..1bfbb01740 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts @@ -23,9 +23,9 @@ export type ExtensionDataValue = { /** @public */ export type ExtensionDataRef< - TData, + TData = unknown, TId extends string = string, - TConfig extends { optional?: true } = {}, + TConfig extends { optional?: true } = { optional?: true }, > = { readonly $$type: '@backstage/ExtensionDataRef'; readonly id: TId; @@ -39,12 +39,11 @@ export type ExtensionDataRefToValue = ? ExtensionDataValue : never; -/** @public */ -export type AnyExtensionDataRef = ExtensionDataRef< - unknown, - string, - { optional?: true } ->; +/** + * @deprecated Use `ExtensionDataRef` without type parameters instead. + * @public + */ +export type AnyExtensionDataRef = ExtensionDataRef; /** @public */ export interface ConfigurableExtensionDataRef< diff --git a/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts b/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts index c3ff381fdc..a5b6859e1a 100644 --- a/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts +++ b/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts @@ -23,10 +23,7 @@ import { } from './createExtension'; import { PortableSchema } from '../schema'; import { ExtensionInput } from './createExtensionInput'; -import { - AnyExtensionDataRef, - ExtensionDataValue, -} from './createExtensionDataRef'; +import { ExtensionDataRef, ExtensionDataValue } from './createExtensionDataRef'; import { OpaqueExtensionDefinition } from '@internal/frontend'; /** @public */ @@ -50,13 +47,13 @@ export type InternalExtension = Extension< [inputName in string]: { $$type: '@backstage/ExtensionInput'; extensionData: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; config: { optional: boolean; singleton: boolean }; }; }; readonly output: { - [name in string]: AnyExtensionDataRef; + [name in string]: ExtensionDataRef; }; factory(context: { apis: ApiHolder; @@ -73,18 +70,18 @@ export type InternalExtension = Extension< readonly version: 'v2'; readonly inputs: { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }; - readonly output: Array; + readonly output: Array; factory(options: { apis: ApiHolder; node: AppNode; config: TConfig; inputs: ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }>; diff --git a/packages/frontend-plugin-api/src/wiring/resolveInputOverrides.ts b/packages/frontend-plugin-api/src/wiring/resolveInputOverrides.ts index b93f7ce370..d786ac66e8 100644 --- a/packages/frontend-plugin-api/src/wiring/resolveInputOverrides.ts +++ b/packages/frontend-plugin-api/src/wiring/resolveInputOverrides.ts @@ -19,7 +19,7 @@ import { Expand } from '@backstage/types'; import { ResolvedExtensionInput } from './createExtension'; import { createExtensionDataContainer } from '@internal/frontend'; import { - AnyExtensionDataRef, + ExtensionDataRef, ExtensionDataRefToValue, ExtensionDataValue, } from './createExtensionDataRef'; @@ -30,12 +30,12 @@ import { ExtensionDataContainer } from './types'; export type ResolveInputValueOverrides< TInputs extends { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; } = { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, @@ -92,7 +92,7 @@ function expectItem(value: T | T[]): T { export function resolveInputOverrides( declaredInputs?: { [inputName in string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean } >; }, diff --git a/packages/frontend-plugin-api/src/wiring/types.ts b/packages/frontend-plugin-api/src/wiring/types.ts index 22bcbdadb7..57fd06fdcf 100644 --- a/packages/frontend-plugin-api/src/wiring/types.ts +++ b/packages/frontend-plugin-api/src/wiring/types.ts @@ -17,11 +17,7 @@ import { JsonObject } from '@backstage/types'; import { ExternalRouteRef, RouteRef, SubRouteRef } from '../routing'; import { ExtensionDefinition } from './createExtension'; -import { - AnyExtensionDataRef, - ExtensionDataRef, - ExtensionDataValue, -} from './createExtensionDataRef'; +import { ExtensionDataRef, ExtensionDataValue } from './createExtensionDataRef'; import { ApiHolder, AppNode } from '../apis'; import { FrontendModule } from './createFrontendModule'; import { FrontendPlugin } from './createFrontendPlugin'; @@ -50,7 +46,7 @@ export type ExtensionMap< }; /** @public */ -export type ExtensionDataContainer = +export type ExtensionDataContainer = Iterable< UExtensionData extends ExtensionDataRef< infer IData, @@ -75,7 +71,7 @@ export type ExtensionDataContainer = export type ExtensionFactoryMiddleware = ( originalFactory: (contextOverrides?: { config?: JsonObject; - }) => ExtensionDataContainer, + }) => ExtensionDataContainer, context: { node: AppNode; apis: ApiHolder; diff --git a/packages/frontend-test-utils/report.api.md b/packages/frontend-test-utils/report.api.md index e498976b3b..db31c082ea 100644 --- a/packages/frontend-test-utils/report.api.md +++ b/packages/frontend-test-utils/report.api.md @@ -5,7 +5,6 @@ ```ts import { AnalyticsApi } from '@backstage/frontend-plugin-api'; import { AnalyticsEvent } from '@backstage/frontend-plugin-api'; -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ApiMock } from '@backstage/test-utils'; import { AppNode } from '@backstage/frontend-plugin-api'; import { AppNodeInstance } from '@backstage/frontend-plugin-api'; @@ -45,7 +44,7 @@ export function createExtensionTester( export { ErrorWithContext }; // @public (undocumented) -export class ExtensionQuery { +export class ExtensionQuery { constructor(node: AppNode); // (undocumented) get( @@ -62,7 +61,7 @@ export class ExtensionQuery { } // @public (undocumented) -export class ExtensionTester { +export class ExtensionTester { // (undocumented) add( extension: ExtensionDefinition, diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.tsx b/packages/frontend-test-utils/src/app/createExtensionTester.tsx index 37ec1d8fd9..7b321d4413 100644 --- a/packages/frontend-test-utils/src/app/createExtensionTester.tsx +++ b/packages/frontend-test-utils/src/app/createExtensionTester.tsx @@ -15,7 +15,6 @@ */ import { - AnyExtensionDataRef, AppNode, AppTree, Extension, @@ -40,7 +39,7 @@ import { TestApiRegistry } from '@backstage/test-utils'; import { OpaqueExtensionDefinition } from '@internal/frontend'; /** @public */ -export class ExtensionQuery { +export class ExtensionQuery { #node: AppNode; constructor(node: AppNode) { @@ -75,7 +74,7 @@ export class ExtensionQuery { } /** @public */ -export class ExtensionTester { +export class ExtensionTester { /** @internal */ static forSubject( subject: ExtensionDefinition, diff --git a/plugins/api-docs/report-alpha.api.md b/plugins/api-docs/report-alpha.api.md index c383ea810c..56b0767bab 100644 --- a/plugins/api-docs/report-alpha.api.md +++ b/plugins/api-docs/report-alpha.api.md @@ -4,7 +4,6 @@ ```ts import { AnyApiFactory } from '@backstage/frontend-plugin-api'; -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; @@ -13,6 +12,7 @@ import { Entity } from '@backstage/catalog-model'; import { EntityCardType } from '@backstage/plugin-catalog-react/alpha'; 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 { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; @@ -495,7 +495,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/plugins/app/report.api.md b/plugins/app/report.api.md index 846a4c59fe..70b1e39651 100644 --- a/plugins/app/report.api.md +++ b/plugins/app/report.api.md @@ -4,7 +4,6 @@ ```ts import { AnyApiFactory } from '@backstage/frontend-plugin-api'; -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ApiFactory } from '@backstage/frontend-plugin-api'; import { AppTheme } from '@backstage/frontend-plugin-api'; @@ -12,6 +11,7 @@ import { ComponentRef } from '@backstage/frontend-plugin-api'; import { ComponentType } from 'react'; import { ConfigurableExtensionDataRef } 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 { ExtensionInput } from '@backstage/frontend-plugin-api'; import { FrontendPlugin } from '@backstage/frontend-plugin-api'; @@ -802,7 +802,7 @@ const appPlugin: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -825,7 +825,7 @@ const appPlugin: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/plugins/catalog-graph/report-alpha.api.md b/plugins/catalog-graph/report-alpha.api.md index 230edde3da..7f9f2b16b1 100644 --- a/plugins/catalog-graph/report-alpha.api.md +++ b/plugins/catalog-graph/report-alpha.api.md @@ -3,13 +3,13 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; import { Direction } from '@backstage/plugin-catalog-graph'; import { Entity } from '@backstage/catalog-model'; import { EntityCardType } from '@backstage/plugin-catalog-react/alpha'; import { EntityPredicate } from '@backstage/plugin-catalog-react/alpha'; +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'; @@ -117,7 +117,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -179,7 +179,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/plugins/catalog/report-alpha.api.md b/plugins/catalog/report-alpha.api.md index cfbbc5388e..b7f5f7c4dd 100644 --- a/plugins/catalog/report-alpha.api.md +++ b/plugins/catalog/report-alpha.api.md @@ -4,7 +4,6 @@ ```ts import { AnyApiFactory } from '@backstage/frontend-plugin-api'; -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; @@ -15,6 +14,7 @@ import { EntityContentLayoutProps } from '@backstage/plugin-catalog-react/alpha' import { EntityContextMenuItemParams } from '@backstage/plugin-catalog-react/alpha'; 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 { ExtensionInput } from '@backstage/frontend-plugin-api'; import { ExternalRouteRef } from '@backstage/frontend-plugin-api'; @@ -208,7 +208,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -250,7 +250,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -277,7 +277,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/plugins/org/report-alpha.api.md b/plugins/org/report-alpha.api.md index 840a5472dd..10ecee8a33 100644 --- a/plugins/org/report-alpha.api.md +++ b/plugins/org/report-alpha.api.md @@ -3,11 +3,11 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; import { Entity } from '@backstage/catalog-model'; import { EntityCardType } from '@backstage/plugin-catalog-react/alpha'; import { EntityPredicate } from '@backstage/plugin-catalog-react/alpha'; +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'; @@ -185,7 +185,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; diff --git a/plugins/techdocs/report-alpha.api.md b/plugins/techdocs/report-alpha.api.md index fd63ec1daa..00b1e9b898 100644 --- a/plugins/techdocs/report-alpha.api.md +++ b/plugins/techdocs/report-alpha.api.md @@ -4,7 +4,6 @@ ```ts import { AnyApiFactory } from '@backstage/frontend-plugin-api'; -import { AnyExtensionDataRef } from '@backstage/frontend-plugin-api'; import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ApiFactory } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; @@ -12,6 +11,7 @@ import { defaultEntityContentGroups } from '@backstage/plugin-catalog-react/alph import { Entity } from '@backstage/catalog-model'; 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 { ExtensionInput } from '@backstage/frontend-plugin-api'; import { FrontendPlugin } from '@backstage/frontend-plugin-api'; @@ -87,7 +87,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -335,7 +335,7 @@ const _default: FrontendPlugin< >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean; @@ -378,7 +378,7 @@ export const techDocsSearchResultListItemExtension: ExtensionDefinition<{ >; inputs: { [x: string]: ExtensionInput< - AnyExtensionDataRef, + ExtensionDataRef, { optional: boolean; singleton: boolean;