-
Notifications
You must be signed in to change notification settings - Fork 9
/
Gruntfile.js
105 lines (99 loc) · 2.11 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
99
100
101
102
103
104
105
/*global module */
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
jshint: {
src: [
"*.js",
"tests/*.js",
"api/*.js"
],
options: {
jshintrc: ".jshintrc"
}
},
intern: {
local: {
options: {
runType: "runner",
config: "tests/intern.local",
reporters: ["runner"]
}
},
remote: {
options: {
runType: "runner",
config: "tests/intern",
reporters: ["runner"]
}
}
}/*,
"jsdoc-amddcl": {
"dcolor": {
files: [
{
args: [
"-c",
"./node_modules/jsdoc-amddcl/conf.json"
],
src: [
".",
"api/.",
"./README.md",
"./package.json"
]
},
{
args: [
"-X",
"-c",
"./node_modules/jsdoc-amddcl/conf.json"
],
src: [
".",
"./README.md",
"./package.json"
],
dest: "./out/doclets.json"
}
]
}
}
*/
});
// Load plugins
grunt.loadNpmTasks("intern");
grunt.loadNpmTasks("grunt-contrib-jshint");
//grunt.loadNpmTasks("jsdoc-amddcl");
// Aliases
//grunt.registerTask("jsdoc", "jsdoc-amddcl");
// Testing.
// Always specify the target e.g. grunt test:remote, grunt test:remote
// then add on any other flags afterwards e.g. console, lcovhtml.
var testTaskDescription = "Run this task instead of the intern task directly! \n" +
"Always specify the test target e.g. \n" +
"grunt test:local\n" +
"grunt test:remote\n\n" +
"Add any optional reporters via a flag e.g. \n" +
"grunt test:local:console\n" +
"grunt test:local:lcovhtml\n" +
"grunt test:local:console:lcovhtml";
grunt.registerTask("test", testTaskDescription, function (target) {
function addReporter(reporter) {
var property = "intern." + target + ".options.reporters",
value = grunt.config.get(property);
if (value.indexOf(reporter) !== -1) {
return;
}
value.push(reporter);
grunt.config.set(property, value);
}
if (this.flags.lcovhtml) {
addReporter("lcovhtml");
}
if (this.flags.console) {
addReporter("console");
}
grunt.task.run("intern:" + target);
});
};