frontend-plugin-api: get rid of AnyExtensionDataRef
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -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.
|
||||
@@ -15,9 +15,9 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
AppNode,
|
||||
Extension,
|
||||
ExtensionDataRef,
|
||||
ExtensionInput,
|
||||
PortableSchema,
|
||||
ResolvedExtensionInput,
|
||||
@@ -89,7 +89,7 @@ function makeInstanceWithId<TConfig, TConfigInput>(
|
||||
}
|
||||
|
||||
function createV1ExtensionInput(
|
||||
extensionData: Record<string, AnyExtensionDataRef>,
|
||||
extensionData: Record<string, ExtensionDataRef>,
|
||||
options: { singleton?: boolean; optional?: boolean } = {},
|
||||
) {
|
||||
return {
|
||||
@@ -107,7 +107,7 @@ function createV1Extension(opts: {
|
||||
name?: string;
|
||||
attachTo?: { id: string; input: string };
|
||||
inputs?: Record<string, ReturnType<typeof createV1ExtensionInput>>;
|
||||
output: Record<string, AnyExtensionDataRef>;
|
||||
output: Record<string, ExtensionDataRef>;
|
||||
configSchema?: PortableSchema<any, any>;
|
||||
factory: (ctx: { inputs: any; config: any }) => any;
|
||||
}): Extension<any, any> {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ApiHolder,
|
||||
ExtensionDataContainer,
|
||||
ExtensionDataRef,
|
||||
@@ -35,7 +34,7 @@ type Mutable<T> = {
|
||||
|
||||
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<AnyExtensionDataRef>,
|
||||
extensionData: Array<ExtensionDataRef>,
|
||||
attachment: AppNode,
|
||||
inputName: string,
|
||||
): { node: AppNode } & ExtensionDataContainer<AnyExtensionDataRef> {
|
||||
): { node: AppNode } & ExtensionDataContainer<ExtensionDataRef> {
|
||||
const dataMap = new Map<string, unknown>();
|
||||
|
||||
for (const ref of extensionData) {
|
||||
@@ -105,7 +104,7 @@ function resolveInputDataContainer(
|
||||
};
|
||||
}
|
||||
},
|
||||
} as { node: AppNode } & ExtensionDataContainer<AnyExtensionDataRef>;
|
||||
} as { node: AppNode } & ExtensionDataContainer<ExtensionDataRef>;
|
||||
}
|
||||
|
||||
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<string, AppNode[]>,
|
||||
): 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 }
|
||||
>;
|
||||
}>;
|
||||
|
||||
@@ -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<any, any>;
|
||||
readonly inputs: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
readonly output: Array<AnyExtensionDataRef>;
|
||||
readonly output: Array<ExtensionDataRef>;
|
||||
factory(context: {
|
||||
node: AppNode;
|
||||
apis: ApiHolder;
|
||||
config: object;
|
||||
inputs: ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
}>;
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataContainer,
|
||||
ExtensionDataRef,
|
||||
ExtensionDataValue,
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
|
||||
export function createExtensionDataContainer<UData extends AnyExtensionDataRef>(
|
||||
export function createExtensionDataContainer<UData extends ExtensionDataRef>(
|
||||
values: Iterable<
|
||||
UData extends ExtensionDataRef<infer IData, infer IId>
|
||||
? ExtensionDataValue<IData, IId>
|
||||
|
||||
@@ -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<TProps extends {}>(options: {
|
||||
>;
|
||||
inputs: {
|
||||
[x: string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
@@ -464,10 +458,10 @@ export function createComponentRef<T extends {} = {}>(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<any, any>,
|
||||
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<any, any>,
|
||||
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<any, any>,
|
||||
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<UFactoryOutput> &
|
||||
VerifyExtensionFactoryOutput<
|
||||
AnyExtensionDataRef extends UNewOutput
|
||||
ExtensionDataRef extends UNewOutput
|
||||
? NonNullable<T['output']>
|
||||
: 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<UExtensionData extends AnyExtensionDataRef> =
|
||||
export type ExtensionDataContainer<UExtensionData extends ExtensionDataRef> =
|
||||
Iterable<
|
||||
UExtensionData extends ExtensionDataRef<
|
||||
infer IData,
|
||||
@@ -1107,11 +1101,13 @@ export type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> =
|
||||
|
||||
// @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<any, any>,
|
||||
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<T['output']>
|
||||
: 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<AnyExtensionDataRef>,
|
||||
}) => ExtensionDataContainer<ExtensionDataRef>,
|
||||
context: {
|
||||
node: AppNode;
|
||||
apis: ApiHolder;
|
||||
@@ -1606,7 +1602,7 @@ export { ProfileInfoApi };
|
||||
// @public
|
||||
export type ResolvedExtensionInput<
|
||||
TExtensionInput extends ExtensionInput<any, any>,
|
||||
> = TExtensionInput['extensionData'] extends Array<AnyExtensionDataRef>
|
||||
> = TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
@@ -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;
|
||||
|
||||
@@ -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<any, any>,
|
||||
> = TExtensionInput['extensionData'] extends Array<AnyExtensionDataRef>
|
||||
> = TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
@@ -91,7 +88,7 @@ type JoinStringUnion<
|
||||
|
||||
/** @ignore */
|
||||
export type VerifyExtensionFactoryOutput<
|
||||
UDeclaredOutput extends AnyExtensionDataRef,
|
||||
UDeclaredOutput extends ExtensionDataRef,
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
> = (
|
||||
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<any, any>,
|
||||
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<T['output']>
|
||||
: 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
|
||||
? {
|
||||
|
||||
@@ -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<T extends object = object>(
|
||||
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<any, any>,
|
||||
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<any, any>,
|
||||
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<UFactoryOutput> &
|
||||
VerifyExtensionFactoryOutput<
|
||||
AnyExtensionDataRef extends UNewOutput
|
||||
ExtensionDataRef extends UNewOutput
|
||||
? NonNullable<T['output']>
|
||||
: 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<TParams extends object>(
|
||||
*/
|
||||
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<any, any>,
|
||||
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
|
||||
? {
|
||||
|
||||
@@ -23,9 +23,9 @@ export type ExtensionDataValue<TData, TId extends string> = {
|
||||
|
||||
/** @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<TDataRef extends AnyExtensionDataRef> =
|
||||
? ExtensionDataValue<IData, IId>
|
||||
: 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<
|
||||
|
||||
@@ -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<TConfig, TConfigInput> = 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<TConfig, TConfigInput> = Extension<
|
||||
readonly version: 'v2';
|
||||
readonly inputs: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
readonly output: Array<AnyExtensionDataRef>;
|
||||
readonly output: Array<ExtensionDataRef>;
|
||||
factory(options: {
|
||||
apis: ApiHolder;
|
||||
node: AppNode;
|
||||
config: TConfig;
|
||||
inputs: ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
}>;
|
||||
|
||||
@@ -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<T>(value: T | T[]): T {
|
||||
export function resolveInputOverrides(
|
||||
declaredInputs?: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
|
||||
@@ -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<UExtensionData extends AnyExtensionDataRef> =
|
||||
export type ExtensionDataContainer<UExtensionData extends ExtensionDataRef> =
|
||||
Iterable<
|
||||
UExtensionData extends ExtensionDataRef<
|
||||
infer IData,
|
||||
@@ -75,7 +71,7 @@ export type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> =
|
||||
export type ExtensionFactoryMiddleware = (
|
||||
originalFactory: (contextOverrides?: {
|
||||
config?: JsonObject;
|
||||
}) => ExtensionDataContainer<AnyExtensionDataRef>,
|
||||
}) => ExtensionDataContainer<ExtensionDataRef>,
|
||||
context: {
|
||||
node: AppNode;
|
||||
apis: ApiHolder;
|
||||
|
||||
@@ -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<T extends ExtensionDefinitionParameters>(
|
||||
export { ErrorWithContext };
|
||||
|
||||
// @public (undocumented)
|
||||
export class ExtensionQuery<UOutput extends AnyExtensionDataRef> {
|
||||
export class ExtensionQuery<UOutput extends ExtensionDataRef> {
|
||||
constructor(node: AppNode);
|
||||
// (undocumented)
|
||||
get<TId extends UOutput['id']>(
|
||||
@@ -62,7 +61,7 @@ export class ExtensionQuery<UOutput extends AnyExtensionDataRef> {
|
||||
}
|
||||
|
||||
// @public (undocumented)
|
||||
export class ExtensionTester<UOutput extends AnyExtensionDataRef> {
|
||||
export class ExtensionTester<UOutput extends ExtensionDataRef> {
|
||||
// (undocumented)
|
||||
add<T extends ExtensionDefinitionParameters>(
|
||||
extension: ExtensionDefinition<T>,
|
||||
|
||||
@@ -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<UOutput extends AnyExtensionDataRef> {
|
||||
export class ExtensionQuery<UOutput extends ExtensionDataRef> {
|
||||
#node: AppNode;
|
||||
|
||||
constructor(node: AppNode) {
|
||||
@@ -75,7 +74,7 @@ export class ExtensionQuery<UOutput extends AnyExtensionDataRef> {
|
||||
}
|
||||
|
||||
/** @public */
|
||||
export class ExtensionTester<UOutput extends AnyExtensionDataRef> {
|
||||
export class ExtensionTester<UOutput extends ExtensionDataRef> {
|
||||
/** @internal */
|
||||
static forSubject<T extends ExtensionDefinitionParameters>(
|
||||
subject: ExtensionDefinition<T>,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user