UNPKG

1.04 kBJavaScriptView Raw
1var clone = require("lodash/clone");
2var omitBy = require("lodash/omitBy");
3var compact = require("lodash/compact");
4var includes = require("lodash/includes");
5var defaults = require("lodash/defaults");
6var commandOptions = require("./options");
7
8/**
9 * Convert the arv into a BuildOptions object
10 * @param {Object} argv Command arguments provided by yargs
11 * @return {BuildOptions} The build options object
12 */
13module.exports = function(argv) {
14 var options = clone(argv);
15
16 if (options.noMinify) {
17 options.minify = false;
18 }
19
20 if (options.verbose) {
21 options.quiet = false;
22 }
23
24 if(options.noTreeShaking) {
25 options.treeShaking = false;
26 }
27
28 if (options.noEnvify) {
29 options.envify = false;
30 }
31
32 defaults(options, {
33 envify: true,
34 minify: options.watch ? false : true,
35 quiet: options.watch ? true : false
36 });
37
38 var aliases = compact(Object.keys(commandOptions).map(function(o) {
39 return commandOptions[o].alias;
40 }));
41
42 return omitBy(options, function(value, key) {
43 return includes(aliases, key) || includes(key, "-");
44 });
45};