executor: node

parameters:
  cache-version:
    type: string
  run-yarn-check:
    type: boolean
    default: false
  run-translations-check:
    type: boolean
    default: false
  run-queries-check:
    type: boolean
    default: false

steps:
  - checkout
  - restore-cache:
      version: << parameters.cache-version >>
      cache-name: dependencies
  - when:
      condition: << parameters.run-yarn-check >>
      steps:
        - npm-authenticate
        - run:
            name: Yarn check
            command: yarn check
  - run:
      name: Check package.json
      command: node scripts/check-packagejson.js
  - when:
      condition: << parameters.run-translations-check >>
      steps:
        - run:
            name: Run aggregate-translations
            command: yarn aggregate-translations
  - when:
      condition: << parameters.run-queries-check >>
      steps:
        - run:
            name: Run generate-dts-queries
            command: yarn generate-dts-queries
  - check-untracked-changes:
      path: ./src
