72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
# This file configures github.com/golangci/golangci-lint.
|
|
|
|
run:
|
|
timeout: 20m
|
|
tests: true
|
|
# default is true. Enables skipping of directories:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
skip-dirs-use-default: true
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- goimports
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- unconvert
|
|
- typecheck
|
|
- unused
|
|
- staticcheck
|
|
- bidichk
|
|
- durationcheck
|
|
- exportloopref
|
|
- whitespace
|
|
- revive # only certain checks enabled
|
|
|
|
### linters we tried and will not be using:
|
|
###
|
|
# - structcheck # lots of false positives
|
|
# - errcheck #lot of false positives
|
|
# - contextcheck
|
|
# - errchkjson # lots of false positives
|
|
# - errorlint # this check crashes
|
|
# - exhaustive # silly check
|
|
# - makezero # false positives
|
|
# - nilerr # several intentional
|
|
|
|
linters-settings:
|
|
gofmt:
|
|
simplify: true
|
|
revive:
|
|
enable-all-rules: false
|
|
# here we enable specific useful rules
|
|
# see https://golangci-lint.run/usage/linters/#revive for supported rules
|
|
rules:
|
|
- name: receiver-naming
|
|
severity: warning
|
|
disabled: false
|
|
exclude: [""]
|
|
|
|
issues:
|
|
exclude-files:
|
|
- core/genesis_alloc.go
|
|
exclude-rules:
|
|
- path: crypto/bn256/cloudflare/optate.go
|
|
linters:
|
|
- deadcode
|
|
- staticcheck
|
|
- path: crypto/bn256/
|
|
linters:
|
|
- revive
|
|
- path: internal/build/pgp.go
|
|
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
|
|
- path: core/vm/contracts.go
|
|
text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.'
|
|
exclude:
|
|
- 'SA1019: event.TypeMux is deprecated: use Feed'
|
|
- 'SA1019: strings.Title is deprecated'
|
|
- 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.'
|
|
- 'SA1029: should not use built-in type string as key for value'
|