UNPKG

ember-codemod-css-modules

Version:

Codemod to replace ember-component-css with ember-css-modules (compatible with embroider-css-modules)

25 lines (24 loc) 1.01 kB
import { readFileSync } from 'node:fs'; import { join } from 'node:path'; import { processTemplate } from '@codemod-utils/blueprints'; import { classify, doubleColonize } from '@codemod-utils/ember-cli-string'; import { createFiles, parseFilePath } from '@codemod-utils/files'; import { blueprintsRoot } from '../../../../utils/blueprints.js'; export function createClass(entry, options) { const { entityName, jsPath } = entry; const entity = { classifiedName: classify(entityName), doubleColonizedName: doubleColonize(entityName), fileName: parseFilePath(entityName).name, name: entityName, }; const fileMap = new Map(['ember-cli/component/javascript.js'].map((blueprintFilePath) => { const blueprintFile = readFileSync(join(blueprintsRoot, blueprintFilePath), 'utf8'); const file = processTemplate(blueprintFile, { entity, options, }); return [jsPath, file]; })); createFiles(fileMap, options); }