fail_fast: true
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.3.0
    # multiple hooks:
    hooks:
      - id: check-ast
      - id: check-yaml
      - id: end-of-file-fixer
        exclude: ^notebooks
      - id: trailing-whitespace
  - repo: https://github.com/psf/black
    rev: 19.3b0
    hooks:
      - id: black
        language: python
        additional_dependencies:
          - "request==1.1.1"
          - "" # broken pypi package
  - repo: https://gitlab.com/psf/black
    # should also detect gitlab
    rev: 19.3b0
    hooks:
      - id: black
        # missing language, not extracted
        additional_dependencies:
          - "urllib==24.9.0"
  - repo: http://gitlab.com/psf/black
    # should also detect http
    rev: 19.3b0
    hooks:
      - id: black
  - repo: https://gitlab.mycompany.com/my/dep
    # should also detect custom gitlab registry
    rev: v42.0
    hooks:
      - id: custom-hook
  - repo: https://gitlab.mycompany.com/my/dep
    # should also detect http for custom gitlab registry
    rev: v42.0
    hooks:
      - id: custom-hook
  - repo: https://github.com/prettier/pre-commit
    # should accept different order of keys
    hooks:
      - id: prettier
        exclude: ^notebooks
    rev: v2.1.2
  - repo: git@github.com:prettier/pre-commit
    # should allow ssh urls
    hooks:
      - id: prettier
        exclude: ^notebooks
    rev: v2.1.2
  - repo: ssh://git@github.com/pre-commit/pre-commit-hooks
    # should allow explicit ssh protocol
    hooks:
    - id: check-merge-conflict
    rev: v5.0.0
  - repo: some_invalid_url
    # case with invlalid url.
    rev: v1.0.0
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v3.1.0
    hooks:
      - id: prettier
        language: node
        additional_dependencies:
          - '@trivago/prettier-plugin-sort-imports@^5.2.2'
          - prettier@^3.6.2
          - '' # invalid npm package

  # pre-commit meta hooks
  - repo: meta
    hooks: []
