-
Notifications
You must be signed in to change notification settings - Fork 131
/
Copy pathGruntfile.js
72 lines (62 loc) · 1.6 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
var _ = require('underscore');
module.exports = function(grunt) {
'use strict';
var files = {
src: 'lib/**/*.js',
tests: 'test/**/*.js'
};
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
all: [
'Gruntfile.js',
files.src,
files.tests
],
options: {
esversion: 6,
moz: true
}
},
mochacov: {
test: {
src: [files.tests]
}, // Run with the spec testrunner
coverage: {
src: [files.tests],
options: {
coveralls: {
serviceName: 'travis-ci',
repoToken: process.env.COVERALLS_REPO_TOKEN
}
}
},
options: {
reporter: 'spec',
ignoreLeaks: false,
files: [files.tests]
}
},
watch: {
tests: {
files: _.toArray(files),
tasks: ['test']
}
}
});
// On watch events, configure jshint:all to run only on changed file
grunt.event.on('watch', function(action, filepath) {
grunt.config(['jshint', 'all'], filepath);
});
// Load third-party modules
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-mocha-cov');
// Tasks
// grunt.registerTask('travis', [ 'jshint', 'mochacov:test', 'mochacov:coverage' ]);
grunt.registerTask('travis', [ 'jshint:all', 'mochacov:test' ]);
grunt.registerTask('test', ['jshint:all', 'mochacov:test']);
// Default task (runs when running `grunt` without arguments)
grunt.registerTask('default', ['test']);
};