diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 164d0f9f2a2afc2f3f75ae728132e2c48f4480c0..132972569ace147b7eebdd7ba8e3ce423d7c1754 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,7 +5,7 @@ cache:
   paths:
     - .maven/
 stages:
-  - check
+  - lint
   - build
   - test
   - analyze
@@ -17,11 +17,20 @@ before_script:
   - export MAVEN_USER_HOME=`pwd`/.maven
 
 checkstyle:
-  stage: check
+  stage: lint
   script:
     - ./mvnw -ntp checkstyle:check -Dmaven.repo.local=$MAVEN_USER_HOME
   needs: []
 
+eslint:
+  stage: lint
+  script:
+    - npm install
+    # eslint exits 0 on warnings, this is a workaround to exit 1 when warnings are present.
+    - "! npm run lint | grep -qE '✖ [0-9]+ problem'"
+  allow_failure: true
+  needs: []
+
 maven-compile:
   stage: build
   script: