Merge pull request #30670 from backstage/export

Export `FormField` type from Scaffolder
This commit is contained in:
Ben Lambert
2025-07-29 14:08:29 +02:00
committed by GitHub
10 changed files with 30 additions and 14 deletions
+6 -1
View File
@@ -20,7 +20,6 @@ import { FieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react
import { FieldExtensionOptions } from '@backstage/plugin-scaffolder-react';
import { FieldSchema } from '@backstage/plugin-scaffolder-react';
import { FieldValidation } from '@rjsf/utils';
import { FormField } from '@internal/scaffolder';
import { FormProps } from '@backstage/plugin-scaffolder-react';
import { IconComponent } from '@backstage/core-plugin-api';
import { JsonObject } from '@backstage/types';
@@ -157,6 +156,12 @@ export const FormDecoratorBlueprint: ExtensionBlueprint<{
};
}>;
// @alpha (undocumented)
export interface FormField {
// (undocumented)
readonly $$type: '@backstage/scaffolder/FormField';
}
// @alpha
export const FormFieldBlueprint: ExtensionBlueprint<{
kind: 'scaffolder-form-field';
@@ -19,9 +19,9 @@ import {
createExtensionInput,
} from '@backstage/frontend-plugin-api';
import { formFieldsApiRef } from './ref';
import { ScaffolderFormFieldsApi } from './types';
import { FormField, ScaffolderFormFieldsApi } from './types';
import { FormFieldBlueprint } from '../blueprints';
import { FormField, OpaqueFormField } from '@internal/scaffolder';
import { OpaqueFormField } from '@internal/scaffolder';
class DefaultScaffolderFormFieldsApi implements ScaffolderFormFieldsApi {
constructor(
@@ -16,4 +16,4 @@
export { formFieldsApi } from './FormFieldsApi';
export { formFieldsApiRef } from './ref';
export type { ScaffolderFormFieldsApi } from './types';
export type { ScaffolderFormFieldsApi, FormField } from './types';
@@ -23,3 +23,8 @@ import { FormFieldExtensionData } from '../blueprints';
export interface ScaffolderFormFieldsApi {
getFormFields(): Promise<FormFieldExtensionData[]>;
}
/** @alpha */
export interface FormField {
readonly $$type: '@backstage/scaffolder/FormField';
}
@@ -19,8 +19,9 @@ import {
} from '@backstage/frontend-plugin-api';
import { z } from 'zod';
import { OpaqueFormField, FormField } from '@internal/scaffolder';
import { OpaqueFormField } from '@internal/scaffolder';
import { FormFieldExtensionData } from './types';
import { FormField } from '../api';
const formFieldExtensionDataRef = createExtensionDataRef<
() => Promise<FormField>