UNPKG

ember-codemod-v1-to-v2

Version:

Codemod to convert Ember addons to v2 addon format

40 lines (39 loc) 1.22 kB
import { findFiles } from '@codemod-utils/files'; import { getVersion } from '../utils/blueprints.js'; function getProjectRootDevDependencies(options) { return { concurrently: getVersion('concurrently', options), }; } function getPublicAssets(options) { const { packages, projectRoot } = options; const filePaths = findFiles('public/**/*', { projectRoot, }); return filePaths.reduce((accumulator, filePath) => { const from = `./${filePath}`; const to = `/${packages.addon.name}/${filePath.replace(/^public\//, '')}`; accumulator[from] = to; return accumulator; }, {}); } function hasBlueprints(options) { const { projectRoot } = options; const filePaths = findFiles('blueprints/**/*', { projectRoot, }); return filePaths.length > 0; } export function analyzeAddon(options) { const publicAssets = getPublicAssets(options); return { addon: { hasBlueprints: hasBlueprints(options), hasPublicAssets: Object.keys(publicAssets).length > 0, publicAssets, }, projectRoot: { devDependencies: getProjectRootDevDependencies(options), }, }; }