This repository was archived by the owner on Nov 27, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathGruntfile.js
More file actions
70 lines (57 loc) · 1.47 KB
/
Gruntfile.js
File metadata and controls
70 lines (57 loc) · 1.47 KB
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
"use strict";
module.exports = function (grunt) {
var _ = grunt.util._;
var sourceFiles = [ "*.js", "lib/**/*.js", "bin/**" ];
var testFiles = [ "test/**/*.js" ];
var allFiles = sourceFiles.concat(testFiles);
var defaultJsHintOptions = grunt.file.readJSON("./.jshint.json");
var testJsHintOptions = _.defaults(
grunt.file.readJSON("./test/.jshint.json"),
defaultJsHintOptions
);
grunt.initConfig({
jscs : {
src : allFiles,
options : {
config : ".jscsrc"
}
},
jshint : {
src : sourceFiles,
options : defaultJsHintOptions,
test : {
options : testJsHintOptions,
files : {
test : testFiles
}
}
},
mochaIstanbul : {
coverage : {
src : "test",
options : {
check : {
statements : 100,
branches : 100,
lines : 100,
functions : 100
},
recursive : true
}
}
},
clean : [ "coverage" ]
});
// Load plugins
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-jshint");
grunt.loadNpmTasks("grunt-jscs");
grunt.loadNpmTasks("grunt-mocha-istanbul");
// Rename tasks
grunt.task.renameTask("mocha_istanbul", "mochaIstanbul");
// Register tasks
grunt.registerTask("test", [ "mochaIstanbul:coverage" ]);
grunt.registerTask("lint", "Check for common code problems.", [ "jshint" ]);
grunt.registerTask("style", "Check for style conformity.", [ "jscs" ]);
grunt.registerTask("default", [ "clean", "lint", "style", "test" ]);
};