gist/.pre-commit-config.yaml

113 lines
3.3 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]
# Use pypy3 for python hooks instead of system default
default_language_version:
python: pypy3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.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, --no-sort-keys]
#- id: requirements-txt-fixer
- 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.27.3
hooks:
#- id: check-dependabot
#- id: check-github-actions
#- id: check-github-workflows
- id: check-gitlab-ci
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v4.0.0-alpha.6"
hooks:
- id: prettier
exclude_types: [json]
additional_dependencies: [
# https://www.npmjs.com/package/prettier
"prettier@3.1.1",
# https://www.npmjs.com/package/@prettier/plugin-xml
"@prettier/plugin-xml@3.2.2",
# https://www.npmjs.com/package/prettier-plugin-toml
"prettier-plugin-toml@2.0.1",
]
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.7.0-4
hooks:
- id: shfmt
#- id: shfmt-docker
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: "2.7.3"
hooks:
- id: editorconfig-checker
alias: ec
args: [-disable-max-line-length]
- repo: local
hooks:
- id: latexmk
name: latexmk
entry: latexmk -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
- repo: local
hooks:
- id: exiftool
name: Remove all EXIF metadata using exiftool
entry: exiftool -all=
language: system
types: [image]