variables:
  - &install_pnpm "corepack enable pnpm"

steps:
  install:
    image: node:alpine
    commands:
      - *install_pnpm
      - pnpm i
    when:
      - event: pull_request

  lint:
    image: node:alpine
    commands:
      - *install_pnpm
      - pnpm lint
    when:
      - event: pull_request

  npm_publish:
    image: node:alpine
    environment:
      NPM_TOKEN:
        from_secret: npm_token
    commands:
      - *install_pnpm
      - pnpm i
      - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc
      - echo "email = tyhou13@gmx.com" >> ~/.npmrc
      - npm publish
    when:
      - event: tag