summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwinniehell <git@winniehell.de>2017-02-10 19:29:03 +0100
committerwinniehell <git@winniehell.de>2017-02-11 21:55:02 +0100
commitb48d30e4d27d2482f5517fc58751953d32f0ded6 (patch)
tree84aabcc093717fc23a704bb15516512592b4ee30
parent8a1441fb025bf9f46d42017e069382a44ade28d0 (diff)
downloadgitlab-ce-b48d30e4d27d2482f5517fc58751953d32f0ded6.tar.gz
Reintroduce coverage report for JavaScript (!9133)
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--changelogs/unreleased/cover-my-karma.yml4
-rw-r--r--config/karma.config.js7
-rw-r--r--config/webpack.config.js1
-rw-r--r--package.json10
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/**/*"
+ ]
}
}