cache:
  key: "$CI_JOB_NAME"
  untracked: true
  paths:
    - node_modules/

before_script:
  - npm install

.test_template: &npm_test
  script:
    - npm run lint
    - npm test

test:node18:
  image: node:18
  <<: *npm_test

test:node20:
  image: node:20
  <<: *npm_test

test:node22:
  image: node:22
  <<: *npm_test
