@@ -15,7 +15,10 @@ var bindings = require('./bindings'),
15
15
diagnostics = require ( './diagnostics' ) ,
16
16
callbackCounter = require ( './callbackCounter' ) ,
17
17
requireJsGraph = require ( './requireJsGraph' ) ,
18
- ArgumentParser = require ( 'argparse' ) . ArgumentParser ;
18
+ ArgumentParser = require ( 'argparse' ) . ArgumentParser ,
19
+ path = require ( 'path' ) ,
20
+ fs = require ( 'fs' ) ,
21
+ utils = require ( './utils' ) ;
19
22
20
23
var argParser = new ArgumentParser ( {
21
24
addHelp : true ,
@@ -59,9 +62,32 @@ argParser.addArgument(
59
62
}
60
63
) ;
61
64
62
- var r = argParser . parseKnownArgs ( ) ;
63
- var args = r [ 0 ] ,
64
- files = r [ 1 ] ;
65
+ const r = argParser . parseKnownArgs ( ) ;
66
+ const args = r [ 0 ] ;
67
+ const inputList = r [ 1 ] ;
68
+
69
+ let filelist = [ ] ;
70
+
71
+ inputList . forEach ( function ( file ) {
72
+ file = path . resolve ( file ) ;
73
+ if ( ! fs . existsSync ( file ) ) {
74
+ console . warn ( 'The path "' + file + '" does not exists.' ) ;
75
+ }
76
+ else if ( fs . statSync ( file ) . isDirectory ( ) ) {
77
+ filelist = utils . collectFiles ( file , filelist ) ;
78
+ }
79
+ else if ( file . endsWith ( ".js" ) ) {
80
+ filelist . push ( file ) ;
81
+ }
82
+ } ) ;
83
+
84
+ let files = Array . from ( new Set ( filelist ) ) ; // remove the duplicates
85
+
86
+ if ( files . length === 0 ) {
87
+ console . warn ( "Input file list is empty!" ) ;
88
+ argParser . printHelp ( ) ;
89
+ process . exit ( - 1 ) ;
90
+ }
65
91
66
92
args . strategy = args . strategy || 'ONESHOT' ;
67
93
if ( ! args . strategy . match ( / ^ ( N O N E | O N E S H O T | D E M A N D | F U L L ) $ / ) ) {
0 commit comments