Skip to main content
Version: Next

CreateExtensionBlueprintOptions

Home > @backstage/frontend-plugin-api > CreateExtensionBlueprintOptions

Signature:

export type CreateExtensionBlueprintOptions<TKind extends string, TName extends string | undefined, TParams, UOutput extends AnyExtensionDataRef, TInputs extends {
[inputName in string]: ExtensionInput<AnyExtensionDataRef, {
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;
}> = {
kind: TKind;
attachTo: {
id: string;
input: string;
};
disabled?: boolean;
inputs?: TInputs;
output: Array<UOutput>;
name?: TName;
config?: {
schema: TConfigSchema;
};
factory(params: TParams, context: {
node: AppNode;
apis: ApiHolder;
config: {
[key in keyof TConfigSchema]: z.infer<ReturnType<TConfigSchema[key]>>;
};
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
}): Iterable<UFactoryOutput>;
dataRefs?: TDataRefs;
} & VerifyExtensionFactoryOutput<UOutput, UFactoryOutput>;

References: AnyExtensionDataRef, ExtensionInput, ExtensionDataValue, AppNode, ApiHolder, ResolvedExtensionInputs