pyodide/.pre-commit-config.yaml

109 lines
2.9 KiB
YAML

exclude: (^.*patches|.*\.cgi$|^packages/micropip/src/micropip/externals|^benchmark/benchmarks$)
default_language_version:
python: "3.10"
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v4.1.0"
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-yaml
exclude: .clang-format
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/PyCQA/isort
rev: "5.10.1"
hooks:
- id: isort
- repo: https://github.com/asottile/pyupgrade
rev: "v2.31.1"
hooks:
- id: pyupgrade
args: ["--py39-plus"]
- repo: https://github.com/hadialqattan/pycln
rev: "v1.2.5"
hooks:
- id: pycln
args: [--config=pyproject.toml]
stages: [manual]
- repo: https://github.com/psf/black
rev: "22.3.0"
hooks:
- id: black
- repo: https://github.com/pycqa/flake8
rev: "4.0.1"
hooks:
- id: flake8
additional_dependencies: [flake8-bugbear]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v0.942"
hooks:
- id: mypy
args:
- --show-error-codes
- --ignore-missing-imports
files: ^(src/|packages/.*/test|conftest.py|docs/)
additional_dependencies: &mypy-deps
- packaging
- types-docutils
- types-pyyaml
- types-setuptools
- id: mypy
name: mypy-micropip
files: ^packages/micropip/src/
args: &mypy-args
- --show-error-codes
additional_dependencies: *mypy-deps
- id: mypy
name: mypy-pyodide-build
files: ^pyodide-build/pyodide_build/
args: *mypy-args
additional_dependencies: *mypy-deps
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v13.0.1"
hooks:
- id: clang-format
types_or: [c++, c, cuda]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v2.6.1"
hooks:
- id: prettier
- repo: https://github.com/pre-commit/pygrep-hooks
rev: "v1.9.0"
hooks:
- id: python-check-blanket-noqa
- id: python-check-blanket-type-ignore
- id: python-no-log-warn
- id: python-no-eval
exclude: ^(src/py/_pyodide/_base\.py|src/tests/test_typeconversions\.py)$
- id: python-use-type-annotations
exclude: docs/sphinx_pyodide/tests/test_directives\.py
- id: rst-backticks
- id: rst-directive-colons
- id: rst-inline-touching-normal
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: "v0.8.0.4"
hooks:
- id: shellcheck
- repo: https://github.com/codespell-project/codespell
rev: "v2.1.0"
hooks:
- id: codespell
args: ["-L", "te,slowy,aray,ba,nd,classs"]
exclude: ^benchmark/benchmarks/pystone_benchmarks/pystone\.py$