-
Notifications
You must be signed in to change notification settings - Fork 9
/
options.js
55 lines (48 loc) · 1.53 KB
/
options.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var _ = require('lodash')
$ = require('gulp-load-plugins')({});
var options = {};
module.exports = options;
module.exports.updateOptions = function(newOptions) {
var bundleDefaults,
baseBundleDefaults = {
taskPrefix: '',
src: 'app',
dist: 'dist',
clean: {}, // see defaults in ./tasks/clean.js - only included here for the skips below.
browserify: {}, // see defaults in ./tasks/build-app.js - only included here for the skips below.
styles: {}, // see defaults in ./tasks/build-styles.js - only included here for the skips below.
copy: {} // see defaults in ./tasks/copy-resources.js - only included here for the skips below.
};
// Properties used in the defaults below. 2nd merge is to perserve the options object reference.
_.merge(options, _.merge(baseBundleDefaults, options, newOptions));
bundleDefaults = {
clean: {
skip: false,
dist: options.dist
},
browserify: {
skip: false,
root: './' + options.src + '/app',
transforms: [],
out: 'app.js',
failOnError: false,
debug: $.util.env.type !== 'production',
dist: options.dist
},
styles: {
skip: false,
includes: [],
root: options.src + '/app.scss',
dist: options.dist
},
copy: {
skip: false,
src: options.src,
excludes: 'scss',
dist: options.dist
}
};
// 2nd merge is to perserve the options object reference.
_.merge(options, _.merge(bundleDefaults, options));
return options;
};