language: node_js
node_js:
  - "12"
  - "10"
  - "8"
  - "6"
before_install:
  - 'nvm install-latest-npm'
services:
  - xvfb
before_script:
  - 'if [ -n "${KARMA-}" ]; then export DISPLAY=:99.0; fi'
script:
  - 'if [ -n "${LINT-}" ]; then npm run lint ; fi'
  - 'if [ -n "${BUILD-}" ]; then npm run build ; fi'
  - 'if [ "${TEST-}" = true ]; then npm run tests-only ; fi'
  - 'if [ -n "${KARMA-}" ]; then npm run tests-karma ; fi'
  - 'if [ -n "${COVERAGE-}" ] && [ "${TRAVIS_BRANCH-}" = "master" ]; then npm run cover; cat ./coverage/lcov.info | ./node_modules/.bin/coveralls ; fi'
install:
  - 'if [ -n "${LINT-}" ]; then npm install --legacy-bundling ; else npm install ; fi'
env:
  global:
    - TEST=true
  matrix:
    - REACT=0.14
    - REACT=15
    - REACT=16
sudo: false
matrix:
  fast_finish: true
  include:
    - node_js: "lts/*"
      env: LINT=true TEST=false
    - node_js: "lts/*"
      env: BUILD=true TEST=false
    - node_js: "lts/*"
      env: COVERAGE=true TEST=false
    - node_js: "lts/*"
      env: KARMA=true TEST=false
  allow_failures:
    - node_js: "10"
      env: REACT=16
