-
-
Notifications
You must be signed in to change notification settings - Fork 58
/
.pre-commit-config.yaml
146 lines (146 loc) · 4.71 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
134
135
136
137
138
139
140
141
142
143
144
145
146
---
# https://pre-commit.com/#installation
default_stages: [commit, push]
default_language_version:
# force all unspecified Python hooks to run python3
python: python3
minimum_pre_commit_version: '2.18.1'
repos:
- repo: meta
hooks:
- id: identity
- id: check-hooks-apply
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.5
hooks:
- id: insert-license
name: add license for all JavaScript files
files: \.js$
args:
- --comment-style
- '/*!| *| */'
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- --remove-header
- id: insert-license
name: add license for all Markdown files
files: \.(md|mdown|markdown)$
types: [markdown]
args:
- --comment-style
- '<!--|| -->'
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- --remove-header
- id: insert-license
name: add license for all Shell files
files: \.bash$|\.sh$
args:
- --comment-style
- '|#|'
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- --remove-header
- id: insert-license
name: add license for all YAML files
files: \.(yml|yaml)$
args:
- --comment-style
- '|#|'
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- --remove-header
- id: forbid-tabs
exclude: \.c$|\.h$|\.one$|Makefile$|^src/ast/ast-structure\.txt$
- id: remove-tabs
exclude: \.c$|\.h$|\.one$|Makefile$|^src/ast/ast-structure\.txt$
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-vcs-permalinks
- id: check-yaml
- id: detect-aws-credentials
args: [--allow-missing-credentials]
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: forbid-submodules
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
name: run codespell
description: Check spelling with codespell
args: [--ignore-words=.github/linters/codespell.txt]
exclude: ^docs/.*$
# - repo: https://github.com/jumanjihouse/pre-commit-hooks
# rev: 2.1.5
# hooks:
# - id: shellcheck
# - id: shfmt
- repo: https://github.com/tcort/markdown-link-check
rev: v3.12.2
hooks:
- id: markdown-link-check
args: [--config=.github/linters/mlc_config.json, -q]
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.41.0
hooks:
- id: markdownlint
name: run markdownlint
description: Check Markdown files with markdownlint
args: [--config=.github/linters/.markdown-lint.yml]
exclude: ^\.github/.*$
types: [markdown]
files: \.(md|mdown|markdown)$
- repo: https://github.com/adrienverge/yamllint
rev: v1.35.1
hooks:
- id: yamllint
name: run yamllint
description: Check YAML files with yamllint
args: [--strict, -c=.github/linters/.yaml-lint.yml]
types: [yaml]
files: \.(yml|yaml)$
- repo: https://github.com/pocc/pre-commit-hooks
rev: v1.3.5
hooks:
- id: clang-format
name: run Clang Format
description: Format files with Clang Format
args: [-i, --style=file]
- repo: local
hooks:
- id: hadolint-docker
name: lint Dockerfiles
description: Runs hadolint Docker image to lint Dockerfiles
language: docker_image
types: ['dockerfile']
entry: ghcr.io/hadolint/hadolint:v2.12.0 hadolint -c .github/linters/.hadolint.yaml
files: ^Dockerfile$
- id: shellcheck
name: lint Shell scripts
description: Check Shell scripts for correct syntax
language: docker_image
entry: koalaman/shellcheck:v0.9.0 -a
files: \.bash$|\.sh$
require_serial: true
- id: sort-and-uniquify-codespell-wordlist
name: sort unique codespell.txt
description: Sort alphabetically and uniquify codespell.txt
entry: ./scripts/ci/pre-commit/sort-and-uniquify-codespell-wordlist.sh
language: system
files: ^\.github/linters/codespell\.txt$
require_serial: true