diff --git a/.gitignore b/.gitignore
index 6a1002621f4800fc5eb9acefe2c50b75bc77d521..0b602d613c7fb7dc4afff64e2c3c7d79a17c125b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 .chef
 .directory
 /.envrc
+eslint-report.html
 /.gitlab_shell_secret
 .idea
 /.rbenv-version
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ab45ea57aed5919f781947b17ce8809ed2d26cdc..2b65bc4182b55808e528d3d53eefe70cc4efb2e4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -349,7 +349,7 @@ coverage:
     - coverage/index.html
     - coverage/assets/
 
-lint-javascript:
+lint:javascript:
   cache:
     paths:
       - node_modules/
@@ -358,7 +358,24 @@ lint-javascript:
   before_script:
     - npm install
   script:
-    - npm run eslint
+    - npm --silent run eslint
+
+lint:javascript:report:
+  cache:
+    paths:
+      - node_modules/
+  stage: post-test
+  image: "node:7.1"
+  before_script:
+    - npm install
+  script:
+    - find app/ spec/ -name '*.js' -or -name '*.js.es6' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files
+    - npm --silent run eslint-report || true # ignore exit code
+  artifacts:
+    name: eslint-report
+    expire_in: 31d
+    paths:
+    - eslint-report.html
 
 # Trigger docs build
 # https://gitlab.com/gitlab-com/doc-gitlab-com/blob/master/README.md#deployment-process
@@ -398,11 +415,13 @@ pages:
   dependencies:
     - coverage
     - teaspoon
+    - lint:javascript:report
   script:
     - mv public/ .public/
     - mkdir public/
     - mv coverage public/coverage-ruby
     - mv coverage-javascript/default/ public/coverage-javascript/
+    - mv eslint-report.html public/
   artifacts:
     paths:
       - public
diff --git a/package.json b/package.json
index 2a9fb808eef5f9e10c1a34ed7776ac316de8190e..93e23d63c36e9cf873a34921a98a278a72c8e17e 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,8 @@
   "private": true,
   "scripts": {
     "eslint": "eslint --ext .js,.js.es6 .",
-    "eslint-fix": "eslint --fix --ext .js,.js.es6 ."
+    "eslint-fix": "npm run eslint -- --fix",
+    "eslint-report": "npm run eslint -- --format html --output-file ./eslint-report.html"
   },
   "devDependencies": {
     "eslint": "^3.1.1",