@@ -15,11 +15,11 @@ import { Command, Option } from 'commander';
15
15
const program = new Command ( ) ;
16
16
17
17
program
18
+ . command ( `${ packageJson . name } [path...]` , { isDefault : true } )
18
19
. version ( packageJson . version , '-v, --version' )
19
- . name ( packageJson . name )
20
20
. usage ( '[global options] <file-paths>...' )
21
21
. option (
22
- '-t,--transform <value>' ,
22
+ '-t, --transform <value>' ,
23
23
'The transform to run, will prompt for a transform if not provided and no module is passed' ,
24
24
)
25
25
. option (
@@ -60,7 +60,7 @@ Examples:
60
60
# Run the "my-custom-transform" transform
61
61
$ codeshift-cli -t path/to/my-custom-transform /project/src` ,
62
62
)
63
- . action ( ( options , command ) => main ( command . args , options ) ) ;
63
+ . action ( ( path , options ) => main ( path , options ) ) ;
64
64
65
65
program
66
66
. command ( 'list <package-names...>' )
@@ -69,22 +69,28 @@ program
69
69
70
70
program
71
71
. command ( 'init [path]' )
72
- . description ( 'create a new codemod package' )
73
- // FIXME: Commander seems to have issues parsing the paths and arguments
74
- . option ( '--package-name <name>' , 'Name of the package' )
75
- . option ( '--version <version>' , 'Target version' )
76
- . action ( ( path , options ) => init ( options . packageName , options . version , path ) )
72
+ . description ( 'creates a new codeshift package' )
73
+ . requiredOption ( '--package-name <value>' , 'Name of the package' )
74
+ . option ( '-t, --transform <value>' , 'Transform version' )
75
+ . option ( '-p, --preset <value>' , 'Preset transfrom' )
76
+ . action ( ( path , options ) =>
77
+ init ( options . packageName , options . transform , options . preset , path ) ,
78
+ )
77
79
. addHelpText (
78
80
'after' ,
79
81
`
80
82
Examples:
81
- $ codeshift-cli init --package-name foobar --version 10.0.0 ~/Desktop
83
+ # Initializes a new codeshift package with a transform for 10.0.0
84
+ $ codeshift-cli init --package-name foobar --transform 10.0.0 ~/Desktop
85
+
86
+ # Initializes a new codeshift package with a preset "update-imports"
87
+ $ codeshift-cli init --package-name foobar --preset update-imports ~/Desktop
82
88
` ,
83
89
) ;
84
90
85
91
program
86
92
. command ( 'validate [path]' )
87
- . description ( 'validates if a codemod package is publishable' )
93
+ . description ( 'validates if a codeshift package is publishable' )
88
94
. action ( path => validate ( path ) )
89
95
. addHelpText (
90
96
'after' ,
0 commit comments