-
Notifications
You must be signed in to change notification settings - Fork 85
/
.golangci.yaml
140 lines (120 loc) · 4.3 KB
/
.golangci.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
issues:
exclude:
- "^exported: exported var Err[A-Za-z0-9]+ should have comment or be unexported$"
- "shadow: declaration of .err. shadows declaration"
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
# Exclude some linters from running on test files.
- path: _test\.go
linters:
- dupl
# Show only new issues created since branching away from default branch on the remote
new-from-rev: origin/master
linters:
enable:
- bodyclose
- dupl
- errcheck
- gocritic
- gofmt
- gofumpt
- goimports
- govet
- gosec
- ineffassign
- misspell
- revive
- staticcheck
- whitespace
linters-settings:
auto-fix: true
dupl:
# tokens count to trigger issue, 150 by default
threshold: 100
auto-fix: true
errcheck:
auto-fix: true
# Report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`.
check-blank: true
# Report about not checking of errors in type assertions: `a := b.(MyStruct)`.
check-type-assertions: true
gocritic:
auto-fix: true
# See https://go-critic.github.io/overview#checks-overview
# To check which checks are enabled run `GL_DEBUG=gocritic golangci-lint run`
enabled-tags:
- performance
gofmt:
auto-fix: true
# Simplify code with '-s' option
simplify: true
gofumpt:
auto-fix: true
# Choose whether or not to use the extra rules that are disabled by default
extra-rules: true
# Select the Go version to target.
lang-version: "1.22.7"
goimports:
auto-fix: false
# Put imports beginning with prefixes after 3rd-party packages; it's a comma-separated list of prefixes
local-prefixes: ""
govet:
auto-fix: true
# Report about shadowed variables
check-shadowing: true
enable-all: true
lll:
auto-fix: true
# Max line length; lines longer will be reported
# '\t' is counted as 1 character by default, and can be changed with the 'tab-width' option
line-length: 120
# Tab width in spaces
tab-width: 2
misspell:
auto-fix: true
# Correct spellings using locale preferences for US or UK.
# Default is to use a neutral variety of English.
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
# Intentionally leaving this unset as most engineering terminology skews US however Tyk standard is UK.
#locale: UK
ignore-words: []
staticcheck:
auto-fix: true
# https://staticcheck.io/docs/options#checks
checks: ["all"]
# Select the Go version to target.
go: "1.22.7"
whitespace:
auto-fix: true
multi-if: false # Enforces newlines (or comments) after every multi-line if statement
multi-func: false # Enforces newlines (or comments) after every multi-line function signature
wsl:
auto-fix: true
# Controls if you may cuddle assignments and anything without needing an empty line between them.
allow-assign-and-anything: false
# Allow calls and assignments to be cuddled as long as the lines have any matching variables, fields or types.
# Default is true.
allow-assign-and-call: true
# Controls if you may end case statements with a whitespace.
allow-case-trailing-whitespace: true
# Allow declarations (var) to be cuddled.
allow-cuddle-declarations: true
# Allow multiline assignments to be cuddled. Default is true.
allow-multiline-assign: true
# This option allows whitespace after each comment group that begins a block.
allow-separated-leading-comment: false
# Allow trailing comments in ending of blocks
allow-trailing-comment: false
# Enforces that an if statement checking an error variable is cuddled with the line that assigned that error variable.
enforce-err-cuddling: true
# Force newlines in end of case at this limit (0 = never).
force-case-trailing-whitespace: 0
# Enforces that an assignment which is actually a short declaration (using :=) is only allowed to cuddle with other short declarations, and not plain assignments, blocks, etc.
force-short-decl-cuddling: false
# Append is only allowed to be cuddled if appending value is matching variables, fields or types on line above.
# Default is true.
strict-append: true
run:
timeout: 10m
build-tags: []
skip-dirs: []