11#!/usr/bin/env node
22
3+ const path = require ( 'path' ) ;
34const program = require ( 'commander' ) ;
45const colors = require ( 'colors' ) ;
56
67const server = require ( '../src/server' ) ;
78
89program
910 . option ( '-e, --entry [entryFile]' , 'Specify path to entry point file. E.g. `./src/app.js`' )
10- . option ( '-d, --dir [projectDir]' , 'Specify path to project source code directory. E.g. `./src`' )
11+ . option (
12+ '-d, --dir [projectDir]' ,
13+ 'Specify path to project source code directory. E.g. `./src`' ,
14+ ''
15+ )
1116 . option (
1217 '-w, --webpack [webpackConfigFile]' ,
1318 'Specify path to webpack config file. E.g. ./webpack.config.js'
1419 )
1520 . option ( '-p, --port [defaultPort]' , 'Specify port for Codecrumbs client. E.g. 3333' , 2018 )
21+ . option ( '-f, --parserFallback [astParserFallback]' , 'Use AST parser fallback' )
22+ . option ( '-n, --projectName [projectNameAlias]' , 'Project name alias' )
1623 . parse ( process . argv ) ;
1724
18- if ( ! program . entry && ! program . dir ) {
25+ if ( ! program . entry || ! program . dir ) {
1926 console . log (
2027 colors . magenta (
2128 'Please specify `entry` and `dir` params. E.g. `codecrumbs -e src/app.js -d src`'
@@ -26,11 +33,12 @@ if (!program.entry && !program.dir) {
2633
2734server . setup (
2835 {
29- projectNameAlias : undefined , // TODO: add param for this
36+ projectNameAlias : program . projectName ,
3037 entryPoint : program . entry ,
31- projectDir : program . dir ,
38+ projectDir : program . dir . replace ( new RegExp ( ` ${ path . sep } $` ) , '' ) ,
3239 webpackConfigPath : program . webpack ,
33- clientPort : program . port
40+ clientPort : program . port ,
41+ astParserFallback : program . parserFallback
3442 } ,
3543 false
3644) ;
0 commit comments