feat(scaffolder): promote formDecorators out of experimental (#34180)

* feat(scaffolder): promote formDecorators out of experimental

Signed-off-by: benjdlambert <ben@blam.sh>

* fix(scaffolder): parse form decorator input through the configured zod schema

Signed-off-by: benjdlambert <ben@blam.sh>

* refactor(scaffolder-backend): emit single formDecorators field on the parameter-schema response

Signed-off-by: benjdlambert <ben@blam.sh>

* feat(scaffolder): promote form decorator blueprints to public API

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: benjdlambert <ben@blam.sh>
This commit is contained in:
Ben Lambert
2026-05-11 11:29:36 +02:00
committed by GitHub
parent 044ba27248
commit 8006acf89a
19 changed files with 283 additions and 22 deletions
+2 -2
View File
@@ -128,7 +128,7 @@ export const Form: (
props: PropsWithChildren<ScaffolderRJSFFormProps>,
) => JSX_2.Element;
// @alpha
// @public
export const FormDecoratorBlueprint: ExtensionBlueprint<{
kind: 'scaffolder-form-decorator';
params: {
@@ -257,7 +257,7 @@ export interface ScaffolderFieldProps {
required?: boolean;
}
// @alpha (undocumented)
// @public (undocumented)
export type ScaffolderFormDecorator<TInput extends JsonObject = JsonObject> = {
readonly $$type: '@backstage/scaffolder/FormDecorator';
readonly id: string;
@@ -25,7 +25,7 @@ const formDecoratorExtensionDataRef =
});
/**
* @alpha
* @public
* Creates extensions that are Field Extensions for the Scaffolder
* */
export const FormDecoratorBlueprint = createExtensionBlueprint({
@@ -33,7 +33,7 @@ export type ScaffolderFormDecoratorContext<
) => void;
};
/** @alpha */
/** @public */
export type ScaffolderFormDecorator<TInput extends JsonObject = JsonObject> = {
readonly $$type: '@backstage/scaffolder/FormDecorator';
readonly id: string;