# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v1.9.0
    hooks:
      - id: mypy
        args: [--no-strict-optional, --ignore-missing-imports]
        additional_dependencies: [tokenize-rt==3.2.0, types-requests]
        files: ^(backend/)

  - repo: https://github.com/psf/black
    rev: 24.4.0
    hooks:
      - id: black
        args: [--safe]
        files: ^(backend/)

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-added-large-files
      - id: debug-statements
        language_version: python3

  - repo: https://github.com/PyCQA/flake8
    rev: 7.0.0
    hooks:
      - id: flake8
        language_version: python3
        args: [--ignore=E501]
        files: ^(backend/)

  - repo: https://github.com/asottile/reorder_python_imports
    rev: v3.12.0
    hooks:
      - id: reorder-python-imports
        args: [--py39-plus]
        files: ^(backend/)

  - repo: https://github.com/asottile/pyupgrade
    rev: v3.15.2
    hooks:
      - id: pyupgrade
        args: [--py39-plus]
        files: ^(backend/)

  - repo: local
    hooks:
      - id: next-lint
        name: next-lint
        entry: bash -c 'cd ./frontend && npm run lint'
        language: system
        files: ^(frontend/)
        stages:
          - manual

  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v3.1.0 # Use the sha or tag you want to point at
    hooks:
      - id: prettier
        additional_dependencies:
          - prettier@3.1.0
        files: ^(frontend/)
