# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
exclude: |
    (?x)^(
        src/backend/InvenTree/InvenTree/static/.*|
        src/backend/InvenTree/locale/.*|
        src/frontend/src/locales/.* |
        .*/migrations/.* |
        src/frontend/yarn.lock
    )$
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: mixed-line-ending
-   repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.4.1
    hooks:
    - id: ruff-format
      args: [--preview]
    - id: ruff
      args: [
        --fix,
        --preview
      ]
-   repo: https://github.com/astral-sh/uv-pre-commit
    rev: 0.1.35
    hooks:
      - id: pip-compile
        name: pip-compile requirements-dev.in
        args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev.txt, --python-version=3.9, --no-strip-extras, --generate-hashes]
        files: src/backend/requirements-dev\.(in|txt)$
      - id: pip-compile
        name: pip-compile requirements.txt
        args: [src/backend/requirements.in, -o, src/backend/requirements.txt,--python-version=3.9, --no-strip-extras,--generate-hashes]
        files: src/backend/requirements\.(in|txt)$
      - id: pip-compile
        name: pip-compile requirements.txt
        args: [contrib/dev_reqs/requirements.in, -o, contrib/dev_reqs/requirements.txt,--python-version=3.9, --no-strip-extras, --generate-hashes]
        files: contrib/dev_reqs/requirements\.(in|txt)$
      - id: pip-compile
        name: pip-compile requirements.txt
        args: [docs/requirements.in, -o, docs/requirements.txt,--python-version=3.9, --no-strip-extras, --generate-hashes]
        files: docs/requirements\.(in|txt)$
      - id: pip-compile
        name: pip-compile requirements.txt
        args: [contrib/container/requirements.in, -o, contrib/container/requirements.txt,--python-version=3.11, --no-strip-extras, --generate-hashes]
        files: contrib/container/requirements\.(in|txt)$
-   repo: https://github.com/Riverside-Healthcare/djLint
    rev: v1.34.1
    hooks:
      - id: djlint-django
- repo: https://github.com/codespell-project/codespell
  rev: v2.2.6
  hooks:
  - id: codespell
    exclude: >
      (?x)^(
          docs/docs/stylesheets/.*|
          docs/docs/javascripts/.*|
          docs/docs/webfonts/.* |
          src/frontend/src/locales/.* |
      )$
- repo: https://github.com/pre-commit/mirrors-prettier
  rev: "v4.0.0-alpha.8"
  hooks:
    - id: prettier
      files: ^src/frontend/.*\.(js|jsx|ts|tsx)$
      additional_dependencies:
      - "prettier@^2.4.1"
      - "@trivago/prettier-plugin-sort-imports"
- repo: https://github.com/pre-commit/mirrors-eslint
  rev: "v9.1.0"
  hooks:
  - id: eslint
    additional_dependencies:
      - eslint@^8.41.0
      - eslint-config-google@^0.14.0
      - eslint-plugin-react@6.10.3
      - babel-eslint@6.1.2
      - "@typescript-eslint/eslint-plugin@latest"
      - "@typescript-eslint/parser"
    files: ^src/frontend/.*\.(js|jsx|ts|tsx)$
-   repo: https://github.com/gitleaks/gitleaks
    rev: v8.18.2
    hooks:
    -   id: gitleaks
#-   repo: https://github.com/jumanjihouse/pre-commit-hooks
#    rev: 3.0.0
#    hooks:
#    -   id: shellcheck
-   repo: https://github.com/isidentical/teyit
    rev: 0.4.3
    hooks:
    -   id: teyit
