-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathGruntfile.js
70 lines (61 loc) · 1.87 KB
/
Gruntfile.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
module.exports = function (grunt) {
var watchOptions = {
watch: true,
debug: true
};
require('load-grunt-tasks')(grunt)
grunt.registerTask('default', 'concurrent:watch');
grunt.registerTask('build-watch', 'concurrent:watch');
grunt.registerTask('build', ['browserify:releasePanel', 'browserify:releaseDevtools', 'browserify:releaseBackground']);
grunt.initConfig({
concurrent: {
watch: {
tasks: [
'browserify:watchPanel',
'browserify:watchServer',
'browserify:watchDevtools',
'browserify:watchBackground'
],
options: {
logConcurrentOutput: true
}
}
},
browserify: {
releasePanel: panelOptions(),
releaseServer: serverOptions(),
releaseDevtools: devtoolsOptions(),
releaseBackground: backgroundOptions(),
watchPanel: panelOptions(watchOptions),
watchServer: serverOptions(watchOptions),
watchDevtools: devtoolsOptions(watchOptions),
watchBackground: backgroundOptions(watchOptions),
}
});
function serverOptions(options) {
return browserifyOptions('./app/server/client/index.js', './dist/server.js', options);
}
function panelOptions(options) {
return browserifyOptions('./app/panel/index.js', './dist/panel.js', options);
}
function backgroundOptions(options) {
return browserifyOptions('./app/background/index.js', './dist/background.js', options);
}
function devtoolsOptions(options) {
return browserifyOptions('./app/devtools/index.js', './dist/devtools.js', options);
}
function browserifyOptions(input, output, options) {
options || (options = {});
return {
src: [input],
dest: output,
options: {
watch: !!options.watch,
keepAlive: !!options.watch,
browserifyOptions: {
debug: !!options.debug
}
}
};
}
};