language: node_js
sudo: false
jobs:
  include:
    - node_js: 8
      env:
        - DOWNGRADE=true
        - EXTRA=false
    - node_js: 12
      env:
        - DOWNGRADE=false
        - EXTRA=false
    - node_js: 16
      env:
        - DOWNGRADE=false
        - EXTRA=true
before_install:
  - "[ $EXTRA = false ] || npm install -g karma-cli"
before_script:
  - "[ $EXTRA = false ] || npm install karma-sauce-launcher"
  - "[ $DOWNGRADE = false ] || npm install rollup@1"
script:
  - "[ $EXTRA = false ] || npm run lint"
  - npm run prepare-tests
  - "[ $EXTRA = false ] || npm run build-umd"
  - "[ $EXTRA = false ] || npm run build-esm"
  - "[ $EXTRA = false ] || npm run doc"
  - "[ $EXTRA = true ] || npm run test-node"
  - "[ $EXTRA = false ] || npm run coveralls"
  - "[ $EXTRA = false ] || npm run test-browser"
  - "[ $EXTRA = false ] || karma start karma.conf-sauce.js"
notifications:
  email: false
env:
  global:
  - NPM_CONFIG_PROGRESS="false"
  - secure: bDZSBQfqr21hCayjcZ20IxrV6+XGhxQPFIfwWqEKLrF93Gu8LLVjZRxXE/mE8I8N4Z5WtDNb4ZHrm/TTzmcPa5MuHgIxEdknQCncobH8oimwc83SHwEPk6okeNKl39VlCjvvnmoe/V/KpnknuYn3Rqghtl/Uv9KLpCwskwjTtcw=
  - secure: SRECgXuwcZTcD3GVxTS2bYNgRyye4vq6BLrV2PH9FyNenowsKQR2EwlC/dppc1Q8NWMgv79J/R96q9JOFh+mEH9L5dlBb2yhnGH8amVeM/ChAJHT/F8YktKM453uVpz5fR00QcCQDDUOx6Pvx374ID0OKNpWKAkQBWA9mPTsLnE=
