-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.golangci.yml
80 lines (80 loc) · 1.81 KB
/
.golangci.yml
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
run:
timeout: "10m"
output:
sort-results: true
linters:
disable-all: true
enable:
- "asciicheck"
- "bodyclose"
- "deadcode"
- "depguard"
- "errcheck"
- "errorlint"
- "exportloopref"
- "gocritic"
- "gocyclo"
- "godot"
- "goerr113"
- "gofmt"
- "gofumpt"
- "goimports"
- "gosimple"
- "govet"
- "ineffassign"
- "makezero"
- "misspell"
- "nakedret"
- "nilerr"
- "nolintlint"
- "predeclared"
- "staticcheck"
- "structcheck"
- "stylecheck"
- "unconvert"
- "unparam"
- "unused"
- "varcheck"
linters-settings:
depguard:
list-type: blacklist
include-go-root: true
errcheck:
check-type-assertions: true
gocritic:
enabled-tags:
- experimental
- diagnostic
- opinionated
- performance
- style
disabled-checks:
- commentFormatting # TODO enable in order to follow the Go convention.
- hugeParam # Too many problem for now. And maybe it's not a real issue.
- paramTypeCombine # Too many false positive.
- ptrToRefParam # TODO evaluate if this check can be enabled, and disable with nolint for specific cases.
- rangeValCopy # TODO evaluate if this should be fixed or not.
- tooManyResultsChecker # It's usually justified.
- unnamedResult # TODO fix projects.
- whyNoLint # It's the developer/reviewer responsibility.
gocyclo:
min-complexity: 10
govet:
enable-all: true
disable:
- fieldalignment
nolintlint:
allow-unused: false
allow-leading-space: false
allow-no-explanation:
- errcheck
- misspell
require-explanation: true
require-specific: true
stylecheck:
go: "1.17"
checks: [ "all" ]
issues:
exclude-use-default: false
max-issues-per-linter: 0
max-same-issues: 0