default_language_version:
  # force all unspecified python hooks to run python3
  python: python3.8.0

repos:
  - repo: https://github.com/pre-commit/pre-commit
    rev: v1.20.0
    hooks:
      - id: validate_manifest
  - repo: https://github.com/detailyang/pre-commit-shell
    rev: 1.0.5
    hooks:
      - id: shell-lint
        exclude: (^provision/script/wait-for-it.sh$|^provision/git/hooks/prepare-commit-msg$)
        args:
          - --exclude=SC1072,SC1073,SC2068
  - repo: https://github.com/Lucas-C/pre-commit-hooks-safety
    rev: v1.1.0
    hooks:
      - id: python-safety-dependencies-check
  - repo: https://github.com/Lucas-C/pre-commit-hooks-bandit
    rev: v1.0.4
    hooks:
      - id: python-bandit-vulnerability-check
        args: []
        files: .py$
  - repo: https://github.com/Lucas-C/pre-commit-hooks-nodejs
    rev: v1.1.0
    hooks:
      - id: markdown-toc
  - repo: https://github.com/Lucas-C/pre-commit-hooks-markup
    rev: v1.0.0
    hooks:
      - id: rst-linter
        exclude: (docs/*|tests/*)
  - repo: https://github.com/pre-commit/mirrors-pylint
    rev: v2.4.4
    hooks:
      - id: pylint
        exclude: __pycache__|migrations|conf.py|_build|.tox|pootle/static|pootle/translations|pootle/locale|pootle/assets|templates
        args:
          - --rcfile=.pylintrc
          - --disable=no-name-in-module,import-error,ungrouped-imports
          - --ignore=settings_test, migrations
  - repo: https://github.com/ambv/black
    rev: 19.10b0
    hooks:
      - id: black
  - repo: https://gitlab.com/pycqa/flake8
    rev: 3.7.9
    hooks:
      - id: flake8
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v0.761
    hooks:
      - id: mypy
        args:
          - --ignore-missing-imports
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.4.0
    hooks:
      - id: detect-private-key
        files: ^(?!\.?git-crypt)
      - id: check-merge-conflict
      - id: trailing-whitespace
        files: ^tf|-|\.(py|tfvars|tf|tfenv|env|yml|yaml|pem|key|mock)$
      - id: end-of-file-fixer
        files: ^tf|-|\.(py|env|yml|yaml|pem|key|mock)$
      - id: check-added-large-files
        files: ^tf|-|\.(py|env|yml|yaml)$
      - id: check-case-conflict
      - id: check-xml
      - id: check-yaml
      - id: check-case-conflict
      - id: check-byte-order-marker
      - id: check-ast
      - id: debug-statements
      - id: check-docstring-first
      - id: detect-aws-credentials
      - id: requirements-txt-fixer
      - id: check-symlinks
      - id: name-tests-test
        args:
          - --django
      - id: file-contents-sorter
      - id: fix-encoding-pragma
      - id: sort-simple-yaml
      - id: mixed-line-ending
        fix: lr
      - id: check-executables-have-shebangs
  - repo: https://github.com/asottile/blacken-docs
    rev: v1.4.0
    hooks:
      - id: blacken-docs
        additional_dependencies:
          - black
  - repo: https://github.com/antonbabenko/pre-commit-terraform
    rev: v1.21.0
    hooks:
      - id: terraform_fmt
      - id: terraform_docs
  - repo: https://github.com/prettier/prettier
    rev: 1.19.1 # Use the sha or tag you want to point at
    hooks:
      - id: prettier