provider-template/.golangci.yml

122 lines
2.2 KiB
YAML

version: "2"
linters:
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
- contextcheck
- durationcheck
- errchkjson
- errorlint
- exhaustive
- gocheckcompilerdirectives
- gochecksumtype
- goconst
- gocritic
- gocyclo
- gosec
- gosmopolitan
- loggercheck
- makezero
- misspell
- musttag
- nakedret
- nilerr
- nilnesserr
- noctx
- prealloc
- protogetter
- reassign
- recvcheck
- rowserrcheck
- spancheck
- sqlclosecheck
- testifylint
- unconvert
- unparam
- zerologlint
settings:
dupl:
threshold: 100
errcheck:
check-type-assertions: false
check-blank: false
exclude-functions:
- fmt:.*,io/ioutil:^Read.*
goconst:
min-len: 3
min-occurrences: 5
gocritic:
enabled-tags:
- performance
settings:
captLocal:
paramsOnly: true
rangeValCopy:
sizeThreshold: 32
gocyclo:
min-complexity: 10
lll:
tab-width: 1
nakedret:
max-func-lines: 30
prealloc:
simple: true
range-loops: true
for-loops: false
unparam:
check-exported: false
exclusions:
generated: lax
rules:
- linters:
- dupl
- errcheck
- exportloopref
- gocyclo
- gosec
- unparam
path: _test(ing)?\.go
- linters:
- gocritic
path: _test\.go
text: (unnamedResult|exitAfterDefer)
- linters:
- gocritic
text: '(hugeParam|rangeValCopy):'
- linters:
- staticcheck
text: 'SA3000:'
- linters:
- gosec
text: 'G101:'
- linters:
- gosec
text: 'G104:'
paths:
- zz_generated\..+\.go$
- third_party$
- builtin$
- examples$
issues:
max-same-issues: 0
new: false
formatters:
enable:
- gofmt
- goimports
settings:
gofmt:
simplify: true
goimports:
local-prefixes:
- github.com/crossplane/provider-template
exclusions:
generated: lax
paths:
- zz_generated\..+\.go$
- third_party$
- builtin$
- examples$