|
1 | 1 | #!/usr/bin/env node |
2 | 2 | const program = require('commander') |
| 3 | +const { join } = require('path') |
3 | 4 | const log = require('../src/utils/log') |
4 | 5 | const mili = require('../src/mili') |
5 | 6 | const { version } = require('../package.json') |
@@ -30,17 +31,25 @@ program |
30 | 31 | .catch(err => log.error('program', 'initialize break', err)) |
31 | 32 | }) |
32 | 33 |
|
| 34 | +const collect = (val, memo) => { |
| 35 | + memo.push(val); |
| 36 | + return memo; |
| 37 | +} |
| 38 | + |
33 | 39 | program |
34 | 40 | .command('upgrade') |
35 | 41 | .description('upgrade the template') |
36 | 42 | .option('--force') |
37 | 43 | .option('--no-deps', 'Need not install dependencies', false) |
| 44 | + .option('-r, --recursive', 'Upgrade recursive all subfolder') |
| 45 | + .option('--ignore [file]', 'the folder need not search', collect, []) |
38 | 46 | .action((option) => { |
39 | | - const { force = false, deps = true } = option |
| 47 | + const { force = false, deps = true, recursive } = option |
| 48 | + const cwd = process.cwd() |
| 49 | + const ignore = option.ignore.map(item => join(cwd, item)) |
40 | 50 |
|
41 | | - mili.upgrade({ force, noDeps: !deps }) |
42 | | - .then(() => log.info('upgrade complete')) |
43 | | - .catch(err => log.error('program', 'upgrade break', err)) |
| 51 | + mili.upgrade({ force, noDeps: !deps, recursive, ignore }) |
| 52 | + .catch(err => log.error('program', 'upgrade break', err)) |
44 | 53 | }) |
45 | 54 |
|
46 | 55 | program |
|
0 commit comments