ember-codemod-v1-to-v2
Version:
Codemod to convert Ember addons to v2 addon format
21 lines (20 loc) • 818 B
JavaScript
import { analyzeAddon, createFilesFromBlueprints, createOptions, moveAddonFiles, moveProjectRootFiles, moveTestAppFiles, updateAddonPackageJson, updateTestAppPackageJson, } from './steps/index.js';
export function runCodemod(codemodOptions) {
const options = createOptions(codemodOptions);
const { isV1Addon } = options.packages.addon;
// Guarantee idempotency
if (!isV1Addon) {
return;
}
// Prepare for migration
const context = analyzeAddon(options);
// Preserve code
moveAddonFiles(options);
moveTestAppFiles(options);
moveProjectRootFiles(options);
// Get the latest code from blueprints
createFilesFromBlueprints(context, options);
// Fine-tune individual files
updateAddonPackageJson(context, options);
updateTestAppPackageJson(options);
}