2021-12-19 21:39:53 +00:00
|
|
|
linters-settings:
|
|
|
|
cyclop:
|
|
|
|
max-complexity: 20
|
|
|
|
# the maximal average package complexity. If it's higher than 0.0 (float) the check is enabled (default 0.0)
|
|
|
|
package-average: 0.0
|
|
|
|
skip-tests: false
|
|
|
|
dogsled:
|
|
|
|
# checks assignments with too many blank identifiers; default is 2
|
|
|
|
max-blank-identifiers: 2
|
|
|
|
dupl:
|
|
|
|
threshold: 100
|
|
|
|
errcheck:
|
|
|
|
check-type-assertions: false
|
|
|
|
check-blank: false
|
|
|
|
errorlint:
|
|
|
|
errorf: false
|
|
|
|
asserts: true
|
|
|
|
comparison: true
|
|
|
|
forbidigo:
|
|
|
|
# Forbid the following identifiers (identifiers are written using regexp):
|
|
|
|
forbid:
|
|
|
|
- ^print.*$
|
|
|
|
- 'fmt\.Print.*'
|
|
|
|
exclude_godoc_examples: true
|
|
|
|
funlen:
|
|
|
|
lines: 60
|
|
|
|
statements: 60
|
|
|
|
gocognit:
|
|
|
|
min-complexity: 35
|
|
|
|
goconst:
|
|
|
|
min-len: 3
|
|
|
|
min-occurrences: 3
|
|
|
|
ignore-tests: true
|
|
|
|
match-constant: true
|
|
|
|
numbers: false
|
|
|
|
min: 3
|
|
|
|
max: 3
|
|
|
|
ignore-calls: true
|
|
|
|
gocritic:
|
|
|
|
# Which checks should be disabled; can't be combined with 'enabled-checks'
|
|
|
|
disabled-checks:
|
|
|
|
- regexpMust
|
|
|
|
gocyclo:
|
|
|
|
min-complexity: 20
|
|
|
|
godot:
|
|
|
|
# comments to be checked: `declarations`, `toplevel`, or `all`
|
|
|
|
scope: all
|
|
|
|
capital: false
|
|
|
|
godox:
|
|
|
|
# report any comments starting with keywords, this is useful for TODO or FIXME comments that
|
|
|
|
# might be left in the code accidentally and should be resolved before merging
|
|
|
|
keywords:
|
|
|
|
- TODO
|
|
|
|
- BUG
|
|
|
|
- FIXME
|
|
|
|
- NOTE
|
|
|
|
- OPTIMIZE # marks code that should be optimized before merging
|
|
|
|
- HACK # marks hack-arounds that should be removed before merging
|
|
|
|
gofmt:
|
|
|
|
# simplify code: gofmt with `-s` option
|
|
|
|
simplify: true
|
|
|
|
gofumpt:
|
|
|
|
# Select the Go version to target
|
2022-05-26 14:55:41 +00:00
|
|
|
lang-version: "1.18"
|
2021-12-19 21:39:53 +00:00
|
|
|
extra-rules: false
|
|
|
|
goimports:
|
|
|
|
# put imports beginning with prefix after 3rd-party packages;
|
|
|
|
# it's a comma-separated list of prefixes
|
|
|
|
local-prefixes: github.com/trustwallet
|
|
|
|
gomnd:
|
|
|
|
settings:
|
|
|
|
mnd:
|
|
|
|
# the list of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
|
|
|
|
checks:
|
|
|
|
- argument
|
|
|
|
- case
|
|
|
|
- condition
|
|
|
|
- operation
|
|
|
|
- return
|
|
|
|
- assign
|
|
|
|
ignored-numbers: 10,1000
|
|
|
|
gomoddirectives:
|
|
|
|
replace-local: false
|
|
|
|
gosec:
|
|
|
|
# To select a subset of rules to run.
|
|
|
|
# Available rules: https://github.com/securego/gosec#available-rules
|
|
|
|
includes:
|
|
|
|
- G401
|
|
|
|
- G306
|
|
|
|
- G101
|
|
|
|
gosimple:
|
|
|
|
# Select the Go version to target
|
2022-05-26 14:55:41 +00:00
|
|
|
go: "1.18"
|
2021-12-19 21:39:53 +00:00
|
|
|
# https://staticcheck.io/docs/options#checks
|
|
|
|
checks: [ "all" ]
|
|
|
|
govet:
|
|
|
|
check-shadowing: true
|
|
|
|
ifshort:
|
|
|
|
# Maximum length of variable declaration measured in number of lines, after which linter won't suggest using short syntax.
|
|
|
|
# Has higher priority than max-decl-chars.
|
|
|
|
max-decl-lines: 1
|
|
|
|
# Maximum length of variable declaration measured in number of characters, after which linter won't suggest using short syntax.
|
|
|
|
max-decl-chars: 30
|
|
|
|
importas:
|
|
|
|
# if set to `true`, force to use alias.
|
|
|
|
no-unaliased: true
|
|
|
|
# List of aliases
|
|
|
|
alias:
|
|
|
|
- pkg: github:com/trustwallet/go-libs/gin
|
|
|
|
alias: golibsGin
|
|
|
|
lll:
|
|
|
|
# max line length
|
|
|
|
line-length: 120
|
|
|
|
tab-width: 1
|
|
|
|
misspell:
|
|
|
|
locale: US
|
|
|
|
# ignore-words:
|
|
|
|
nolintlint:
|
|
|
|
# Enable to ensure that nolint directives are all used
|
|
|
|
allow-unused: false
|
|
|
|
# Disable to ensure that nolint directives don't have a leading space
|
|
|
|
allow-leading-space: true
|
|
|
|
# Exclude following linters from requiring an explanation
|
|
|
|
allow-no-explanation: []
|
|
|
|
# Enable to require an explanation of nonzero length after each nolint directive
|
|
|
|
require-explanation: false
|
|
|
|
# Enable to require nolint directives to mention the specific linter being suppressed
|
|
|
|
require-specific: true
|
|
|
|
revive:
|
|
|
|
# see https://github.com/mgechev/revive#available-rules for details.
|
|
|
|
ignore-generated-header: true
|
|
|
|
severity: warning
|
|
|
|
rules:
|
|
|
|
- name: indent-error-flow
|
|
|
|
severity: warning
|
|
|
|
- name: time-naming
|
|
|
|
severity: warn
|
|
|
|
- name: errorf
|
|
|
|
severity: warn
|
|
|
|
- name: blank-imports
|
|
|
|
sevetiry: warn
|
|
|
|
# The error return parameter should be last
|
|
|
|
- name: error-return
|
|
|
|
severity: error
|
|
|
|
# Redundant if when returning an error
|
|
|
|
- name: if-return
|
|
|
|
severity: warn
|
|
|
|
# Warns when there are heading or trailing newlines in a block
|
|
|
|
- name: empty-lines
|
|
|
|
severity: error
|
|
|
|
staticcheck:
|
|
|
|
# Select the Go version to target
|
2022-05-26 14:55:41 +00:00
|
|
|
go: "1.18"
|
2021-12-19 21:39:53 +00:00
|
|
|
# https://staticcheck.io/docs/options#checks
|
|
|
|
checks: [ "all" ]
|
|
|
|
stylecheck:
|
|
|
|
# Select the Go version to target
|
2022-05-26 14:55:41 +00:00
|
|
|
go: "1.18"
|
2021-12-19 21:39:53 +00:00
|
|
|
# https://staticcheck.io/docs/options#checks
|
|
|
|
checks: [ "all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022" ]
|
|
|
|
# https://staticcheck.io/docs/options#dot_import_whitelist
|
|
|
|
dot-import-whitelist:
|
|
|
|
- fmt
|
|
|
|
# https://staticcheck.io/docs/options#initialisms
|
|
|
|
initialisms: [ "ACL", "API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID", "IP", "JSON", "QPS", "RAM", "RPC", "SLA", "SMTP", "SQL", "SSH", "TCP", "TLS", "TTL", "UDP", "UI", "GID", "UID", "UUID", "URI", "URL", "UTF8", "VM", "XML", "XMPP", "XSRF", "XSS" ]
|
|
|
|
# https://staticcheck.io/docs/options#http_status_code_whitelist
|
|
|
|
http-status-code-whitelist: [ "200", "400", "404", "500" ]
|
|
|
|
unused:
|
|
|
|
# Select the Go version to target
|
2022-05-26 14:55:41 +00:00
|
|
|
go: "1.18"
|
2021-12-19 21:39:53 +00:00
|
|
|
whitespace:
|
|
|
|
multi-if: true # Enforces newlines (or comments) after every multi-line if statement
|
|
|
|
multi-func: false # Enforces newlines (or comments) after every multi-line function signature
|
|
|
|
wsl:
|
|
|
|
# See https://github.com/bombsimon/wsl/blob/master/doc/configuration.md for
|
|
|
|
# documentation of available settings
|
|
|
|
allow-assign-and-anything: false
|
|
|
|
allow-assign-and-call: true
|
|
|
|
allow-cuddle-declarations: false
|
|
|
|
allow-multiline-assign: true
|
|
|
|
allow-separated-leading-comment: false
|
|
|
|
allow-trailing-comment: false
|
|
|
|
force-case-trailing-whitespace: 0
|
|
|
|
force-err-cuddling: false
|
|
|
|
force-short-decl-cuddling: false
|
|
|
|
strict-append: true
|
|
|
|
|
|
|
|
linters:
|
|
|
|
disable-all: true
|
|
|
|
enable:
|
|
|
|
- bodyclose
|
|
|
|
- deadcode
|
|
|
|
- depguard
|
|
|
|
- dogsled
|
|
|
|
- dupl
|
|
|
|
- errcheck
|
|
|
|
- exportloopref
|
|
|
|
- exhaustive
|
|
|
|
- funlen
|
|
|
|
- gochecknoinits
|
|
|
|
- goconst
|
|
|
|
- gocritic
|
|
|
|
- gocyclo
|
|
|
|
- gofmt
|
|
|
|
- goimports
|
|
|
|
# - gomnd
|
|
|
|
- goprintffuncname
|
|
|
|
- gosec
|
|
|
|
- gosimple
|
|
|
|
- govet
|
|
|
|
- ineffassign
|
|
|
|
- lll
|
|
|
|
- misspell
|
|
|
|
- nakedret
|
|
|
|
- noctx
|
|
|
|
- nolintlint
|
|
|
|
- rowserrcheck
|
|
|
|
- staticcheck
|
|
|
|
- structcheck
|
|
|
|
- stylecheck
|
|
|
|
- typecheck
|
|
|
|
- unconvert
|
|
|
|
- unparam
|
|
|
|
- unused
|
|
|
|
- varcheck
|
|
|
|
- whitespace
|
|
|
|
- asciicheck
|
|
|
|
# - gochecknoglobals
|
|
|
|
- gocognit
|
|
|
|
- godot
|
|
|
|
# - godox
|
|
|
|
# - goerr113
|
|
|
|
# - nestif
|
|
|
|
- prealloc
|
|
|
|
# - revive
|
|
|
|
# - wsl
|
|
|
|
|
|
|
|
output:
|
|
|
|
format: colored-line-number
|
|
|
|
print-issued-lines: true
|
|
|
|
print-linter-name: true
|
|
|
|
uniq-by-line: true
|
|
|
|
path-prefix: ""
|
|
|
|
sort-results: true
|