gist/.pre-commit-config.yaml

104 lines
3.1 KiB
YAML

# See https://pre-commit.com for more information
# See https://pre-commit.ci for more information
ci:
# Forĝejo/Gitea mirrors will autoclose pull requests. This should decrease
# the frequency of unnecessary PRs.
# https://github.com/pre-commit-ci/issues/issues/83
autoupdate_schedule: quarterly
skip: [latexmk, exiftool, prettier]
default_language_version:
node: "lts"
# Remember .python-version !
python: "3.13"
ruby: ".ruby-version"
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.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"]
# I don't want to touch licenses or past association logs or Limnoria
# configuration exports.
exclude: ^LICENSES\/.*|LICENSE|associations\/.*|.*\.conf$$
# File types depending on trailing whitespace. Use identify-cli
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: fix-encoding-pragma
#args: [--remove]
- id: mixed-line-ending
args: [--fix=auto]
- id: pretty-format-json
args:
[--autofix, --no-ensure-ascii]
#- id: requirements-txt-fixer
- id: check-illegal-windows-names
- repo: https://github.com/pre-commit/sync-pre-commit-deps
rev: v0.0.1
hooks:
- id: sync-pre-commit-deps
- 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
args: [--update-only, --notitle]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.29.3
hooks:
#- id: check-dependabot
#- id: check-github-actions
#- id: check-github-workflows
- id: check-gitlab-ci
- repo: local
hooks:
- id: prettier
name: prettier
entry: corepack pnpx prettier --cache --ignore-unknown --write
language: system
exclude_types: [json]
- id: latexmk
name: latexmk
entry: latexmk -xelatex -quiet -f
language: system
types: [text, tex]
# I have no idea where latexmk wants the template
exclude: LaTeX\/standardi-asiakirja.tex
# Fedora: perl-Image-ExifTool
- id: exiftool
name: Remove all EXIF metadata using exiftool
entry: exiftool -all=
language: system
types: [image]
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: "3.0.3"
hooks:
- id: editorconfig-checker
alias: ec
args: [-disable-max-line-length]