Skip to content

Commit 4f5bcc9

Browse files
committed
Detect ember-component-css dependency automatically
1 parent f128933 commit 4f5bcc9

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

lib/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const fs = require('fs');
12
const pkgDir = require('pkg-dir');
23
const globby = require('globby');
34
const debug = require('debug')('tagless-ember-components-codemod');
@@ -16,15 +17,18 @@ async function runForPath(path, options = {}) {
1617

1718
let log = options.log || console.log;
1819

19-
// TODO check for ember-component-css dependency
20-
2120
log(` 🔍 Searching for component files...`);
2221
let paths = await globby('app/components/**/*.js', { cwd: path });
2322
debug('componentPaths = %O', paths);
2423

24+
let pkgContent = fs.readFileSync(`${path}/package.json`);
25+
let pkg = JSON.parse(pkgContent);
26+
let hasComponentCSS =
27+
pkg.dependencies['ember-component-css'] || pkg.devDependencies['ember-component-css'];
28+
2529
for (let path of paths) {
2630
try {
27-
let tagName = transformPath(path);
31+
let tagName = transformPath(path, { hasComponentCSS });
2832
if (tagName) {
2933
log(chalk.green(`${chalk.dim(path)}: <${tagName}>...</${tagName}>`));
3034
} else {

lib/transform.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const EVENT_HANDLER_METHODS = [
4848

4949
const PLACEHOLDER = '@@@PLACEHOLDER@@@';
5050

51-
function transformPath(componentPath) {
51+
function transformPath(componentPath, options) {
5252
let debug = (fmt, ...args) => _debug(`${componentPath}: ${fmt}`, ...args);
5353

5454
let templatePath = guessTemplatePath(componentPath);
@@ -60,7 +60,7 @@ function transformPath(componentPath) {
6060
let source = fs.readFileSync(componentPath, 'utf8');
6161
let template = fs.readFileSync(templatePath, 'utf8');
6262

63-
let result = transform(source, template, { debug });
63+
let result = transform(source, template, Object.assign({}, { debug }, options));
6464

6565
if (result.tagName) {
6666
fs.writeFileSync(componentPath, result.source, 'utf8');

0 commit comments

Comments
 (0)