UNPKG

3.1 kBJavaScriptView Raw
1export 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}