2021-10-28 11:27:27 +02:00
|
|
|
# pre-commit is a tool to perform a predefined set of tasks manually and/or
|
|
|
|
|
# automatically before git commits are made.
|
|
|
|
|
#
|
|
|
|
|
# Config reference: https://pre-commit.com/#pre-commit-configyaml---top-level
|
|
|
|
|
#
|
|
|
|
|
# Common tasks
|
|
|
|
|
#
|
|
|
|
|
# - Run on all files: pre-commit run --all-files
|
|
|
|
|
# - Register git hooks: pre-commit install --install-hooks
|
|
|
|
|
#
|
|
|
|
|
repos:
|
|
|
|
|
# Autoformat: Python code, syntax patterns are modernized
|
|
|
|
|
- repo: https://github.com/asottile/pyupgrade
|
2024-04-01 22:10:42 +00:00
|
|
|
rev: v3.15.2
|
2021-10-28 11:27:27 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: pyupgrade
|
|
|
|
|
args:
|
|
|
|
|
- --py36-plus
|
|
|
|
|
# We need the bootstrap.py script to be parsable with Python 3.5, so we
|
|
|
|
|
# exclude it from the pyupgrade hook that will apply f-strings etc.
|
|
|
|
|
exclude: bootstrap/bootstrap.py
|
|
|
|
|
|
|
|
|
|
# Autoformat: Python code
|
2023-05-15 10:43:59 +02:00
|
|
|
- repo: https://github.com/PyCQA/autoflake
|
2024-04-01 22:10:42 +00:00
|
|
|
rev: v2.3.1
|
2023-05-15 10:43:59 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: autoflake
|
|
|
|
|
# args ref: https://github.com/PyCQA/autoflake#advanced-usage
|
|
|
|
|
args:
|
|
|
|
|
- --in-place
|
|
|
|
|
|
|
|
|
|
# Autoformat: Python code
|
|
|
|
|
- repo: https://github.com/pycqa/isort
|
2024-01-01 20:22:48 +00:00
|
|
|
rev: 5.13.2
|
2023-05-15 10:43:59 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: isort
|
|
|
|
|
|
|
|
|
|
# Autoformat: Python code
|
2021-10-28 11:27:27 +02:00
|
|
|
- repo: https://github.com/psf/black
|
2024-04-01 22:10:42 +00:00
|
|
|
rev: 24.3.0
|
2021-10-28 11:27:27 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: black
|
|
|
|
|
|
|
|
|
|
# Autoformat: markdown, yaml
|
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
2024-01-01 20:22:48 +00:00
|
|
|
rev: v4.0.0-alpha.8
|
2021-10-28 11:27:27 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: prettier
|
|
|
|
|
|
|
|
|
|
# Misc...
|
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
2023-11-06 20:28:01 +00:00
|
|
|
rev: v4.5.0
|
2021-10-28 11:27:27 +02:00
|
|
|
# ref: https://github.com/pre-commit/pre-commit-hooks#hooks-available
|
|
|
|
|
hooks:
|
|
|
|
|
# Autoformat: Makes sure files end in a newline and only a newline.
|
|
|
|
|
- id: end-of-file-fixer
|
|
|
|
|
|
|
|
|
|
# Lint: Check for files with names that would conflict on a
|
|
|
|
|
# case-insensitive filesystem like MacOS HFS+ or Windows FAT.
|
|
|
|
|
- id: check-case-conflict
|
|
|
|
|
|
|
|
|
|
# Lint: Checks that non-binary executables have a proper shebang.
|
|
|
|
|
- id: check-executables-have-shebangs
|
|
|
|
|
|
|
|
|
|
# Lint: Python code
|
|
|
|
|
- repo: https://github.com/pycqa/flake8
|
2024-02-05 20:27:06 +00:00
|
|
|
rev: "7.0.0"
|
2021-10-28 11:27:27 +02:00
|
|
|
hooks:
|
|
|
|
|
- id: flake8
|
2023-05-13 23:26:47 +02:00
|
|
|
|
|
|
|
|
# pre-commit.ci config reference: https://pre-commit.ci/#configuration
|
|
|
|
|
ci:
|
|
|
|
|
autoupdate_schedule: monthly
|