-
Notifications
You must be signed in to change notification settings - Fork 41
/
.pre-commit-config.yaml
134 lines (133 loc) · 4.02 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
ci:
skip:
- clippy # doesn't seem to run in pre-commit.ci
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-json
- id: check-toml
- id: check-vcs-permalinks
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
args: [--fix, lf]
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.8.4"
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.30.0
hooks:
- name: ensure bowtie's own schemas are valid
id: check-metaschema
files: ^bowtie/schemas/.*\.json$
- repo: local
hooks:
- id: check-dependabot
name: check implementations for dependabot registration
language: python
pass_filenames: false
entry: .pre-commit-hooks/check-dependabot
additional_dependencies: [pyyaml]
- id: check-lintsonschema
name: check lintsonschema for drift
language: python
pass_filenames: false
entry: .pre-commit-hooks/check-lintsonschema-schema
- repo: https://github.com/psf/black
rev: 24.10.0
hooks:
- name: black (python implementations & bowtie internals)
id: black
args: ["--line-length", "79"]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v4.0.0-alpha.8"
hooks:
- name: prettier (javascript implementations & bowtie internals)
# REMOVEME: Once we remove Corvus's vendored metaschemas
exclude: ^frontend/pnpm-lock.yaml|implementations/dotnet-corvus-jsonschema/metaschema/.*.json$
id: prettier
- repo: https://github.com/doublify/pre-commit-rust
rev: "v1.0"
hooks:
- name: cargo fmt rust-jsonschema
id: fmt
args:
[
"--manifest-path",
"implementations/rust-jsonschema/Cargo.toml",
"--",
]
- name: cargo clippy rust-jsonschema
id: clippy
args:
[
"--manifest-path",
"implementations/rust-jsonschema/Cargo.toml",
"--allow-dirty",
"--allow-staged",
"--fix",
"--",
]
- name: cargo fmt rust-boon
id: fmt
args: ["--manifest-path", "implementations/rust-boon/Cargo.toml", "--"]
- name: cargo clippy rust-boon
id: clippy
args:
[
"--manifest-path",
"implementations/rust-boon/Cargo.toml",
"--allow-dirty",
"--allow-staged",
"--fix",
"--",
]
- repo: https://github.com/syntaqx/git-hooks
rev: v0.0.18
hooks:
- name: go fmt (golang implementations)
id: go-fmt
- repo: https://github.com/jumanjihouse/pre-commit-hooks
rev: "3.0.0"
hooks:
- name: rubocop (ruby implementations)
id: rubocop
args: ["--auto-correct"]
- repo: https://github.com/JohnnyMorganz/StyLua
rev: v2.0.2
hooks:
- name: stylua (lua implementations)
id: stylua
exclude: .*/json.lua
args: ["--config-path", "implementations/lua-jsonschema/stylua.toml"]
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.5
hooks:
- name: clang-format (c/c++/c#/java implementations)
id: clang-format
types_or: [c++, c, c#, java, objective-c]
- repo: https://github.com/dustinsand/pre-commit-jvm
rev: v0.11.0
hooks:
- name: ktlint (java/kotlin implementations)
id: ktlint
args: [--format]
- name: detekt (java/kotlin implementations)
id: detekt
args: ["--build-upon-default-config"]
- name: pmd (java implementations)
id: pmd
args:
[
"-R",
"implementations/.java-implementations-pmd-ruleset.xml",
"-d",
"implementations",
]