|
| 1 | + |
1 | 2 | var _ = require('underscore'); |
2 | 3 |
|
3 | 4 | module.exports = function(grunt) { |
4 | 5 | 'use strict'; |
5 | 6 |
|
6 | 7 | var files = { |
7 | | - src: 'lib/**/*.js' |
| 8 | + src: 'lib/**/*.js', |
| 9 | + tests: 'test/**/*.js' |
8 | 10 | }; |
9 | 11 |
|
10 | 12 | // Project configuration. |
11 | 13 | grunt.initConfig({ |
12 | | - pkg: grunt.file.readJSON('package.json') |
| 14 | + pkg: grunt.file.readJSON('package.json'), |
| 15 | + |
| 16 | + jshint: { |
| 17 | + all: [ |
| 18 | + 'Gruntfile.js', |
| 19 | + files.src, |
| 20 | + files.tests |
| 21 | + ] |
| 22 | + }, |
| 23 | + mochacov: { |
| 24 | + test: { |
| 25 | + src: [files.tests] |
| 26 | + }, // Run with the spec testrunner |
| 27 | + coverage: { |
| 28 | + src: [files.tests], |
| 29 | + options: { |
| 30 | + coveralls: { |
| 31 | + serviceName: 'travis-ci', |
| 32 | + repoToken: process.env.COVERALLS_REPO_TOKEN |
| 33 | + } |
| 34 | + } |
| 35 | + }, |
| 36 | + options: { |
| 37 | + reporter: 'spec', |
| 38 | + ignoreLeaks: false, |
| 39 | + files: [files.tests] |
| 40 | + } |
| 41 | + }, |
| 42 | + watch: { |
| 43 | + tests: { |
| 44 | + files: _.toArray(files), |
| 45 | + tasks: ['test'] |
| 46 | + } |
| 47 | + } |
13 | 48 | }); |
14 | 49 |
|
15 | 50 | // On watch events, configure jshint:all to run only on changed file |
16 | 51 | grunt.event.on('watch', function(action, filepath) { |
17 | 52 | grunt.config(['jshint', 'all'], filepath); |
18 | 53 | }); |
19 | 54 |
|
| 55 | + // Load third-party modules |
| 56 | + grunt.loadNpmTasks('grunt-contrib-jshint'); |
| 57 | + grunt.loadNpmTasks('grunt-contrib-watch'); |
| 58 | + grunt.loadNpmTasks('grunt-mocha-cov'); |
| 59 | + |
| 60 | + // Tasks |
| 61 | + // grunt.registerTask('travis', [ 'jshint', 'mochacov:test', 'mochacov:coverage' ]); |
| 62 | + grunt.registerTask('travis', [ 'mochacov:test' ]); |
| 63 | + grunt.registerTask('test', ['jshint:all', 'mochacov:test']); |
| 64 | + |
| 65 | + // Default task (runs when running `grunt` without arguments) |
| 66 | + grunt.registerTask('default', ['test']); |
20 | 67 | }; |
0 commit comments