image: node:20 stages: - install - test - publish install: stage: install script: - rm -f ./.npmrc - yarn install --frozen-lockfile cache: paths: - node_modules artifacts: paths: - node_modules/ expire_in: 1 days when: always runStaticAnalysis: stage: test script: - rm -f ./.npmrc - yarn prettier:validate - yarn lint --max-warnings 0 - yarn audit runUnitTests: stage: test script: - rm -f ./.npmrc - yarn test --ci --coverage runTestBuild: stage: test script: - rm -f ./.npmrc - yarn build runPublish: stage: publish script: - yarn build - yarn publish only: - tags