Files
typeshed/.pre-commit-config.yaml
Alex Waygood a4e3cfefac Improve pre-commit config (#9563)
- Add a few more hooks. These are all very fast, and I've found them useful in other projects:
  - Autofixes:
    - `trailing-whitespace`: fixes trailing whitespace
    - `requirements-txt-fixer`: alphabetises items in `requirements.txt` files
    - `end-of-file-fixer`: makes sure every file ends with a single newline character
    - `mixed-line-ending`: Makes sure Windows users don't accidentally introduce CRLF line endings into a file that uses LF line endings
  - None-autofixes:
    - `check-yaml`: loads YAML files to validate syntax
    - `check-toml`: loads TOML files to validate syntax
    - `check-merge-conflict`: detects merge-conflict strings in files and blocks them from accidentally being committed
    - `check-case-conflict`: checks for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT; blocks them from being committed.
  - Change the bot schedule to quarterly, to reduce noisy PRs
  - Change the `black` language target-version to Python 3.10, synching the setting here with the changes that were made to our `pyproject.toml` file in #7538
2023-01-18 06:29:18 -08:00

50 lines
1.6 KiB
YAML

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0 # must match requirements-tests.txt
hooks:
- id: trailing-whitespace
- id: requirements-txt-fixer
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml
- id: check-merge-conflict
- id: mixed-line-ending
- id: check-case-conflict
- repo: https://github.com/hadialqattan/pycln
rev: v2.1.3 # must match requirements-tests.txt
hooks:
- id: pycln
args: [--config=pyproject.toml, stubs, stdlib, tests, scripts]
- repo: https://github.com/psf/black
rev: 22.12.0 # must match requirements-tests.txt
hooks:
- id: black
language_version: python3.10
- repo: https://github.com/pycqa/isort
rev: 5.11.4 # must match requirements-tests.txt
hooks:
- id: isort
name: isort (python)
- repo: https://github.com/pycqa/flake8
rev: 6.0.0 # must match requirements-tests.txt
hooks:
- id: flake8
additional_dependencies:
- "flake8-bugbear==23.1.14" # must match requirements-tests.txt
- "flake8-noqa==1.3.0" # must match requirements-tests.txt
- "flake8-pyi==23.1.0" # must match requirements-tests.txt
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.0.0-alpha.4
python_requirement: false
hooks:
- id: prettier
types_or: [yaml]
ci:
autofix_commit_msg: "[pre-commit.ci] auto fixes from pre-commit.com hooks"
autofix_prs: true
autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate"
autoupdate_schedule: quarterly
skip: [flake8]
submodules: false