stun-1/.golangci.yml
2020-11-01 20:17:55 +03:00

122 lines
2.3 KiB
YAML

# v1.22.2
linters-settings:
govet:
check-shadowing: true
golint:
min-confidence: 0
gocyclo:
min-complexity: 15
maligned:
suggest-new: true
dupl:
threshold: 100
goconst:
min-len: 2
min-occurrences: 2
misspell:
locale: US
lll:
line-length: 140
goimports:
local-prefixes: gortc.io
gocritic:
enabled-tags:
- performance
- style
- experimental
disabled-checks:
- commentedOutCode
- sloppyReassign
issues:
exclude:
- "`assertHMACSize` - `blocksize` always receives `64`"
exclude-rules:
- text: "string `<nil>`"
linters: [goconst]
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- gocyclo
- errcheck
- dupl
- gosec
- goconst
- funlen
- gocognit
- gomnd
# Ease some gocritic warnings on test files.
- path: _test\.go
text: "(unnamedResult|exitAfterDefer|unlambda)"
linters: [gocritic]
# Exclude known linters from partially hard-vendored code,
# which is impossible to exclude via "nolint" comments.
- path: internal/hmac/
text: "weak cryptographic primitive"
linters: [gosec]
- path: internal/hmac/
text: "Write\\` is not checked"
linters: [errcheck]
- path: internal/hmac/
source: justHash
linters: [godot]
# Ease linting on benchmarking code.
- path: cmd/stun-bench/
linters:
- gosec
- errcheck
- unparam
- path: ^cmd/
linters:
- gocyclo
- gocognit
- gomnd
- path: ^cmd/
text: "(unnamedResult|exitAfterDefer)"
linters: [gocritic]
- text: evalOrder
path: helpers
source: "Build"
# RFC references
- linters: [godot]
source: "RFC \\d+"
- linters: [godot]
source: " #nosec"
# Code comments
- linters: [godot]
source: "\\/\\/\\s+}"
- linters: [gci]
source: "#nosec"
linters:
enable-all: true
disable:
- prealloc
- gochecknoglobals
- scopelint
- funlen
- wsl
- godox
- gomnd
- goerr113
- testpackage
- errorlint
- wrapcheck
- exhaustivestruct
- nlreturn
run:
skip-dirs:
- e2e
- fuzz
- testdata
- api