1 | export default function yargsOptions(argv) {
|
2 | return require('yargs')(argv)
|
3 | .usage('$0 [options] input.js')
|
4 |
|
5 | .help('help')
|
6 | .alias('help', 'h')
|
7 |
|
8 | .version(() => require('../package.json').version)
|
9 | .alias('version', 'v')
|
10 |
|
11 | .option('output', {
|
12 | alias: 'o',
|
13 | type: 'string',
|
14 | nargs: 1,
|
15 | describe: 'Output File'
|
16 | })
|
17 | .option('outputDir', {
|
18 | alias: 'd',
|
19 | type: 'string',
|
20 | nargs: 1,
|
21 | describe: 'Output Directory'
|
22 | })
|
23 |
|
24 | .option('mangle', {
|
25 | alias: 'm',
|
26 | type: 'boolean',
|
27 | 'default': undefined,
|
28 | describe: '[default true] Mangle names'
|
29 | })
|
30 | .option('mangle_globals', {
|
31 | type: 'boolean',
|
32 | 'default': false,
|
33 | describe: '[default false] Mangle global variables'
|
34 | })
|
35 |
|
36 | .option('dead_code', {
|
37 | alias: 'dead-code',
|
38 | type: 'boolean',
|
39 | 'default': undefined,
|
40 | describe: '[default false] Remove dead code'
|
41 | })
|
42 | .option('conditionals', {
|
43 | type: 'boolean',
|
44 | 'default': undefined,
|
45 | describe: '[default false] Optimize conditionals statements and expressions'
|
46 | })
|
47 |
|
48 | .option('evaluate', {
|
49 | type: 'boolean',
|
50 | 'default': undefined,
|
51 | describe: '[default true] - Attempt evaluating constant expressions'
|
52 | })
|
53 | .option('drop_debugger', {
|
54 | alias: 'drop-debugger',
|
55 | type: 'boolean',
|
56 | 'default': undefined,
|
57 | describe: '[default true] Remove debugger statements'
|
58 | })
|
59 | .option('drop_console', {
|
60 | alias: 'drop-console',
|
61 | type: 'boolean',
|
62 | 'default': undefined,
|
63 | describe: '[default true] Remove console.* statements'
|
64 | })
|
65 | .option('properties', {
|
66 | type: 'boolean',
|
67 | 'default': undefined,
|
68 | describe: '[default true] Fix/Optimize property names'
|
69 | })
|
70 | .option('join_vars', {
|
71 | alias: 'join-vars',
|
72 | type: 'boolean',
|
73 | 'default': undefined,
|
74 | describe: '[default true] Join consecutive variable declarations'
|
75 | })
|
76 | .option('booleans', {
|
77 | type: 'boolean',
|
78 | 'default': undefined,
|
79 | describe: '[default true] Optimize booleans'
|
80 | })
|
81 | .option('unsafe', {
|
82 | type: 'boolean',
|
83 | 'default': undefined,
|
84 | describe: '[default false] undefined to void, simplify comparison operators'
|
85 | })
|
86 | .option('keep_fnames', {
|
87 | alias: 'keep-fnames',
|
88 | type: 'boolean',
|
89 | 'default': undefined,
|
90 | describe: '[default true] preserve function names prevent mangling function names'
|
91 | })
|
92 |
|
93 | .option('npasses', {
|
94 | type: 'number',
|
95 | alias: 'p',
|
96 | 'default': 1,
|
97 | describe: 'Number of passes - [default 1]'
|
98 | })
|
99 | .option('babelrc', {
|
100 | type: 'boolean',
|
101 | 'default': undefined,
|
102 | describe: '[default false] '
|
103 | })
|
104 | .option('presets', {
|
105 | type: 'array',
|
106 | describe: '[default []] pass presets to babel transformation'
|
107 | })
|
108 | .option('plugins', {
|
109 | type: 'array',
|
110 | describe: '[default []] pass plugins to babel transformation'
|
111 | })
|
112 | .option('minify', {
|
113 | type: 'boolean',
|
114 | 'default': undefined,
|
115 | describe: '[default true]'
|
116 | })
|
117 |
|
118 | .demand(1)
|
119 | .argv
|
120 | }
|