11#!/usr/bin/env node
22const program = require ( 'commander' )
3- const { join } = require ( 'path' )
3+ const { join, resolve } = require ( 'path' )
44const log = require ( '../src/utils/log' )
55const mili = require ( '../src/mili' )
66const { version } = require ( '../package.json' )
@@ -9,6 +9,8 @@ const { version } = require('../package.json')
99program
1010 . version ( version )
1111
12+ const absolutize = val => resolve ( val )
13+
1214program
1315 . command ( 'init [repository]' )
1416 . usage ( '[options] <repository>' )
@@ -17,16 +19,16 @@ program
1719 . option ( '--no-deps' , 'Need not install dependencies' , false )
1820 . option ( '--force' )
1921 . option ( '-v --version [version]' , 'Set the template version' )
22+ . option ( '--cwd [cwd]' , 'Set the current work directory' , absolutize , process . cwd ( ) )
2023 . action ( ( repository , option ) => {
2124 if ( ! repository ) program . help ( )
2225
23- const { appName, force = false , deps = true } = option
26+ const { appName, force = false , deps = true , cwd } = option
2427
2528 let version
2629 if ( typeof option . version === 'string' ) version = option . version
2730
28- // return init(appName, repository, force, version)
29- return mili . init ( { name : appName , force, repository, version, noDeps : ! deps } )
31+ return mili . init ( { cwd, name : appName , force, repository, version, noDeps : ! deps } )
3032 . then ( ( ) => log . info ( 'initialize complete' ) )
3133 . catch ( err => log . error ( 'program' , 'initialize break' , err ) )
3234 } )
@@ -43,12 +45,12 @@ program
4345 . option ( '--no-deps' , 'Need not install dependencies' , false )
4446 . option ( '-r, --recursive' , 'Upgrade recursive all subfolder' )
4547 . option ( '--ignore [file]' , 'the folder need not search' , collect , [ ] )
48+ . option ( '--cwd [cwd]' , 'Set the current work directory' , absolutize , process . cwd ( ) )
4649 . action ( option => {
47- const { force = false , deps = true , recursive } = option
48- const cwd = process . cwd ( )
50+ const { cwd, force = false , deps = true , recursive } = option
4951 const ignore = option . ignore . map ( item => join ( cwd , item ) )
5052
51- mili . upgrade ( { force, noDeps : ! deps , recursive, ignore } )
53+ mili . upgrade ( { cwd , force, noDeps : ! deps , recursive, ignore } )
5254 . catch ( err => log . error ( 'program' , 'upgrade break' , err ) )
5355 } )
5456
@@ -58,13 +60,14 @@ program
5860 . option ( '--force' )
5961 . option ( '-v --version [version]' , 'Set the template version' )
6062 . option ( '--no-deps' , 'Need not install dependencies' , false )
63+ . option ( '--cwd [cwd]' , 'Set the current work directory' , absolutize , process . cwd ( ) )
6164 . action ( option => {
62- const { force = false , deps = true } = option
65+ const { cwd , force = false , deps = true } = option
6366
6467 let version
6568 if ( typeof option . version === 'string' ) version = option . version
6669
67- mili . update ( { force, version, noDeps : ! deps } )
70+ mili . update ( { cwd , force, version, noDeps : ! deps } )
6871 . then ( ( ) => log . info ( 'update complete' ) )
6972 . catch ( err => log . error ( 'program' , 'update break' , err ) )
7073 } )
0 commit comments