UNPKG

ember-codemod-add-component-signatures

Version:
28 lines (27 loc) 1.13 kB
import { readFileSync } from 'node:fs'; import { join } from 'node:path'; import { processTemplate } from '@codemod-utils/blueprints'; import { pascalize } from '@codemod-utils/ember'; import { createFiles, } from '@codemod-utils/files'; import { blueprintsRoot } from '../utils/blueprints.js'; import { getClassPath } from '../utils/components.js'; const blueprintFile = readFileSync(join(blueprintsRoot, 'ember-cli/template-only-component.ts'), 'utf8'); export function createTemplateOnlyComponents(context, options) { const { extensionMap } = context; const fileMap = new Map(); for (const [componentName, extensions] of extensionMap) { const hasClass = extensions.has('.gts') || extensions.has('.ts'); if (hasClass) { continue; } const filePath = getClassPath(componentName, extensions, options); const data = { entity: { pascalizedName: pascalize(componentName), }, }; const file = processTemplate(blueprintFile, data); fileMap.set(filePath, file); } createFiles(fileMap, options); }