# Install pre-commit hooks via
# pre-commit install

exclude: >
    (?x)^(
      \.vscode/settings\.json|
      package-lock\.json|
    )$

# Fix the node version to avoid a GLIBC error
# ref: https://stackoverflow.com/questions/71939099/bitbucket-pipeline-error-installing-pre-commit-ts-lint/71940852#71940852
default_language_version:
    node: 16.14.2

repos:

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
    - id: check-toml
    - id: check-json
    - id: check-yaml
    - id: end-of-file-fixer
    - id: trailing-whitespace

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.8.4
    hooks:
    - id: ruff
      args: ["--fix", "--show-fixes"]
    - id: ruff-format

  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v4.0.0-alpha.8
    hooks:
      - id: prettier
        types_or: [scss, javascript]

  - repo: https://github.com/codespell-project/codespell
    rev: v2.3.0
    hooks:
    - id: codespell
      exclude: >
        (?x)^(
            docs/reference/kitchen-sink/.*|
            src/sphinx_book_theme/assets/.*|
            tests/.*|
            pyproject\.toml
        )$
