477 lines
16 KiB
YAML
477 lines
16 KiB
YAML
run:
|
|
tests: true
|
|
timeout: 5m
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- gocyclo
|
|
- asasalint
|
|
- asciicheck
|
|
- bodyclose
|
|
- bidichk
|
|
- exportloopref
|
|
- errcheck
|
|
- gocritic
|
|
- gosec
|
|
- gofmt
|
|
- goimports
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- nakedret
|
|
- prealloc
|
|
- staticcheck
|
|
- typecheck
|
|
- unconvert
|
|
- unused
|
|
- lll
|
|
- nestif
|
|
- thelper
|
|
- nonamedreturns
|
|
- tenv
|
|
- testpackage
|
|
- noctx
|
|
- tparallel
|
|
- usestdlibvars
|
|
- unconvert
|
|
- makezero
|
|
- grouper
|
|
- errname
|
|
- exhaustive
|
|
- tagliatelle
|
|
- contextcheck
|
|
- gocheckcompilerdirectives
|
|
- errname
|
|
- forcetypeassert
|
|
- durationcheck
|
|
- predeclared
|
|
- promlinter
|
|
- wastedassign
|
|
- testifylint
|
|
- inamedparam
|
|
- sloglint
|
|
- revive
|
|
|
|
linters-settings:
|
|
gocyclo:
|
|
min-complexity: 10
|
|
tagliatelle:
|
|
case:
|
|
rules:
|
|
json: camel
|
|
bun: snake
|
|
lll:
|
|
line-length: 120
|
|
govet:
|
|
enable:
|
|
- asmdecl
|
|
- assign
|
|
- atomic
|
|
- atomicalign
|
|
- bools
|
|
- buildtag
|
|
- cgocall
|
|
- composites
|
|
- copylocks
|
|
- deepequalerrors
|
|
- errorsas
|
|
- findcall
|
|
- framepointer
|
|
- httpresponse
|
|
- ifaceassert
|
|
- loopclosure
|
|
- lostcancel
|
|
- nilfunc
|
|
- nilness
|
|
- printf
|
|
- reflectvaluecompare
|
|
- shadow
|
|
- shift
|
|
- sigchanyzer
|
|
- sortslice
|
|
- stdmethods
|
|
- stringintconv
|
|
- structtag
|
|
- testinggoroutine
|
|
- tests
|
|
- unmarshal
|
|
- unreachable
|
|
- unsafeptr
|
|
- unusedresult
|
|
- unusedwrite
|
|
testifylint:
|
|
enable-all: true
|
|
sloglint:
|
|
attr-only: true
|
|
revive:
|
|
rules:
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#add-constant
|
|
- name: add-constant
|
|
severity: warning
|
|
disabled: true
|
|
arguments:
|
|
- maxLitCount: "3"
|
|
allowStrs: "\"\""
|
|
ignoreFuncs: os.Exit,wg.Add,make
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#argument-limit
|
|
- name: argument-limit
|
|
severity: warning
|
|
disabled: true
|
|
arguments: [4]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#atomic
|
|
- name: atomic
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#banned-characters
|
|
- name: banned-characters
|
|
severity: warning
|
|
disabled: true
|
|
arguments: []
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bare-return
|
|
- name: bare-return
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#blank-imports
|
|
- name: blank-imports
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bool-literal-in-expr
|
|
- name: bool-literal-in-expr
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#call-to-gc
|
|
- name: call-to-gc
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#cognitive-complexity
|
|
- name: cognitive-complexity
|
|
severity: warning
|
|
disabled: true
|
|
arguments: [7]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#comment-spacings
|
|
- name: comment-spacings
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#confusing-naming
|
|
- name: confusing-naming
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#confusing-results
|
|
- name: confusing-results
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#constant-logical-expr
|
|
- name: constant-logical-expr
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-as-argument
|
|
- name: context-as-argument
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- allowTypesBefore: "*testing.T,testing.TB"
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-keys-type
|
|
- name: context-keys-type
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#cyclomatic
|
|
- name: cyclomatic
|
|
severity: warning
|
|
disabled: true
|
|
arguments: [10]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#datarace
|
|
- name: datarace
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#deep-exit
|
|
- name: deep-exit
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#defer
|
|
- name: defer
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- [call-chain, loop]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#dot-imports
|
|
- name: dot-imports
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#duplicated-imports
|
|
- name: duplicated-imports
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
|
|
- name: early-return
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- preserveScope
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-block
|
|
- name: empty-block
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
|
|
- name: empty-lines
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#enforce-map-style
|
|
- name: enforce-map-style
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- make
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-naming
|
|
- name: error-naming
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-return
|
|
- name: error-return
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-strings
|
|
- name: error-strings
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#errorf
|
|
- name: errorf
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#exported
|
|
- name: exported
|
|
severity: warning
|
|
disabled: true
|
|
arguments:
|
|
- preserveScope
|
|
- checkPrivateReceivers
|
|
- sayRepetitiveInsteadOfStutters
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#file-header
|
|
- name: file-header
|
|
severity: warning
|
|
disabled: true
|
|
arguments:
|
|
- This is the text that must appear at the top of source files.
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#flag-parameter
|
|
- name: flag-parameter
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#function-result-limit
|
|
- name: function-result-limit
|
|
severity: warning
|
|
disabled: false
|
|
arguments: [4]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#function-length
|
|
- name: function-length
|
|
severity: warning
|
|
disabled: true
|
|
arguments: [10, 0]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#get-return
|
|
- name: get-return
|
|
severity: warning
|
|
disabled: true
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#identical-branches
|
|
- name: identical-branches
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#if-return
|
|
- name: if-return
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#increment-decrement
|
|
- name: increment-decrement
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#indent-error-flow
|
|
- name: indent-error-flow
|
|
severity: warning
|
|
disabled: false
|
|
arguments:
|
|
- preserveScope
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-alias-naming
|
|
- name: import-alias-naming
|
|
severity: warning
|
|
disabled: false
|
|
arguments:
|
|
- ^[a-z][a-z0-9]{0,}$
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#imports-blacklist
|
|
- name: imports-blacklist
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- reflect
|
|
- github.com/pkg/errors
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-shadowing
|
|
- name: import-shadowing
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#line-length-limit
|
|
- name: line-length-limit
|
|
severity: warning
|
|
# lll is enabled
|
|
disabled: true
|
|
arguments: [80]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#max-public-structs
|
|
- name: max-public-structs
|
|
severity: warning
|
|
disabled: true
|
|
arguments: [3]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#modifies-parameter
|
|
- name: modifies-parameter
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#modifies-value-receiver
|
|
- name: modifies-value-receiver
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#nested-structs
|
|
- name: nested-structs
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#optimize-operands-order
|
|
- name: optimize-operands-order
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#package-comments
|
|
- name: package-comments
|
|
severity: warning
|
|
disabled: true
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range
|
|
- name: range
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-in-closure
|
|
- name: range-val-in-closure
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-address
|
|
- name: range-val-address
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#receiver-naming
|
|
- name: receiver-naming
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redundant-import-alias
|
|
- name: redundant-import-alias
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redefines-builtin-id
|
|
- name: redefines-builtin-id
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-of-int
|
|
- name: string-of-int
|
|
severity: warning
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-format
|
|
- name: string-format
|
|
severity: warning
|
|
disabled: true
|
|
arguments:
|
|
- - core.WriteError[1].Message
|
|
- /^([^A-Z]|$)/
|
|
- must not start with a capital letter
|
|
- - fmt.Errorf[0]
|
|
- /(^|[^\.!?])$/
|
|
- must not end in punctuation
|
|
- - panic
|
|
- /^[^\n]*$/
|
|
- must not contain line breaks
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#struct-tag
|
|
- name: struct-tag
|
|
arguments:
|
|
- json,inline
|
|
- bson,outline,gnu
|
|
severity: warning
|
|
# tagliatelle is enabled
|
|
disabled: true
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#superfluous-else
|
|
- name: superfluous-else
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- preserveScope
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-equal
|
|
- name: time-equal
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-naming
|
|
- name: time-naming
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-naming
|
|
- name: var-naming
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- [] # AllowList
|
|
- [] # DenyList
|
|
- - upperCaseConst: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-declaration
|
|
- name: var-declaration
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unconditional-recursion
|
|
- name: unconditional-recursion
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-naming
|
|
- name: unexported-naming
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-return
|
|
- name: unexported-return
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unhandled-error
|
|
- name: unhandled-error
|
|
severity: warning
|
|
disabled: false
|
|
arguments:
|
|
- fmt.Printf
|
|
- fmt.Println
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unnecessary-stmt
|
|
- name: unnecessary-stmt
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unreachable-code
|
|
- name: unreachable-code
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter
|
|
- name: unused-parameter
|
|
severity: error
|
|
disabled: false
|
|
arguments:
|
|
- allowRegex: ^_
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-receiver
|
|
- name: unused-receiver
|
|
severity: error
|
|
disabled: true
|
|
arguments:
|
|
- allowRegex: ^_
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#useless-break
|
|
- name: useless-break
|
|
severity: error
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#waitgroup-by-value
|
|
- name: waitgroup-by-value
|
|
severity: warning
|
|
disabled: false
|
|
|
|
|
|
issues:
|
|
exclude-rules:
|
|
# Exclude some linters from running on tests files.
|
|
- path: _test\.go
|
|
linters:
|
|
- gosec
|
|
- gocyclo
|
|
- path: _test\.go
|
|
text: add-constant
|
|
- linters:
|
|
- lll
|
|
source: "^//go:generate "
|