repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: check-case-conflict
      - id: check-merge-conflict
      - id: check-yaml
      - id: end-of-file-fixer
      - id: file-contents-sorter
        args: ["--ignore-case", "--unique"]
        files: ^(\.gitignore|\.dockerignore|requirements[-\w]*.txt)$
      - id: mixed-line-ending
        args: ["--fix=lf"]
      - id: pretty-format-json
      - id: trailing-whitespace

  - repo: https://github.com/asottile/pyupgrade
    rev: "v3.3.0"
    hooks:
      - id: pyupgrade
        args: [--py310-plus]

  - repo: https://github.com/adamchainz/django-upgrade
    rev: "1.12.0"
    hooks:
      - id: django-upgrade
        args: [--target-version, "4.1"]

  - repo: https://github.com/psf/black
    rev: 22.10.0
    hooks:
      - id: black

  - repo: https://github.com/pycqa/isort
    rev: 5.12.0
    hooks:
      - id: isort
        args: ["--profile=black"]

  - repo: https://github.com/pycqa/flake8
    rev: 6.0.0
    hooks:
      - id: flake8

  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v0.991
    hooks:
      - id: mypy
        exclude: "^tests/"
        additional_dependencies:
          [types-pyopenssl, types-mock, types-cachetools, types-python-dateutil]

  - repo: https://github.com/rtts/djhtml
    rev: v1.5.2
    hooks:
      - id: djhtml
      - id: djcss
      - id: djjs
