-
Notifications
You must be signed in to change notification settings - Fork 0
/
.golangci.yaml
132 lines (123 loc) · 2.76 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
# https://golangci-lint.run/usage/configuration/
linters-settings:
mnd:
ignored-numbers:
- "0o666"
- "0o644"
- "0o600"
- "0o755"
- "0o750"
- "0o700"
depguard:
rules:
main:
files:
- $all
- "!$test"
deny:
- pkg: io/ioutil
desc: ioutil is deprecated starting with Go 1.16
- pkg: "github.com/pkg/errors"
desc: Should be replaced by standard lib errors package
test:
files:
- "$test"
deny:
- pkg: io/ioutil
desc: ioutil is deprecated starting with Go 1.16
- pkg: "github.com/pkg/errors"
desc: Should be replaced by standard lib errors package
errcheck:
check-type-assertions: true
exhaustive:
default-signifies-exhaustive: true
goconst:
min-len: 2
min-occurrences: 3
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
nolintlint:
require-explanation: false
require-specific: true
tagliatelle:
case:
use-field-name: true
rules:
# Any struct tag type can be used.
# Support string case: `camel`, `pascal`, `kebab`, `snake`, `goCamel`, `goPascal`, `goKebab`, `goSnake`, `upper`, `lower`
json: camel
yaml: camel
xml: camel
bson: camel
avro: snake
mapstructure: camel
env: upperSnake
issues:
exclude-rules:
- path: _test\.go # disable some linters on test files
linters:
- gocyclo
- gosec
- dupl
# Exclude some gocritic messages project-wide
- linters: [gocritic]
text: commentedOutCode
- linters: [gocritic]
text: whyNoLint
- linters: [gocritic]
text: unnecessaryBlock
- linters: [gocritic]
text: todoCommentWithoutDetail
- linters: [govet]
text: 'declaration of "(err|ctx)" shadows declaration at'
# "/" will be replaced by current OS file path separator to properly work on Windows.
exclude-dirs:
- .bingo
- .chglog
- .github
- .vscode
- bin
- build
- config
- deploy
- doc
- docs
- docker
- hot
- logs
# Enables exclude of directories:
# - vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
exclude-dirs-use-default: true
linters:
enable-all: true
disable:
- cyclop
- gochecknoglobals
- exhaustruct
- forbidigo
- funlen
- gci
- gochecknoinits
- gocognit
- godot
- godox
- err113
- ireturn
- lll
- paralleltest
- nlreturn
- nonamedreturns
- varnamelen
- wrapcheck
- wsl
# linters deprecated
- execinquery
- exportloopref
- gomnd
run:
issues-exit-code: 1