@@ -7,21 +7,39 @@ const chalk = require('chalk');
77const SilentError = require ( './silent-error' ) ;
88const { transformPath } = require ( './transform' ) ;
99
10- async function run ( ) {
11- let path = await pkgDir ( ) ;
12- await runForPath ( path ) ;
10+ async function run ( argv ) {
11+ let patterns = argv . slice ( 2 ) ;
12+ if ( patterns . length !== 0 ) {
13+ await runForGlobs ( patterns , process . cwd ( ) ) ;
14+ } else {
15+ let baseDir = await pkgDir ( ) ;
16+ await runForPath ( baseDir ) ;
17+ }
1318}
1419
1520async function runForPath ( path , options = { } ) {
1621 debug ( 'runForPath(%o, %o)' , path , options ) ;
1722
23+ let patterns = [ 'app/components/**/*.js' , 'addon/components/**/*.js' ] ;
24+ await runForGlobs ( patterns , path , options ) ;
25+ }
26+
27+ async function runForGlobs ( patterns , cwd , options = { } ) {
28+ debug ( 'runForGlobs(%o, %o, %o)' , patterns , cwd , options ) ;
29+
1830 let log = options . log || console . log ;
1931
2032 log ( ` 🔍 Searching for component files...` ) ;
21- let paths = await globby ( [ 'app/components/**/*.js' , 'addon/components/**/*.js' ] , { cwd : path } ) ;
33+ let paths = await globby ( patterns , {
34+ cwd,
35+ expandDirectories : {
36+ extensions : [ 'js' ] ,
37+ } ,
38+ } ) ;
2239 debug ( 'componentPaths = %O' , paths ) ;
2340
24- let pkgContent = fs . readFileSync ( `${ path } /package.json` ) ;
41+ let packageRoot = await pkgDir ( cwd ) ;
42+ let pkgContent = fs . readFileSync ( `${ packageRoot } /package.json` ) ;
2543 let pkg = JSON . parse ( pkgContent ) ;
2644 let hasComponentCSS =
2745 pkg . dependencies [ 'ember-component-css' ] || pkg . devDependencies [ 'ember-component-css' ] ;
0 commit comments