-
Notifications
You must be signed in to change notification settings - Fork 47
/
.golangci.yml
132 lines (115 loc) · 2.92 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
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
deadline: 5m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# ugly code is ugly - test code is no exception
tests: true
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
# to go.mod are needed. This setting is most useful to check that go.mod does
# not need updates, such as in a continuous integration and testing system.
# If invoked with -mod=vendor, the go command assumes that the vendor
# directory holds the correct copies of dependencies and ignores
# the dependency descriptions in go.mod.
modules-download-mode: readonly
# go version to use. Default is the version of the go command.
go: "1.19"
output:
formats:
- format: colored-line-number
path: stdout
# Sort results by the order defined in `sort-order`.
# Default: false
sort-results: true
# Order to use when sorting results.
# Require `sort-results` to `true`.
# Possible values: `file`, `linter`, and `severity`.
#
# If the severity values are inside the following list, they are ordered in this order:
# 1. error
# 2. warning
# 3. high
# 4. medium
# 5. low
# Either they are sorted alphabetically.
#
# Default: ["file"]
sort-order:
# - linter
# - severity
- file # filepath, line, and column.
# show stats
show-stats: true
linters:
enable-all: false
enabled:
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- unused
fast: false
disable:
- contextcheck
- err113
- godox
- testifylint
- wrapcheck
presets:
- bugs
- comment
- complexity
- error
- format
- import
# - metalinter
- module
- performance
- sql
# - style
# - test
- unused
linters-settings:
cyclop:
# The maximal code complexity to report.
# Default: 10
max-complexity: 20
depguard:
rules:
main:
list-mode: lax
files:
- "!$test"
- "!**/plugins/**"
deny:
- pkg: github.com/aws/aws-sdk-go
desc: "aws-sdk-go dependants must be in plugins/aws-v1"
errors:
list-mode: lax
files:
- "$all"
deny:
- pkg: github.com/pkg/errors
desc: "pkg/errors is deprecated, use errors package from stdlib"
gci:
sections:
- standard
- default
- prefix(github.com/godaddy/asherah/go/appencryption)
custom-order: true
funlen:
lines: 70
issues:
exclude-rules:
- path: _test\.go
linters:
- errcheck
- godot
- gosec
- perfsprint