scripts/.pre-commit-config.yaml

92 lines
2.4 KiB
YAML

# SPDX-FileCopyrightText: 2024 Aminda Suomalainen <suomalainen+git@mikaela.info>
#
# SPDX-License-Identifier: CC0-1.0
# See https://pre-commit.com for more information
# See https://pre-commit.ci for more information
ci:
autoupdate_schedule: quarterly
skip: [prettier, pylint]
default_language_version:
node: lts
# Remember .python-version and pyproject.toml !
python: 3.12.4
ruby: .ruby-version
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-yaml
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: trailing-whitespace
args: ["--markdown-linebreak-ext", "md,markdown"]
exclude_types: [svg, tsv]
- id: check-docstring-first
- id: check-json
- id: check-merge-conflict
- id: check-toml
#- id: check-xml
- id: debug-statements
- id: mixed-line-ending
args: [--fix=lf]
- id: pretty-format-json
args: [--autofix, --no-ensure-ascii]
- repo: https://github.com/pre-commit-ci/pre-commit-ci-config
rev: v1.6.1
hooks:
- id: check-pre-commit-ci-config
- repo: https://github.com/thlorenz/doctoc
rev: v2.2.0
hooks:
- id: doctoc
# https://github.com/Mikaela/gist/blob/master/doctoc.txt
args: [--update-only]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.11.0"
hooks:
- id: mypy
additional_dependencies: [types-tabulate]
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
name: isort (python)
- repo: https://github.com/psf/black
rev: 24.4.2
hooks:
- id: black
- repo: local
hooks:
- id: pylint
name: pylint
entry: pylint --exit-zero
verbose: true
language: system
types_or: [python, pyi]
- id: prettier
name: prettier
entry: corepack pnpx prettier --cache --ignore-unknown --write
language: system
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: "2.7.3"
hooks:
- id: editorconfig-checker
alias: ec
args: [-disable-max-line-length]