Files
poseidon/.golangci.yaml
2024-05-07 14:48:17 +02:00

97 lines
1.8 KiB
YAML

run:
go: "1.22"
linters-settings:
errcheck:
check-type-assertions: true
check-blank: true
funlen:
lines: 100
statements: 50
gocognit:
min-complexity: 15
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- dupImport # https://github.com/go-critic/go-critic/issues/845
- hugeParam # No golang generic support. See https://github.com/golangci/golangci-lint/issues/2649
- rangeValCopy # ^
- typeDefFirst # |
- paramTypeCombine # |
gocyclo:
min-complexity: 15
gomnd:
# don't include "assign"
checks:
- argument
- case
- condition
- operation
- return
lll:
line-length: 150
makezero:
always: true
misspell:
locale: US
nakedret:
max-func-lines: 5
linters:
disable-all: true
enable:
# default
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- typecheck
- unused
# additional linters, see https://golangci-lint.run/usage/linters
- bodyclose
- dogsled
- dupl
- durationcheck
- exportloopref
- funlen
- gochecknoinits
- gocognit
- goconst
- gocritic
- gocyclo
- godot
- err113
- gofmt
- mnd
- goprintffuncname
- gosec
- importas
- lll
- makezero
- misspell
- nakedret
- noctx
- prealloc
- stylecheck
- thelper
- unconvert
- unparam
- wastedassign
- whitespace
- wrapcheck
issues:
exclude-rules:
- path: _test\.go
linters:
- noctx
# Always closing the HTTP body unnecessarily complicates the tests
- bodyclose
# We don't need to wrap errors in tests
- wrapcheck