diff options
Diffstat (limited to 'config/karma.config.js')
-rw-r--r-- | config/karma.config.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/config/karma.config.js b/config/karma.config.js index 44229e2ee88..2f3cc932413 100644 --- a/config/karma.config.js +++ b/config/karma.config.js @@ -2,8 +2,20 @@ var path = require('path'); var webpackConfig = require('./webpack.config.js'); var ROOT_PATH = path.resolve(__dirname, '..'); +// add coverage instrumentation to babel config +if (webpackConfig && webpackConfig.module && webpackConfig.module.rules) { + var babelConfig = webpackConfig.module.rules.find(function (rule) { + return rule.loader === 'babel-loader'; + }); + + babelConfig.options = babelConfig.options || {}; + babelConfig.options.plugins = babelConfig.options.plugins || []; + babelConfig.options.plugins.push('istanbul'); +} + // Karma configuration module.exports = function(config) { + var progressReporter = process.env.CI ? 'mocha' : 'progress'; config.set({ basePath: ROOT_PATH, browsers: ['PhantomJS'], @@ -15,6 +27,13 @@ module.exports = function(config) { preprocessors: { 'spec/javascripts/**/*.js?(.es6)': ['webpack', 'sourcemap'], }, + reporters: [progressReporter, 'coverage-istanbul'], + coverageIstanbulReporter: { + reports: ['html', 'text-summary'], + dir: 'coverage-javascript/', + subdir: '.', + fixWebpackSourcePaths: true + }, webpack: webpackConfig, webpackMiddleware: { stats: 'errors-only' }, }); |