1
1
'use strict' ;
2
2
3
3
require ( './global' ) ;
4
+ var version = require ( '../package.json' ) . version ;
5
+ var optimist = require ( 'optimist' ) ;
6
+ var rightPad = require ( 'right-pad' ) ;
4
7
5
8
var Manager = require ( './modules/manager.js' ) ;
6
9
7
- var helpTitle = function helpTitle ( ) {
8
- info ( ) ;
9
- info ( '===================== YKit ' + packageJSON . version + ' ====================' ) ;
10
- info ( ) ;
11
- } ;
10
+ var helpTitle = '\n===================== YKit ' + version + ' ====================\n' ;
12
11
13
12
var initOptions = function initOptions ( cmd ) {
14
13
if ( cmd . setOptions ) {
@@ -24,46 +23,46 @@ var initOptions = function initOptions(cmd) {
24
23
} ;
25
24
26
25
var cli = module . exports = {
27
- run : function run ( cmdName ) {
28
- if ( cmdName === '-v' || cmdName === '--version' ) {
29
- log ( packageJSON . version ) ;
26
+ run : function run ( option ) {
27
+ if ( option === '-v' || option === '--version' ) {
28
+ log ( version ) ;
30
29
return ;
31
- } else if ( cmdName === '-h' || cmdName === '--help' ) {
30
+ } else if ( option === '-h' || option === '--help' || ! option ) {
32
31
cli . help ( ) ;
33
32
return ;
34
33
}
35
34
36
- var project = Manager . getProject ( process . cwd ( ) ) ,
37
- cmd = project . commands . filter ( function ( item ) {
38
- return item . name == cmdName ;
35
+ var project = Manager . getProject ( process . cwd ( ) ) ;
36
+ var command = project . commands . filter ( function ( command ) {
37
+ return command . name == option ;
39
38
} ) [ 0 ] ;
40
- if ( ! cmd ) {
41
- error ( '请确认是否存在 ' + cmdName + ' 命令' ) ;
39
+ if ( ! command ) {
40
+ error ( '请确认是否存在 ' + option + ' 命令' ) ;
42
41
return ;
43
42
}
44
- cmd = cmd . module ;
45
- var options = initOptions ( cmd ) ;
43
+ var module = command . module ;
44
+ var options = initOptions ( module ) ;
46
45
if ( options . h || options . help ) {
47
- helpTitle ( ) ;
48
- info ( '命令:' , cmdName ) ;
49
- info ( '说明:' , cmd . usage || '' ) ;
46
+ info ( helpTitle ) ;
47
+ info ( '命令:' , option ) ;
48
+ info ( '说明:' , module . usage || '' ) ;
50
49
info ( ) ;
51
50
optimist . showHelp ( ) ;
52
51
info ( ' 如果需要帮助, 请使用 ykit {命令名} --help ' ) ;
53
52
} else {
54
- cmd . run . call ( { project : project } , options ) ;
53
+ module . run . call ( { project : project } , options ) ;
55
54
}
56
55
} ,
57
56
help : function help ( ) {
58
- helpTitle ( ) ;
57
+ info ( helpTitle ) ;
59
58
Manager . getProject ( process . cwd ( ) ) . commands . forEach ( function ( command ) {
60
59
info ( ' ' + rightPad ( command . name , 15 ) + ' # ' + ( command . module . usage || '' ) ) ;
61
60
} ) ;
62
61
info ( ) ;
63
- info ( '可用的全局配置有:' , ( Manager . readRC ( ) . configs || [ ] ) . map ( function ( item ) {
62
+ info ( ' 可用的全局配置有:' , ( Manager . readRC ( ) . configs || [ ] ) . map ( function ( item ) {
64
63
return item . name . substring ( 12 ) ;
65
64
} ) . join ( ', ' ) ) ;
66
65
info ( ) ;
67
- info ( ' 如果需要帮助, 请使用 ykit {命令名} --help ' ) ;
66
+ info ( ' 如果需要帮助, 请使用 ykit {命令名} --help\n ' ) ;
68
67
}
69
68
} ;
0 commit comments