-
Notifications
You must be signed in to change notification settings - Fork 14
/
.golangci.yml
146 lines (142 loc) · 3.28 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
run:
timeout: 5m
tests: true
go: '1.23'
allow-parallel-runners: true
issues:
max-same-issues: 10
exclude-dirs:
- 'types/legacy'
exclude-files:
- '.*\\legacy\\_.*\\.go$'
- '.*\\legacy\\.go$'
- '.*\\.sol\\.go$'
- ".*\\.pb\\.go$"
- ".*\\.pb\\.gw\\.go$"
- ".*\\.pulsar\\.go$"
linters:
enable:
- gofumpt
- unconvert
- unparam
- stylecheck
- gocyclo
- errorlint
- prealloc
- gocritic
- gci
- dogsled
- gosec
- errcheck
- goconst
- gosimple
- govet
- ineffassign
- misspell
- nakedret
- nolintlint
- staticcheck
- revive
- typecheck
- unused
- thelper
- copyloopvar
- wastedassign
- testifylint
linters-settings:
staticcheck:
checks: [ "all", "-SA1019" ]
stylecheck:
checks: [ "all", "-ST1003" ]
gocyclo:
min-complexity: 15
gocritic:
disabled-checks: [ "assignOp", "ifElseChain", "appendAssign" ]
misspell:
locale: US
gofumpt:
extra-rules: true
dogsled:
max-blank-identifiers: 6
nolintlint:
allow-unused: false
require-explanation: true
require-specific: false
gosimple:
checks: [ "all" ]
gosec:
excludes: [ "G115" ]
gci:
custom-order: true
sections:
- standard # Standard section: captures all standard packages.
- default # Default section: contains all imports that could not be matched to another section type.
- prefix(github.com/functionx/fx-core)
errcheck:
check-type-assertions: false
check-blank: false
unused:
field-writes-are-uses: false
exported-fields-are-used: false
local-variables-are-used: false
revive:
# https://golangci-lint.run/usage/linters/#revive
enable-all-rules: true
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
rules:
- name: max-control-nesting
disabled: false
exclude:
- "**/doctor.go"
- name: blank-imports
disabled: false
exclude:
- "**/app.go"
- name: function-result-limit
disabled: false
arguments:
- 4
- name: unhandled-error
arguments:
- "fmt.Printf"
- "fmt.Println"
- "strings.Builder.WriteString"
- name: var-naming
arguments:
- [ "ID", "IDS", "URL", "JSON", "RPC" ] # AllowList
- [ "" ] # DenyList
- - upperCaseConst: true
- name: line-length-limit
disabled: true
- name: cyclomatic
disabled: true
- name: use-any
disabled: true
- name: add-constant
disabled: true
- name: import-shadowing
disabled: true
- name: function-length
disabled: true
- name: unused-parameter
disabled: true
- name: unused-receiver
disabled: true
- name: max-public-structs
disabled: true
- name: cognitive-complexity
disabled: true
- name: flag-parameter
disabled: true
- name: indent-error-flow
disabled: true
- name: argument-limit
disabled: true
- name: bare-return
disabled: true
- name: nested-structs
disabled: true
- name: unchecked-type-assertion
disabled: true
- name: comment-spacings
disabled: true