scripts/.pre-commit-config.yaml

113 lines
3.4 KiB
YAML

# SPDX-FileCopyrightText: 2023 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:
# 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: [pylint]
# use pypy3 for python
default_language_version:
python: pypy3
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: fix-encoding-pragma
args: [--remove]
- id: mixed-line-ending
# .gitattributes is trusted to handle this
args: [--fix=no]
#- id: pretty-format-json
#- 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
# https://github.com/Mikaela/gist/blob/master/doctoc.txt
args: [--update-only]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.10.0"
hooks:
- id: mypy
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.2
hooks:
- id: pyupgrade
args:
[--py310-plus]
# - repo: https://github.com/asottile/reorder-python-imports
# rev: v3.12.0
# hooks:
#- id: reorder-python-imports
#args: [--py310-plus]
- repo: https://github.com/asottile/add-trailing-comma
rev: v3.1.0
hooks:
- id: add-trailing-comma
- repo: https://github.com/rbubley/mirrors-prettier
rev: "v3.2.5"
hooks:
- id: prettier
exclude_types: [python, pyi, jupyter]
additional_dependencies: [
# https://www.npmjs.com/package/prettier
"prettier@3.2.5",
# https://www.npmjs.com/package/@prettier/plugin-ruby
"@prettier/plugin-ruby@4.0.4",
]
- repo: https://github.com/psf/black
rev: 24.4.2
hooks:
- id: black
#Refer to pyproject.toml
#args: ["--line-length", "79", "--target-version", "py310"]
#- id: black-jupyter
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.8.0-1
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: pylint
name: pylint
# Use as many jobs as CPU cores, disable TODO warnings
entry: pylint -j 0 -d W0511
language: system
types_or: [python, pyi]