repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: 'v4.4.0'
    hooks:
      - id: check-yaml
        args:
          - --allow-multiple-documents
      - id: check-merge-conflict
      - id: check-executables-have-shebangs
      - id: check-shebang-scripts-are-executable
      - id: check-symlinks
      - id: check-vcs-permalinks
        exclude: ^dist/
      - id: trailing-whitespace
        exclude: ^dist/
      - id: end-of-file-fixer
        exclude: ^dist/

  - repo: https://github.com/Jarmos-san/shellcheck-precommit
    rev: 'v0.2.0'
    hooks:
      - id: shellcheck-system
        name: shellcheck

  - repo: local
    hooks:
      # this is effectively running `yarn run all` but individually so we can identify which step failed
      - id: prettier
        name: prettier
        entry: yarn run prettier:check
        pass_filenames: false
        types:
          - ts
        language: system
        exclude: ^dist/
      - id: eslint
        name: eslint
        entry: yarn run lint
        pass_filenames: false
        language: system
        types:
          - ts
        exclude: ^dist/
      - id: build-dist
        name: build dist package
        entry: yarn run package
        pass_filenames: false
        types:
          - ts
        language: system

  - repo: https://github.com/specklesystems/pre-commit
    rev: '0.2.0'
    hooks:
      - id: ggshield-not-ci
        name: ggshield
