Merge pull request #30828 from backstage/rugvip/nfs-type-cleanup

frontend-plugin-api: stop exporting ResolveInputValueOverrides
This commit is contained in:
Patrik Oldsberg
2025-08-08 14:48:30 +02:00
committed by GitHub
6 changed files with 14 additions and 77 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: The `ResolveInputValueOverrides` type is no longer exported.
+2 -69
View File
@@ -941,7 +941,7 @@ export interface ExtensionBlueprint<
: T['params'],
context?: {
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
inputs?: ResolvedInputValueOverrides<NonNullable<T['inputs']>>;
},
) => ExtensionDataContainer<NonNullable<T['output']>>,
context: {
@@ -1148,7 +1148,7 @@ export type ExtensionDefinition<
context?: Expand<
{
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
inputs?: ResolvedInputValueOverrides<NonNullable<T['inputs']>>;
} & ([T['params']] extends [never]
? {}
: {
@@ -1627,73 +1627,6 @@ export type ResolvedExtensionInputs<
: Expand<ResolvedExtensionInput<TInputs[InputName]> | undefined>;
};
// @public (undocumented)
export type ResolveInputValueOverrides<
TInputs extends {
[inputName in string]: ExtensionInput<
ExtensionDataRef,
{
optional: boolean;
singleton: boolean;
}
>;
} = {
[inputName in string]: ExtensionInput<
ExtensionDataRef,
{
optional: boolean;
singleton: boolean;
}
>;
},
> = Expand<
{
[KName in keyof TInputs as TInputs[KName] extends ExtensionInput<
any,
{
optional: infer IOptional extends boolean;
singleton: boolean;
}
>
? IOptional extends true
? never
: KName
: never]: TInputs[KName] extends ExtensionInput<
infer IDataRefs,
{
optional: boolean;
singleton: infer ISingleton extends boolean;
}
>
? ISingleton extends true
? Iterable<ExtensionDataRefToValue<IDataRefs>>
: Array<Iterable<ExtensionDataRefToValue<IDataRefs>>>
: never;
} & {
[KName in keyof TInputs as TInputs[KName] extends ExtensionInput<
any,
{
optional: infer IOptional extends boolean;
singleton: boolean;
}
>
? IOptional extends true
? KName
: never
: never]?: TInputs[KName] extends ExtensionInput<
infer IDataRefs,
{
optional: boolean;
singleton: infer ISingleton extends boolean;
}
>
? ISingleton extends true
? Iterable<ExtensionDataRefToValue<IDataRefs>>
: Array<Iterable<ExtensionDataRefToValue<IDataRefs>>>
: never;
}
>;
// @public
export type RouteFunc<TParams extends AnyRouteRefParams> = (
...[params]: TParams extends undefined
@@ -17,7 +17,7 @@
import { ApiHolder, AppNode } from '../apis';
import { Expand } from '@backstage/types';
import {
ResolveInputValueOverrides,
ResolvedInputValueOverrides,
resolveInputOverrides,
} from './resolveInputOverrides';
import { createExtensionDataContainer } from '@internal/frontend';
@@ -221,7 +221,7 @@ export type ExtensionDefinition<
context?: Expand<
{
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
inputs?: ResolvedInputValueOverrides<NonNullable<T['inputs']>>;
} & ([T['params']] extends [never]
? {}
: {
@@ -30,7 +30,7 @@ import { ExtensionInput } from './createExtensionInput';
import { ExtensionDataRef, ExtensionDataValue } from './createExtensionDataRef';
import { createExtensionDataContainer } from '@internal/frontend';
import {
ResolveInputValueOverrides,
ResolvedInputValueOverrides,
resolveInputOverrides,
} from './resolveInputOverrides';
import { ExtensionDataContainer } from './types';
@@ -285,7 +285,7 @@ export interface ExtensionBlueprint<
: T['params'],
context?: {
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
inputs?: ResolvedInputValueOverrides<NonNullable<T['inputs']>>;
},
) => ExtensionDataContainer<NonNullable<T['output']>>,
context: {
@@ -69,4 +69,3 @@ export {
createExtensionBlueprint,
createExtensionBlueprintParams,
} from './createExtensionBlueprint';
export { type ResolveInputValueOverrides } from './resolveInputOverrides';
@@ -26,8 +26,8 @@ import {
import { ExtensionInput } from './createExtensionInput';
import { ExtensionDataContainer } from './types';
/** @public */
export type ResolveInputValueOverrides<
/** @ignore */
export type ResolvedInputValueOverrides<
TInputs extends {
[inputName in string]: ExtensionInput<
ExtensionDataRef,
@@ -101,7 +101,7 @@ export function resolveInputOverrides(
| ({ node: AppNode } & ExtensionDataContainer<any>)
| Array<{ node: AppNode } & ExtensionDataContainer<any>>;
},
inputOverrides?: ResolveInputValueOverrides,
inputOverrides?: ResolvedInputValueOverrides,
) {
if (!declaredInputs || !inputs || !inputOverrides) {
return inputs;