3
3
timeout : 5m
4
4
5
5
linters :
6
- disable-all : true
6
+ disable-all :
7
+ true
8
+ # Disabled linters:
9
+ # canonicalheader
10
+ # decorder
11
+ # dupword
12
+ # err113
13
+ # exhaustruct
14
+ # forbidigo
15
+ # forcetypeassert # заменён на errcheck
16
+ # funlen
17
+ # ginkgolinter
18
+ # gofmt # заменён на goimports
19
+ # gofumpt # заменён на goimports
20
+ # goheader
21
+ # gomoddirectives
22
+ # gomodguard # используется более мощный depguard
23
+ # gosmopolitan
24
+ # grouper
25
+ # interfacebloat
26
+ # intrange
27
+ # ireturn
28
+ # lll
29
+ # loggercheck
30
+ # mirror
31
+ # misspell # бесполезный
32
+ # nonamedreturns
33
+ # nlreturn # слишком строгий и в основном код не более читабелен
34
+ # paralleltest # слишком много ложных срабатываний
35
+ # protogetter
36
+ # sloglint
37
+ # spancheck
38
+ # sqlclosecheck
39
+ # tagalign
40
+ # tenv # заменён на usetesting.os-setenv: true
41
+ # testableexamples
42
+ # testpackage
43
+ # varnamelen
44
+ # wastedassign
45
+ # wsl # слишком строгий и в основном код не более читабелен
46
+ # zerologlint
7
47
enable :
8
48
- asasalint
9
49
- asciicheck
10
50
- bidichk
11
51
- bodyclose
12
52
- containedctx
13
53
- contextcheck
54
+ - copyloopvar
14
55
- cyclop
56
+ - depguard
15
57
- dogsled
16
58
- dupl
17
59
- durationcheck
@@ -20,59 +62,86 @@ linters:
20
62
- errname
21
63
- errorlint
22
64
- exhaustive
23
- - exportloopref
24
- - forcetypeassert
65
+ - exptostd
66
+ - fatcontext
25
67
- gci
26
68
- gocheckcompilerdirectives
27
69
- gochecknoglobals
28
70
- gochecknoinits
71
+ - gochecksumtype
29
72
- gocognit
30
73
- goconst
31
74
- gocritic
32
75
- gocyclo
33
76
- godot
34
77
- godox
35
- - gofmt
36
78
- goimports
37
- - gomnd
38
79
- goprintffuncname
39
80
- gosec
40
81
- gosimple
41
82
- govet
83
+ - iface
42
84
- importas
85
+ - inamedparam
43
86
- ineffassign
44
87
- maintidx
45
88
- makezero
46
- - misspell
89
+ - mnd # https://golangci-lint.run/usage/linters/#mnd
47
90
- musttag
48
91
- nakedret
49
92
- nestif
50
93
- nilerr
94
+ - nilnesserr
51
95
- nilnil
52
- - nlreturn
53
96
- noctx
54
97
- nolintlint
55
98
- nosprintfhostport
56
- - paralleltest
99
+ - perfsprint
57
100
- prealloc
58
101
- predeclared
102
+ - promlinter
59
103
- reassign
104
+ - recvcheck
60
105
- revive
106
+ - rowserrcheck
61
107
- staticcheck
62
108
- stylecheck
63
109
- tagliatelle
110
+ - testifylint
64
111
- thelper
112
+ - tparallel
65
113
- typecheck
66
114
- unconvert
67
115
- unparam
68
116
- unused
69
117
- usestdlibvars
118
+ - usetesting
70
119
- whitespace
71
120
- wrapcheck
72
121
73
122
linters-settings :
123
+ cyclop :
124
+ max-complexity : 15
125
+ skip-tests : true
126
+ depguard :
127
+ rules :
128
+ main :
129
+ list-mode : lax
130
+ deny :
131
+ - pkg : " github.com/pkg/errors"
132
+ desc : Should be replaced by standard lib errors package
133
+ - pkg : " github.com/golang/protobuf"
134
+ desc : " Use google.golang.org/protobuf instead, see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules"
135
+ errcheck :
136
+ check-type-assertions : true
74
137
errorlint :
75
138
errorf : false
139
+ exhaustive :
140
+ # Presence of "default" case in switch statements satisfies exhaustiveness,
141
+ # even if all enum members are not listed.
142
+ default-signifies-exhaustive : true
143
+ # Only run exhaustive check on switches with "//exhaustive:enforce" comment.
144
+ explicit-exhaustive-switch : true
76
145
gci :
77
146
sections :
78
147
- standard
@@ -81,8 +150,70 @@ linters-settings:
81
150
gocognit :
82
151
min-complexity : 10
83
152
gocyclo :
84
- min-complexity : 10
153
+ min-complexity : 15
154
+ goimports :
155
+ local-prefixes : capuchin
156
+ gosec :
157
+ excludes :
158
+ - G108 # Profiling endpoint automatically exposed on /debug/pprof
159
+ govet :
160
+ # Run `GL_DEBUG=govet golangci-lint run --enable=govet` to see default, all available analyzers, and enabled analyzers.
161
+ enable-all : true
162
+ disable :
163
+ - fieldalignment # Использовать при необходимости, ухудшается читаемость кода
164
+ - slog # На проекте используется zap
165
+ settings :
166
+ shadow :
167
+ strict : true
168
+ iface :
169
+ enable :
170
+ - identical
171
+ - unused
172
+ - opaque
85
173
nestif :
86
174
min-complexity : 4
175
+ nolintlint :
176
+ require-explanation : true
177
+ require-specific : true
178
+ revive :
179
+ enable-all-rules : true
180
+ rules :
181
+ - name : add-constant
182
+ disabled : true
183
+ - name : cognitive-complexity
184
+ disabled : true
185
+ - name : comment-spacings
186
+ disabled : true
187
+ - name : cyclomatic
188
+ disabled : true
189
+ - name : function-length
190
+ disabled : true
191
+ - name : line-length-limit
192
+ disabled : true
193
+ - name : max-public-structs
194
+ disabled : true
195
+ - name : unused-parameter
196
+ disabled : true
197
+ rowserrcheck :
198
+ packages :
199
+ - github.com/jmoiron/sqlx
200
+ tagliatelle :
201
+ case :
202
+ use-field-name : true
203
+ testifylint :
204
+ enable-all : true
205
+ disable :
206
+ - require-error
87
207
unparam :
88
208
check-exported : true
209
+
210
+ issues :
211
+ # Maximum count of issues with the same text.
212
+ # Set to 0 to disable.
213
+ # Default: 3
214
+ max-same-issues : 50
215
+
216
+ exclude-rules :
217
+ - linters :
218
+ - govet
219
+ text : ' ^shadow: declaration of "err" shadows declaration.+'
0 commit comments