-
Notifications
You must be signed in to change notification settings - Fork 77
/
gruntfile.js
98 lines (84 loc) · 2.48 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
"use strict";
module.exports = function( grunt ) {
grunt.initConfig({
pkg : grunt.file.readJSON( "package.json" ),
jshint: {
options: {
"node" : true,
"eqeqeq" : true,
"eqnull" : true,
"sub" : true,
"multistr" : true,
"-W004" : true,
"-W027" : true,
"-W116" : true,
"-W030" : true,
"-W093" : true
},
script: [ "gruntfile.js", "js/*.js" ]
},
watch: {
scripts: {
files: [ "js/*.js" ],
tasks: [ "jshint" ],
options: {
reload: true,
}
}
},
clean: {
publish: [ "dest-extension" ]
},
copy: {
publish: {
files: [{
expand: true,
src: [ "_locales/**", "assets/**", "!assets/**/*.woff", "vender/require.js", "manifest.json", "vender/waves/waves.min.css", "vender/notify/notify.min.css", "vender/balloon.min.css", "vender/carousel/carousel.css", "vender/intro/intro.min.css" ],
dest: "dest-extension"
}]
}
},
htmlmin: {
publish: {
options: {
removeComments: true,
collapseWhitespace: true
},
files: {
"dest-extension/main.html": "main.html"
}
}
},
requirejs: {
js: {
options: {
baseUrl : ".",
mainConfigFile : "./js/main.js",
name : "main",
include : [ "jquery", "mousetrap", "lodash", "progressbar", "background", "date", "controlbar", "setting", "i18n", "progress" ],
out : "./dest-extension/js/main.js",
keepBuildDir : true,
optimize : "uglify2",
uglify2 : {
compress : {
drop_console : true
}
}
}
},
css: {
options: {
baseUrl : ".",
optimizeCss : "standard",
cssIn : "./assets/css/main.css",
out : "./dest-extension/assets/css/main.css"
}
}
}
});
/* load npm tasks
use matchdep each grunt-* with grunt.loadNpmTasks method */
require( "matchdep" ).filterDev( "grunt-*" ).forEach( grunt.loadNpmTasks );
grunt.registerTask( "dev", [ "watch" ]);
grunt.registerTask( "publish", [ "clean", "copy", "htmlmin", "requirejs" ]);
};