-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.pre-commit-config.yaml
133 lines (121 loc) · 3.83 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
---
default_language_version:
# ensures that we get same behavior on CI(s) as on local machines
python: python3.11
repos:
- repo: https://github.com/asottile/add-trailing-comma.git
rev: v3.1.0
hooks:
- id: add-trailing-comma
args:
- --py36-plus
stages: ["manual"]
- repo: https://github.com/PyCQA/isort
rev: 5.13.2
hooks:
- id: isort
name: Sort import statements using isort
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
# Original hook implementation is flaky due to *several* bugs described
# in https://github.com/prettier/prettier/issues/12364
# a) CI=1 needed to avoid incomplete output
# b) two executions are needed because --list-different works correctly
# only when run with --check as with --write the output will also
# include other entries and logging level cannot be used to keep only
# modified files listed (any file is listes using the log level,
# regardless if it is modified or not).
# c) We avoid letting pre-commit pass each filename in order to avoid
# runing multiple instances in parallel. This also ensures that running
# prettier from the command line behaves identically with the pre-commit
# one. No real performance downsides.
# d) exit with the return code from list-different (0=none, 1=some)
# rather than the write (0=successfully rewrote files). pre-commit.ci
entry: >-
env CI=1 bash -c "prettier --list-different . ||
ec=$? && prettier --loglevel=error --write . && exit $ec"
pass_filenames: false
args: []
additional_dependencies:
- prettier
- prettier-plugin-toml
- repo: https://github.com/psf/black.git
rev: 24.3.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/streetsidesoftware/cspell-cli
rev: v8.6.1
hooks:
- id: cspell
name: Spell check with cspell
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
rev: v1.5.5
hooks:
- id: remove-tabs
- repo: https://github.com/pre-commit/pre-commit-hooks.git
rev: v4.5.0
hooks:
# Side-effects:
- id: trailing-whitespace
- id: check-merge-conflict
- id: end-of-file-fixer
- id: requirements-txt-fixer
- id: check-added-large-files
- id: fix-byte-order-marker
- id: check-case-conflict
- id: check-json
- id: check-symlinks
- id: check-yaml
- id: detect-private-key
# Heavy checks:
- id: check-ast
- id: debug-statements
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.35.1
hooks:
- id: yamllint
args:
- --strict
types: [file, yaml]
- repo: https://github.com/PyCQA/flake8.git
rev: 5.0.4
hooks:
- id: flake8
alias: flake8
language_version: python311
additional_dependencies:
- flake8-2020 >= 1.6.0
- flake8-isort >= 4.1.1
- darglint
- flake8-docstrings # uses pydocstyle
- repo: https://github.com/pre-commit/mirrors-mypy.git
rev: v1.9.0
hooks:
- id: mypy
alias: mypy-py311
name: MyPy, for Python 3.11
additional_dependencies:
- ansible-pylibssh
- pytest
- xmltodict
args:
- --python-version=3.11
pass_filenames: false
- repo: https://github.com/pycqa/pylint.git
rev: v3.1.0
hooks:
- id: pylint
args:
- src/
additional_dependencies:
- ansible-pylibssh
- pytest
- xmltodict
pass_filenames: false