UNPKG

1.08 kBJavaScriptView Raw
1var _keys = require("lodash/keys");
2var _some = require("lodash/some");
3var _merge = require("lodash/merge");
4
5module.exports = function(options) {
6 var result = {};
7
8 var outputs = {
9 cjs: { "+cjs": {} },
10 amd: { "+amd": {} },
11 global: {
12 "+global-css": {},
13 "+global-js": {
14 exports: { "jquery": "jQuery" }
15 }
16 },
17 standalone: { "+standalone": {} }
18 };
19
20 var outputOptions = [ "dest" ];
21
22 var hasSetOptions = _some(_keys(outputs), function(out) {
23 return options[out];
24 });
25
26 // determines if the output is included in "all"
27 var outputAll = function(hasSetOptions, options, out){
28 return (!hasSetOptions || options.all) && out !== "standalone";
29 };
30
31 _keys(outputs).forEach(function(out) {
32 if (outputAll(hasSetOptions, options, out) || options[out]) {
33 _merge(result, outputs[out]);
34 }
35 });
36
37 // Set the options on the outputs, like `dest`
38 outputOptions.forEach(function(opt){
39 if(options[opt]) {
40 _keys(result).forEach(function(key){
41 var out = result[key];
42
43 // Set the value
44 out[opt] = options[opt];
45 });
46 }
47 });
48
49 return result;
50};