103 lines
2.0 KiB
JavaScript
103 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = function(grunt) {
|
|
require('time-grunt')(grunt);
|
|
require('load-grunt-tasks')(grunt);
|
|
|
|
grunt.initConfig({
|
|
clean: {
|
|
coverage: {
|
|
src: 'coverage'
|
|
},
|
|
test: {
|
|
src: 'test/tmp'
|
|
},
|
|
benchmark: {
|
|
src: 'benchmark/result.csv'
|
|
}
|
|
},
|
|
copy: {
|
|
coverage: {
|
|
expand: true,
|
|
src: ['test/**'],
|
|
dest: 'coverage/'
|
|
}
|
|
},
|
|
blanket: {
|
|
coverage: {
|
|
src: ['lib'],
|
|
dest: 'coverage/lib'
|
|
}
|
|
},
|
|
mochaTest: {
|
|
preprocess: {
|
|
options: {
|
|
reporter: 'spec'
|
|
},
|
|
src: ['test/**/*.spec.js']
|
|
}
|
|
},
|
|
mocha_istanbul: {
|
|
options: {
|
|
mask: '*.spec.js',
|
|
root: './lib',
|
|
check: {
|
|
lines: 95,
|
|
statements: 95
|
|
}
|
|
},
|
|
coverage: {
|
|
src: 'test',
|
|
options: {
|
|
reportFormats: ['lcov'] // html + lcov
|
|
}
|
|
}
|
|
},
|
|
coveralls: {
|
|
options: {
|
|
force: true
|
|
},
|
|
all: {
|
|
src: 'coverage/lcov.info'
|
|
}
|
|
},
|
|
jshint: {
|
|
options: {
|
|
jshintrc : '.jshintrc'
|
|
},
|
|
lib : ['lib/**/*.js'],
|
|
test : ['test/**/*.spec.js'],
|
|
benchmark: ['benchmark/**/*.js']
|
|
},
|
|
watch: {
|
|
src: {
|
|
options: {
|
|
atBegin: true
|
|
},
|
|
files: [
|
|
'lib/**/*.js',
|
|
'test/**/*',
|
|
'!test/tmp/**/*'
|
|
],
|
|
tasks: ['test', 'coverage']
|
|
}
|
|
},
|
|
benchmark: {
|
|
options: {
|
|
displayResults: true
|
|
},
|
|
|
|
'mochaTest-preprocess': {
|
|
src: ['benchmark/gruntMochaTestPreprocess.js'],
|
|
dest: 'benchmark/result.csv'
|
|
}
|
|
}
|
|
});
|
|
|
|
grunt.registerTask('coverage', ['clean:coverage', 'mocha_istanbul:coverage']);
|
|
grunt.registerTask('test', ['jshint', 'mochaTest:preprocess']);
|
|
grunt.registerTask('dev', ['deps-ok', 'watch']);
|
|
grunt.registerTask('default', ['test', 'coverage']);
|
|
grunt.registerTask('ci', ['default', 'coveralls']);
|
|
};
|