
Use go/packages instead of x/tools/loader: it allows to work with go modules and speedups loading of packages with the help of build cache. A lot of linters became "fast": they are enabled by --fast now and work in 1-2 seconds. Only unparam, interfacer and megacheck are "slow" linters now. Average project is analyzed 20-40% faster than before if all linters are enabled! If we enable all linters except unparam, interfacer and megacheck analysis is 10-20x faster!
32 lines
559 B
YAML
32 lines
559 B
YAML
linters-settings:
|
|
govet:
|
|
check-shadowing: true
|
|
golint:
|
|
min-confidence: 0
|
|
gocyclo:
|
|
min-complexity: 10
|
|
maligned:
|
|
suggest-new: true
|
|
dupl:
|
|
threshold: 100
|
|
goconst:
|
|
min-len: 2
|
|
min-occurrences: 2
|
|
depguard:
|
|
list-type: blacklist
|
|
packages:
|
|
# logging is allowed only by logutils.Log, logrus
|
|
# is allowed to use only in logutils package
|
|
- github.com/sirupsen/logrus
|
|
misspell:
|
|
locale: US
|
|
lll:
|
|
line-length: 140
|
|
|
|
linters:
|
|
enable-all: true
|
|
disable:
|
|
- maligned
|
|
- prealloc
|
|
- gosec
|