module.exports = function (grunt) { grunt.loadNpmTasks('grunt-testacular'); grunt.loadNpmTasks('grunt-contrib-jshint'); // Default task. grunt.registerTask('default', ['jshint', 'testacular']); var testacularConfig = function(configFile, customOptions) { var options = { configFile: configFile, keepalive: true }; var travisOptions = process.env.TRAVIS && { browsers: ['Firefox'], reporters: 'dots' }; return grunt.util._.extend(options, customOptions, travisOptions); }; // Project configuration. grunt.initConfig({ testacular: { unit: { options: testacularConfig('test/test.conf.js') } }, jshint:{ files:['src/**/*.js', 'test/**/*.js', 'demo/**/*.js'], options:{ curly:true, eqeqeq:true, immed:true, latedef:true, newcap:true, noarg:true, sub:true, boss:true, eqnull:true, globals:{} } } }); };