diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 436e9ec6c60248398b7c14d7a4843d81f9f421dc..de8dccc134da24b350adccf11afb5fa2122e482f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -271,12 +271,17 @@ rake db:seed_fu:
       - log/development.log
 
 teaspoon:
+  cache:
+    paths:
+      - vendor/ruby
+      - node_modules/
   stage: test
   <<: *use-db
   script:
     - curl --silent --location https://deb.nodesource.com/setup_6.x | bash -
     - apt-get install --assume-yes nodejs
-    - npm install --global istanbul
+    - npm install
+    - npm link istanbul
     - rake teaspoon
   artifacts:
     name: coverage-javascript
@@ -346,8 +351,11 @@ coverage:
     - coverage/assets/
 
 lint-javascript:
+  cache:
+    paths:
+      - node_modules/
   stage: test
-  image: "node:latest"
+  image: "node:7.1"
   before_script:
     - npm install
   script:
diff --git a/package.json b/package.json
index e75e070451b4f31b8efde868712081d73626f94a..2a9fb808eef5f9e10c1a34ed7776ac316de8190e 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
     "eslint-plugin-import": "^2.0.1",
     "eslint-plugin-jasmine": "^1.8.1",
     "eslint-plugin-jsx-a11y": "^2.2.3",
-    "eslint-plugin-react": "^6.4.1"
+    "eslint-plugin-react": "^6.4.1",
+    "istanbul": "^0.4.5"
   }
 }