-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathoutputOptions.js
33 lines (27 loc) · 988 Bytes
/
outputOptions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// copied from https://github.com/webpack/webpack/blob/master/bin/webpack.js
const gutil = require('gulp-util');
const statsPresetToOptions = require('webpack/lib/Stats.js').presetToOptions;
module.exports = function processOptions(outputOptions){
/* eslint-disable no-param-reassign */
if(typeof outputOptions === 'boolean' || typeof outputOptions === 'string'){
outputOptions = statsPresetToOptions(outputOptions);
}else if(!outputOptions){
outputOptions = {};
}
outputOptions = Object.create(outputOptions);
if(typeof outputOptions.colors === 'undefined'){
outputOptions.colors = gutil.colors.supportsColor;
}
if(!outputOptions.json){
if(typeof outputOptions.cached === 'undefined'){
outputOptions.cached = false;
}
if(typeof outputOptions.cachedAssets === 'undefined'){
outputOptions.cachedAssets = false;
}
if(!outputOptions.exclude){
outputOptions.exclude = ['node_modules', 'bower_components', 'components'];
}
}
return outputOptions;
};