Initial commit for ext:migrate (#10974)
* Add wizard to select an instance to migrate * More cases. More testing * feat: implement ext:migrate command initial unique veneer logic ### Description Implement the initial Unique Veneer section of the ext:migrate workflow. This includes the extmigration experiment registration, replacements.json integration, table formatting of installed extensions, instance filtering, interactive prompt selection via createMigrationPlan, and the ext:migrate CLI command. ### Scenarios Tested - Unit tests in src/extensions/migrate.spec.ts covering all 9 manual scenarios (no flags, --ext-instance, --extension, and error states). ### Sample Commands firebase ext:migrate --project P firebase ext:migrate --project P --ext-instance E1 firebase ext:migrate --project P --extension storage-resize-images * fix: resolve function kit using instance extensionRef during --extension migration * fix(ext:migrate): address PR feedback on ext:migrate command ### Description Address review feedback on PR #10974: - Validate `--package` CLI option using `validateNpmPackageName` - Simplify `getKitPackage` lookup logic (removed shortName fallback) - Update error messages when no kit package is found to encourage forking - Add unit test verifying `getKitPackage` returns undefined for extension refs without a replacement package ### Scenarios Tested - Tested `ext:migrate` unit test suite (`npm run mocha:fast src/extensions/migrate.spec.ts`) - Tested `functions:kits:install` unit test suite (`npm run mocha:fast src/commands/functions-kits-install.spec.ts`) * test(ext:migrate): update test assertions for @firebase-function-kits package names from main
T
Thomas Bouldin committed
9b5ebbab6e5085720967e6df3789d08565ef50ec
Parent: 0eeca4c
Committed by GitHub <noreply@github.com>
on 8/25/2026, 12:59:38 AM