-
Notifications
You must be signed in to change notification settings - Fork 147
/
gruntfile.js
69 lines (63 loc) · 1.68 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
module.exports = function (grunt) {
const globs = [
"gruntfile.js",
"packages/firmata-io/lib/*.js",
"packages/firmata.js/lib/*.js",
"packages/firmata.js/test/*.js",
"test/*.js",
"examples/*.js"
];
grunt.initConfig({
mochaTest: {
files: [
"packages/firmata.js/test/common/bootstrap.js",
"packages/firmata.js/test/unit/*.js",
"test/unit/*.js",
],
},
eslint: {
target: globs,
options: {
configFile: ".eslint.json"
}
},
jsbeautifier: {
files: globs,
options: {
js: {
braceStyle: "collapse",
breakChainedMethods: false,
e4x: false,
evalCode: false,
indentChar: " ",
indentLevel: 0,
indentSize: 2,
indentWithTabs: false,
jslintHappy: false,
keepArrayIndentation: false,
keepFunctionIndentation: false,
maxPreserveNewlines: 10,
preserveNewlines: true,
spaceBeforeConditional: true,
spaceInParen: false,
unescapeStrings: false,
wrapLineLength: 0
}
}
},
});
grunt.registerTask("test", ["mochaTest"]);
grunt.registerTask("default", ["eslint", "mochaTest"]);
grunt.loadNpmTasks("grunt-eslint");
grunt.loadNpmTasks("grunt-mocha-test");
grunt.loadNpmTasks("grunt-jsbeautifier");
grunt.registerTask("test:file", "Run a single test specified by a target; usage: grunt test:file:<module-name>[.js]", function(file) {
if (file) {
grunt.config("mochaTest.files", [
"test/common/bootstrap.js",
`test/unit/${file}.js`
]);
}
grunt.task.run("mochaTest");
});
};