gruntFile.js
function(configFile, customOptions) {
    var options = { configFile: configFile, singleRun: true };
    var travisOptions = process.env.TRAVIS && {
      browsers: ['Chrome', 'Firefox'],
      reporters: ['dots', 'coverage', 'coveralls'],
      preprocessors: { 'src/*.js': ['coverage'] },
      coverageReporter: {
        reporters: [{
          type: 'text'
        }, {
          type: 'lcov',
          dir: 'coverage/'
        }]
      },
    };
    return grunt.util._.extend(options, customOptions, travisOptions);
  }
function(configFile, customOptions) {
    var options = { configFile: configFile, singleRun: true };
    var travisOptions = process.env.TRAVIS && {
      browsers: ['Chrome', 'Firefox'],
      reporters: ['dots', 'coverage', 'coveralls'],
      preprocessors: { 'src/*.js': ['coverage'] },
      coverageReporter: {
        reporters: [{
          type: 'text'
        }, {
          type: 'lcov',
          dir: 'coverage/'
        }]
      },
    };
    return grunt.util._.extend(options, customOptions, travisOptions);
  }
function ( configFile , customOptions ) { var options = { configFile : configFile , singleRun : true } ; var travisOptions = process . env . TRAVIS && { browsers : [ 'Chrome' , 'Firefox' ] , reporters : [ 'dots' , 'coverage' , 'coveralls' ] , preprocessors : { 'src/*.js' : [ 'coverage' ] } , coverageReporter : { reporters : [ { type : 'text' } , { type : 'lcov' , dir : 'coverage/' } ] } , } ; return grunt . util . _ . extend ( options , customOptions , travisOptions ) ; }
HACK TO MAKE TRAVIS WORK
HACK TO MAKE TRAVIS WORK