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
JavaScript
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);
}