diff --git a/gulpfile.js b/gulpfile.js index 49ba8c4d9..bbec06caf 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,15 +2,25 @@ var gulp = require('gulp'), concat = require('gulp-concat'), eslint = require('gulp-eslint'), ngAnnotate = require('gulp-ng-annotate'), - KarmaServer = require('karma').Server, + karma = require('karma'), sourcemaps = require('gulp-sourcemaps'); gulp.task('karma', function(done){ - KarmaServer.start({ - configFile: __dirname + '/karma.conf.js', - singleRun: true - }, function() { - done(); + karma.config.parseConfig( + __dirname + '/karma.conf.js', + { singleRun: true }, + { promiseConfig: true, throwErrors: true } + ).then(function(karmaConfig) { + var server = new karma.Server(karmaConfig, function(exitCode) { + if (exitCode !== 0) { + done(new Error('Karma exited with code ' + exitCode)); + } else { + done(); + } + }); + server.start(); + }).catch(function(err) { + done(err); }); }); diff --git a/package.json b/package.json index 15c73dc7b..d5c1cd936 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "gulp-eslint": "^3.0.1", "gulp-ng-annotate": "^2.0.0", "gulp-sourcemaps": "^1.6.0", - "karma": "^4.4", + "karma": "^6.4", "karma-chai": "^0.1.0", "karma-coverage": "^1.1.2", "karma-firefox-launcher": "^1.3.0",