-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.golangci.yml
More file actions
122 lines (118 loc) · 2.61 KB
/
.golangci.yml
File metadata and controls
122 lines (118 loc) · 2.61 KB
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
version: "2"
run:
timeout: 10m
modules-download-mode: readonly
tests: true
linters:
enable:
- govet
- staticcheck
- ineffassign
- errcheck
- unparam
- revive
- gocyclo
- gocognit
- funlen
- lll
- gocritic
- misspell
- prealloc
- forbidigo
- durationcheck
- errname
- wastedassign
- nakedret
- nestif
- copyloopvar
- gosec
- unconvert
exclusions:
paths:
- reference
- tmp
- bin
rules:
- path: '(.+)_test\.go'
linters:
- gocognit
- funlen
- goconst
settings:
gosec:
# Exclude rules that produce false positives on manually-verified secure code:
# - G204: Subprocess with variable (URLs are validated before use)
# - G706: Log injection (all logged values use sanitizeForLog)
# - G704: SSRF (URLs are validated against configured rack URLs)
# - G703: Path traversal (paths are validated with validateSafePath)
excludes:
- G204
- G706
- G704
- G703
staticcheck:
checks: ["all", "-ST1006", "-ST1000"]
revive:
rules:
- name: unused-parameter
severity: error
- name: unused-receiver
severity: error
- name: confusing-naming
severity: error
- name: exported
- name: blank-imports
- name: context-as-argument
- name: context-keys-type
- name: early-return
- name: error-return
- name: errorf
- name: indent-error-flow
- name: if-return
- name: import-shadowing
- name: time-naming
- name: deep-exit
- name: redefines-builtin-id
- name: unexported-return
unparam:
check-exported: true
gocognit:
min-complexity: 15
gocyclo:
min-complexity: 15
funlen:
lines: 100
statements: 50
lll:
line-length: 120
tab-width: 4
forbidigo:
forbid:
- pattern: 'panic\('
msg: "panic is forbidden; return errors instead"
- pattern: 'fmt\.Print(f|ln)?\('
msg: "use structured logging instead of fmt.Print*"
- pattern: 'time\.Sleep\('
msg: "avoid time.Sleep; use context with timeout"
misspell:
locale: US
formatters:
enable:
- gofmt
- goimports
- gofumpt
exclusions:
paths:
- reference
- tmp
- bin
settings:
gofmt:
simplify: true
goimports:
local-prefixes:
- github.com/DocSpring/rack-gateway
gofumpt: {}
issues:
max-same-issues: 0
max-issues-per-linter: 0