Bbackstage

backstage/v1-48-0-migration-recipe

Backstage 1.48.0: Migration recipe that runs every @backstage v1.48.0 codemod from the registry in a safe order.

backstagemigrationrecipeworkflowupgrade1.48.0
PublicBundle
0 executions

Run locally

npx codemod @backstage/v1-48-0-migration-recipe

@backstage/v1-48-0-migration-recipe

Migration recipe that chains every @backstage/* v1.48.0 codemod in a safe
order.

Usage

bash

Steps

#CodemodDescription
1@backstage/rename-bui-css-tokens-v1-48Rename deprecated BUI CSS tokens and selectors
2@backstage/remove-alert-surface-propRemove deprecated surface prop from Alert
3@backstage/migrate-surface-to-bg-systemMigrate surface/onSurface props to bg system
4@backstage/migrate-column-config-to-react-elementWrap ColumnConfig cell/header returns
5@backstage/rename-header-to-plugin-headerRename Header to PluginHeader
6@backstage/migrate-blueprints-to-plugin-app-reactMove blueprint exports to plugin-app-react
7@backstage/migrate-app-experimental-packagesMigrate app.experimental.packages to app.packages

AI fixup

The recipe runs every codemod at default settings (aiFixup=false). Two of the
seven codemods ship optional AI fixup steps:

  • @backstage/migrate-surface-to-bg-system — resolves dynamic surface values
  • @backstage/migrate-column-config-to-react-element — fixes complex cell/header returns

To enable AI fixup, run the individual codemods after the recipe:

bash

Out of scope (document only)

These changes are runtime behavior or deprecation warnings — no codemod needed:

  • API_FACTORY_CONFLICT warning → error — runtime behavior change
  • API override logic now rejects at startup — runtime behavior
  • IconComponentIconElement — deprecated not yet removed
  • pluginId replaces id on plugins — deprecated not yet removed
  • Non-standard plugin ID format deprecated — runtime validation
  • Extension multiple attachment points deprecated — runtime still supports

Ready to contribute?

Build your own codemod and share it with the community.