forked from gustavohenke/bselect
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathGruntfile.js
94 lines (91 loc) · 2.72 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
module.exports = function( grunt ) {
"use strict";
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
watch: {
less: {
files: "src/*.less",
tasks: "less"
}
},
clean: {
pre: [ "dist" ],
post: [ "dist/*.less", "dist/*.js", "dist/*.css" ]
},
uglify: {
dist: {
files: {
"dist/js/<%= pkg.name %>.min.js": [ "src/bselect.js" ]
}
}
},
less: {
development: {
options: {
strictImports: true
},
files: {
"dist/css/<%= pkg.name %>.css": "src/bselect.less"
}
},
production: {
options: {
strictImports: true,
yuicompress: true
},
files: {
"dist/css/<%= pkg.name %>.min.css": "src/bselect.less"
}
}
},
qunit: {
files: [ "tests/index.html" ]
},
jshint: {
files: [ "Gruntfile.js", "src/**/*.js" ],
options: {
jshintrc: ".jshintrc"
}
},
jscs: {
all: [ "Gruntfile.js", "test/spec/*.js", "build/*.js" ]
},
copy: {
dist: {
src: [
"README.md",
"*.json",
"src/i18n/*.js",
"src/bselect.js",
"src/*.less",
"dist/css/*.css"
],
renames: {
"dist/bselect.less": "less/bselect.less",
"dist/mixins.less": "less/mixins.less",
"dist/variables.less": "less/variables.less",
"dist/bselect.js": "js/bselect.js"
},
strip: /^src|dist/,
dest: "dist"
}
}
});
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-jshint");
grunt.loadNpmTasks("grunt-contrib-qunit");
grunt.loadNpmTasks("grunt-contrib-less");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-jscs-checker");
grunt.loadTasks("build");
grunt.registerTask( "test", [ "jshint", "jscs", "qunit" ] );
grunt.registerTask( "default", [
"clean:pre",
"test",
"uglify",
"less",
"copy",
"clean:post"
]);
};