-
Notifications
You must be signed in to change notification settings - Fork 145
/
.golangci.yml
93 lines (81 loc) · 2.48 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
81
82
83
84
85
86
87
88
89
90
91
92
93
linters:
# Please, do not use `enable-all`: it's deprecated and will be removed soon.
# Inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint.
# Full list of linters - https://golangci-lint.run/usage/linters
disable-all: true
enable:
- errcheck # Mandatory. Do not disable.
- ineffassign # Mandatory. Do not disable.
- staticcheck # Mandatory. Do not disable.
- gosimple
- gosec
- bodyclose # https://github.com/timakin/bodyclose
- gocyclo
- gomodguard
- nolintlint
# TODO:
# - gocritic
# - goimports
# - gosimple
# - govet
# - noctx
# - stylecheck
# - typecheck
# - unused
linters-settings:
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
errcheck:
# List of functions to exclude from checking, where each entry is a single function to exclude.
# See https://github.com/kisielk/errcheck#excluding-functions for details.
exclude-functions:
- (io.Closer).Close
- (io.ReadCloser).Close
gosec:
# To specify a set of rules to explicitly exclude.
# Available rules: https://github.com/securego/gosec#available-rules
# Default: []
excludes:
# Not critical for the http client
- G114 # Use of net/http serve function that has no support for setting timeouts
govet:
enable-all: true
disable:
- shadow
- fieldalignment
gomodguard:
blocked:
# List of blocked modules.
modules:
- github.com/pkg/errors:
recommendations:
- github.com/mailgun/errors
- errors
reason: "Deprecated"
stylecheck:
# https://staticcheck.io/docs/options#checks
checks: ["all"]
issues:
# Which files to exclude: they will be analyzed, but issues from them won't be reported.
# There is no need to include all autogenerated files,
# we confidently recognize autogenerated files.
# If it's not, please let us know.
# "/" will be replaced by current OS file path separator to properly work on Windows.
# Default: []
exclude-files:
- "^mock_*"
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 50
run:
# include test files or not, default is true
tests: true
# Timeout for analysis, e.g. 30s, 5m.
# Default: 1m
timeout: 5m