-
-
Notifications
You must be signed in to change notification settings - Fork 52
/
.pre-commit-config.yaml
104 lines (104 loc) · 3.52 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
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: local
hooks:
- id: ruff-check
name: 🐶 Ruff Linter
language: system
types: [python]
entry: scripts/run-in-env.sh ruff check --fix
require_serial: true
stages: [pre-commit, pre-push, manual]
- id: ruff-format
name: 🐶 Ruff Formatter
language: system
types: [python]
entry: scripts/run-in-env.sh ruff format
require_serial: true
stages: [pre-commit, pre-push, manual]
- id: check-ast
name: 🐍 Check Python AST
language: system
types: [python]
entry: scripts/run-in-env.sh check-ast
- id: check-case-conflict
name: 🔠 Check for case conflicts
language: system
entry: scripts/run-in-env.sh check-case-conflict
- id: check-docstring-first
name: ℹ️ Check docstring is first
language: system
types: [python]
entry: scripts/run-in-env.sh check-docstring-first
- id: check-executables-have-shebangs
name: 🧐 Check that executables have shebangs
language: system
types: [text, executable]
entry: scripts/run-in-env.sh check-executables-have-shebangs
stages: [pre-commit, pre-push, manual]
- id: check-json
name: { Check JSON files
language: system
types: [json]
entry: scripts/run-in-env.sh check-json
files: ^(custom_components/mass)/.+\.json$
- id: check-yaml
name: { Check YAML files
language: system
types: [yaml]
entry: scripts/run-in-env.sh check-yaml
- id: check-merge-conflict
name: 💥 Check for merge conflicts
language: system
types: [text]
entry: scripts/run-in-env.sh check-merge-conflict
- id: check-symlinks
name: 🔗 Check for broken symlinks
language: system
types: [symlink]
entry: scripts/run-in-env.sh check-symlinks
- id: check-toml
name: ✅ Check TOML files
language: system
types: [toml]
entry: scripts/run-in-env.sh check-toml
- id: codespell
name: ✅ Check code for common misspellings
language: system
types: [text]
entry: scripts/run-in-env.sh codespell
- id: detect-private-key
name: 🕵️ Detect Private Keys
language: system
types: [text]
entry: scripts/run-in-env.sh detect-private-key
- id: end-of-file-fixer
name: ⮐ Fix End of Files
language: system
types: [text]
entry: scripts/run-in-env.sh end-of-file-fixer
stages: [pre-commit, pre-push, manual]
- id: no-commit-to-branch
name: 🛑 Don't commit to main branch
language: system
entry: scripts/run-in-env.sh no-commit-to-branch
pass_filenames: false
always_run: true
args:
- --branch=main
- id: trailing-whitespace
name: ✄ Trim Trailing Whitespace
language: system
types: [text]
entry: scripts/run-in-env.sh trailing-whitespace-fixer
stages: [pre-commit, pre-push, manual]
###############################################
# TODO: enable mypy later
# - id: mypy
# name: mypy
# entry: scripts/run-in-env.sh mypy
# language: script
# types: [python]
# require_serial: true
# files: ^(custom_components/mass|pylint)/.+\.py$