64 lines
1.4 KiB
JavaScript
64 lines
1.4 KiB
JavaScript
module.exports = function(grunt) {
|
|
'use strict';
|
|
|
|
var tests = 'tests/**/*_test.js';
|
|
var src = 'lib/**/*.js';
|
|
var reportDir = 'coverage';
|
|
|
|
// Project configuration
|
|
grunt.initConfig({
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
clean: [ 'build' ],
|
|
jsdoc: {
|
|
dist: {
|
|
src: ['lib/*.js', 'README.md'],
|
|
options: {
|
|
template: 'node_modules/grunt-jsdoc/node_modules/ink-docstrap/template',
|
|
configure: 'node_modules/grunt-jsdoc/node_modules/ink-docstrap/template/jsdoc.conf.json',
|
|
destination: 'docs'
|
|
}
|
|
}
|
|
},
|
|
nodeunit: {
|
|
all: [tests],
|
|
options: {
|
|
reporter: 'verbose'
|
|
}
|
|
},
|
|
watch: {
|
|
files: [src, tests],
|
|
tasks: 'default'
|
|
},
|
|
instrument: {
|
|
files: src,
|
|
options: {
|
|
lazy: true,
|
|
basePath : 'build/instrument/'
|
|
}
|
|
},
|
|
storeCoverage : {
|
|
options : {
|
|
dir: reportDir
|
|
}
|
|
},
|
|
makeReport: {
|
|
src: 'build/reports/**/*.json',
|
|
options: {
|
|
type: ['lcov', 'html'],
|
|
dir: reportDir,
|
|
print: 'detail'
|
|
}
|
|
}
|
|
});
|
|
|
|
grunt.loadNpmTasks('grunt-jsdoc');
|
|
grunt.loadNpmTasks('grunt-contrib-clean');
|
|
grunt.loadNpmTasks('grunt-contrib-nodeunit');
|
|
grunt.loadNpmTasks('grunt-istanbul');
|
|
|
|
|
|
grunt.registerTask('default', ['nodeunit','jsdoc']);
|
|
grunt.registerTask('tests', 'nodeunit');
|
|
grunt.registerTask('docs', 'jsdoc');
|
|
grunt.registerTask('cover', ['clean', 'instrument', 'tests', 'storeCoverage', 'makeReport']);
|
|
}; |