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
@@ -0,0 +1,8 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
The template parameter schema response now exposes a `formDecorators` field
instead of `EXPERIMENTAL_formDecorators`. Templates that still declare
`spec.EXPERIMENTAL_formDecorators` are read transparently and surfaced under
the new field.
@@ -0,0 +1,7 @@
---
'@backstage/plugin-scaffolder-common': minor
---
Promote the `formDecorators` field on the `Template` spec out of experimental.
The previous `EXPERIMENTAL_formDecorators` field continues to work and is
kept as a deprecated alias.
@@ -0,0 +1,7 @@
---
'@backstage/plugin-scaffolder': minor
---
Promoted `formDecoratorsApiRef`, `ScaffolderFormDecoratorsApi`,
`DefaultScaffolderFormDecoratorsApi`, and `formDecoratorsApi` from `@alpha`
to `@public`.
@@ -0,0 +1,8 @@
---
'@backstage/plugin-scaffolder': patch
---
Form decorator input is now parsed against the zod schema configured on the
decorator before the decorator runs, so defaults declared via `.default()`
are applied and invalid input is reported through the error API instead of
silently passing through.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-scaffolder': patch
---
The template wizard now reads form decorators from the new
`spec.formDecorators` field on a template, falling back to the deprecated
`spec.EXPERIMENTAL_formDecorators` for templates that have not been migrated.
@@ -0,0 +1,6 @@
---
'@backstage/plugin-scaffolder-react': minor
---
Promoted `FormDecoratorBlueprint` and `ScaffolderFormDecorator` from `@alpha`
to `@public`.