-
Notifications
You must be signed in to change notification settings - Fork 1
/
.golangci.yml
152 lines (148 loc) · 2.76 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
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
141
142
143
144
145
146
147
148
149
150
151
152
run:
timeout: 3m
skip-dirs-use-default: true
issues:
max-per-linter: 0
max-same-issues: 0
exclude-rules:
- path: _test\.go
linters:
- bodyclose
- dupl
- errcheck
- errorlint
- funlen
- goconst
- gocyclo
- goerr113
- gosec
- lll
- noctx
- prealloc
- unparam
output:
uniq-by-line: true
sort-results: true
linters:
disable-all: true
enable:
- asciicheck
- bodyclose
- depguard
- durationcheck
- errcheck
- errorlint
- exhaustive
- exportloopref
- gocritic
- gofmt
- goimports
- gomoddirectives
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- makezero
- megacheck
- misspell
- nakedret
- nakedret
- nilerr
- noctx
- nolintlint
- prealloc
- revive
- rowserrcheck
- sqlclosecheck
- staticcheck
# Disabled until we have proper camel-casing with initialisms
# See: https://golangci-lint.run/usage/linters/#stylecheck
# - stylecheck
- typecheck
- unconvert
- unparam
- unused
- vet
- vetshadow
- wastedassign
- whitespace
linters-settings:
depguard:
rules:
main:
deny:
- pkg: github.com/pkg/errors
desc: Use "errors" from std lib instead.
errorlint:
errorf: true
asserts: false
comparison: true
errcheck:
check-type-assertions: true
check-blank: false
exhaustive:
default-signifies-exhaustive: true
gci:
sections:
- standard
- default
- prefix(github.com/sumup/portier)
- dot
skip-generated: false
gocritic:
disabled-checks:
- sloppyReassign
- whyNoLint
enabled-tags:
- diagnostic
- style
- performance
settings:
hugeParam:
sizeThreshold: 512
gofmt:
simplify: true
goimports:
local-prefixes: github.com/sumup/portier
golint:
min-confidence: 0.8
gomoddirectives:
replace-local: true
replace-allow-list:
- github.com/sumup/portier-migrate
- github.com/sqlc-dev/sqlc
gosimple:
checks: ["all"]
govet:
check-shadowing: true
enable-all: true
disable:
- fieldalignment
nakedret:
max-func-lines: 10
misspell:
locale: US
prealloc:
simple: true
range-loops: true
for-loops: false
revive:
rules:
- name: blank-imports
disabled: true
nolintlint:
allow-unused: false
allow-leading-space: false
allow-no-explanation: [noctx]
require-explanation: true
require-specific: true
staticcheck:
checks: ['all']
unparam:
check-exported: false
unused:
check-exported: false
whitespace:
multi-if: false
multi-func: false