weblate/.pre-commit-config.yaml

140 lines
3.9 KiB
YAML

# 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/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-xml
- id: check-toml
- id: check-merge-conflict
- id: check-json
- id: debug-statements
- id: mixed-line-ending
args: [--fix=lf]
- id: pretty-format-json
args: [--no-sort-keys, --autofix, --no-ensure-ascii]
exclude: ^weblate/trans/fixtures/simple-project.json|weblate/trans/tests/data/.*.json$
- repo: https://github.com/adamchainz/django-upgrade
rev: 1.23.1
hooks:
- id: django-upgrade
args: [--target-version, '5.1']
- repo: https://github.com/adrienverge/yamllint
rev: v1.36.0
hooks:
- id: yamllint
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.10
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format
- repo: https://github.com/asottile/blacken-docs
rev: 1.19.1
hooks:
- id: blacken-docs
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.14.0
hooks:
- id: pretty-format-yaml
args: [--autofix, --indent, '2']
- repo: https://github.com/pappasam/toml-sort
rev: v0.24.2
hooks:
- id: toml-sort-fix
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.22
hooks:
- id: mdformat
additional_dependencies:
- mdformat-gfm==0.4.1
- mdformat-ruff==0.1.3
- mdformat-shfmt==0.2.0
- mdformat_tables==1.0.0
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.10.0-2
hooks:
- id: shfmt
- repo: https://github.com/fsfe/reuse-tool
rev: v5.0.2
hooks:
- id: reuse
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.10.0.1
hooks:
- id: shellcheck
require_serial: true
args: [-x]
- repo: https://github.com/biomejs/pre-commit
rev: v1.9.4
hooks:
- id: biome-check
additional_dependencies:
- '@biomejs/biome@1.9.4'
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.23
hooks:
- id: validate-pyproject
- repo: https://github.com/djlint/djLint
rev: v1.36.4
hooks:
- id: djlint-reformat-django
- id: djlint-django
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: rst-directive-colons
- id: rst-inline-touching-normal
- repo: local
hooks:
- id: rst-double-space
name: rst text with double space
description: Detect mistake of rst containg double space
types: [rst]
entry: \S +(?![\| +])
language: pygrep
exclude: docs/devel/reporting-example.rst
- id: rst-http
name: http link in rst text
description: Detect mistake of using http links
types: [rst]
entry: http://(?!example\.|[a-z]*\.example\.|weblate:|localhost|127\.0\.0\.1|user:password@proxy)
language: pygrep
- id: rst-bullet-stop
name: Changes end with a stop
description: Bullet list in changes should end with a stop.
files: docs/changes\.rst
entry: ^ *\* .*[^.]\n$
language: pygrep
- id: py-join-comma
name: Localized comma in join
types: [python]
args: [--multiline]
entry: format_html_join\(\s*", "
language: pygrep
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v1.0.0
hooks:
- id: sphinx-lint
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies:
- tomli
exclude: client/yarn.lock
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
hooks:
- id: actionlint
exclude: ^.*\.(csv|svg|wsdl(\.[^.]*)?)|weblate/trans/tests/data/memory-broken\.json|weblate/templates/browserconfig\.xml|weblate/templates/configuration/custom\.css|weblate/trans/tests/data/cs-CZ\.rc|weblate/static/vendor/.*|weblate/static/js/vendor/.*|docs/make\.bat|weblate/templates/addons/js/weblate\.js|uv\.lock$
ci:
autoupdate_schedule: quarterly