forked from apps/featurer
72 lines
1.6 KiB
YAML
72 lines
1.6 KiB
YAML
---
|
|
run:
|
|
timeout: 5m
|
|
|
|
linters:
|
|
enable-all: true
|
|
disable:
|
|
# deprecated
|
|
- varnamelen
|
|
- testpackage
|
|
- containedctx # very strange linter
|
|
- gomnd
|
|
- execinquery
|
|
# meaningfully disabled
|
|
- gochecknoglobals
|
|
- exhaustruct
|
|
- depguard # wtf is this linter
|
|
- tparallel # duplicates paralleltest
|
|
- unused # not very clever lint for generics
|
|
- ireturn # not very clever lint for generics
|
|
- interfacebloat # love big interfaces :)
|
|
- gci # whines about imports too much.
|
|
|
|
linters-settings:
|
|
cyclop:
|
|
skip-tests: true
|
|
max-complexity: 20
|
|
package-average: 10
|
|
forbidigo:
|
|
forbid:
|
|
- '^(fmt\.Print(|f|ln)|print|println)$'
|
|
- '^time\.Now\(\)($|\.F|\.A|\.B|\.L|\.UTC\(\)\.I|,|\))(# Calls of time\.Now() without \.UTC() is prohibited\.)?'
|
|
funlen:
|
|
ignore-comments: true
|
|
lines: 200
|
|
statements: 60
|
|
gocyclo:
|
|
min-complexity: 20
|
|
gofumpt:
|
|
extra-rules: true
|
|
govet:
|
|
enable-all: true
|
|
lll:
|
|
line-length: 120
|
|
nestif:
|
|
min-complexity: 20
|
|
tagliatelle:
|
|
case:
|
|
use-field-name: true
|
|
rules:
|
|
json: snake
|
|
yaml: camel
|
|
|
|
issues:
|
|
exclude-use-default: false
|
|
exclude:
|
|
- ST1000 # package comment
|
|
- package-comments
|
|
exclude-rules:
|
|
- path: .+_test\.go
|
|
linters:
|
|
- gosec
|
|
- linters:
|
|
- godox
|
|
text: "TODO"
|
|
# Default error checking pattern "if err := ... ;err != nil {}" multiple times makes go vet to whine.
|
|
- linters:
|
|
- govet
|
|
text: 'declaration of "err" shadows'
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|