diff options
-rw-r--r-- | .gitlab-ci.yml | 4 | ||||
-rw-r--r-- | changelogs/unreleased/cover-my-karma.yml | 4 | ||||
-rw-r--r-- | config/karma.config.js | 7 | ||||
-rw-r--r-- | config/webpack.config.js | 1 | ||||
-rw-r--r-- | package.json | 10 |
5 files changed, 24 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 733710bb005..8d6383dfdb9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -252,7 +252,7 @@ karma: name: coverage-javascript expire_in: 31d paths: - - coverage-javascript/default/ + - coverage-javascript/ lint-doc: stage: test @@ -395,7 +395,7 @@ pages: - mv public/ .public/ - mkdir public/ - mv coverage/ public/coverage-ruby/ || true - - mv coverage-javascript/default/ public/coverage-javascript/ || true + - mv coverage-javascript/ public/coverage-javascript/ || true - mv eslint-report.html public/ || true artifacts: paths: diff --git a/changelogs/unreleased/cover-my-karma.yml b/changelogs/unreleased/cover-my-karma.yml new file mode 100644 index 00000000000..4a823dc5ca4 --- /dev/null +++ b/changelogs/unreleased/cover-my-karma.yml @@ -0,0 +1,4 @@ +--- +title: Reintroduce coverage report for JavaScript +merge_request: 9133 +author: winniehell diff --git a/config/karma.config.js b/config/karma.config.js index 44229e2ee88..a1fbeab1f46 100644 --- a/config/karma.config.js +++ b/config/karma.config.js @@ -15,6 +15,13 @@ module.exports = function(config) { preprocessors: { 'spec/javascripts/**/*.js?(.es6)': ['webpack', 'sourcemap'], }, + reporters: ['progress', 'coverage-istanbul'], + coverageIstanbulReporter: { + reports: ['html', 'text-summary'], + dir: 'coverage-javascript/', + subdir: '.', + fixWebpackSourcePaths: true + }, webpack: webpackConfig, webpackMiddleware: { stats: 'errors-only' }, }); diff --git a/config/webpack.config.js b/config/webpack.config.js index 00f448c1fbb..e800cc3fd84 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -54,6 +54,7 @@ var config = { exclude: /(node_modules|vendor\/assets)/, loader: 'babel-loader', options: { + plugins: ['istanbul'], presets: [ ["es2015", {"modules": false}], 'stage-2' diff --git a/package.json b/package.json index 24e11a4607f..dbdbeabfb67 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "webpack-dev-server": "^2.3.0" }, "devDependencies": { + "babel-plugin-istanbul": "^4.0.0", "eslint": "^3.10.1", "eslint-config-airbnb-base": "^10.0.1", "eslint-plugin-filenames": "^1.1.0", @@ -45,9 +46,18 @@ "jasmine-core": "^2.5.2", "jasmine-jquery": "^2.1.1", "karma": "^1.4.1", + "karma-coverage-istanbul-reporter": "^0.2.0", "karma-jasmine": "^1.1.0", "karma-phantomjs-launcher": "^1.0.2", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^2.0.2" + }, + "nyc": { + "exclude": [ + "spec/javascripts/test_bundle.js", + "spec/javascripts/**/*_spec.js", + "spec/javascripts/**/*_spec.js.es6", + "app/assets/javascripts/droplab/**/*" + ] } } |