-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.golangci.yaml
111 lines (106 loc) · 2.42 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
linters-settings:
funlen:
lines: 110
statements: 70
gci:
sections:
- standard
- default
- localmodule
custom-order: true
goconst:
min-len: 2
min-occurrences: 2
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
gocyclo:
min-complexity: 15
cyclop:
skip-tests: true
max-complexity: 15
godot:
capital: true
goimports:
local-prefixes: github.com/lzambarda/goflat
govet:
settings:
printf:
funcs:
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
disable:
- fieldalignment
lll:
line-length: 140
misspell:
locale: UK
tagliatelle:
case:
rules:
json: snake
unparam:
check-exported: true
wrapcheck:
ignoreSigs:
- .Errorf(
- errors.New(
- errors.Unwrap(
- errors.Join(
- .Wrap(
- .Wrapf(
- .WithMessage(
- .WithMessagef(
- .WithStack(
- status.Error(
wsl:
allow-cuddle-declarations: true
issues:
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
- path: _test\.go
linters:
- bodyclose
- dupl # we usually duplicate code in tests
- dupword
- errcheck
- errchkjson # we mostly dump file diffs, no biggie
- funlen
- gochecknoglobals
- goconst # sometimes it is easier this way
- gocritic
- gosec # security check is not important in tests
- govet
- maintidx
- revive
- unparam
- varnamelen
- wrapcheck
- path: testing
linters:
- errcheck
fix: true
exclude-use-default: false
exclude-dirs:
- model
- tmp
- bin
- scripts
run:
allow-parallel-runners: true
tests: true
build-tags:
- integration
linters:
enable-all: true
disable:
- exhaustruct # I want to use zero values... and sometime leave a field uninitialised, because it'll be later.
- depguard # because I don't want to write a dedicated config file.
- nonamedreturns # I don't fully agree with this
- paralleltest # I don't agree with this level of nitpicking