62 lines
1.6 KiB
YAML
62 lines
1.6 KiB
YAML
# This is for linting. To run it, please use:
|
||
# golangci-lint run ${MODULE}/... [--fix]
|
||
|
||
linters:
|
||
# linters to run in addition to default ones
|
||
enable:
|
||
- dupl
|
||
- durationcheck
|
||
- errname
|
||
- errorlint
|
||
- exportloopref
|
||
- forbidigo
|
||
- forcetypeassert
|
||
- gci
|
||
- godot
|
||
- gofmt
|
||
- gosec
|
||
- misspell
|
||
- nakedret
|
||
- nolintlint
|
||
- revive
|
||
- thelper
|
||
- tparallel
|
||
- unconvert
|
||
- unparam
|
||
- whitespace
|
||
|
||
run:
|
||
timeout: 5m
|
||
|
||
# Get all linter issues, even if duplicated
|
||
issues:
|
||
exclude-use-default: false
|
||
max-issues-per-linter: 0
|
||
max-same-issues: 0
|
||
fix: false # we don’t want this in CI
|
||
exclude:
|
||
# EXC0001 errcheck: most errors are in defer calls, which are safe to ignore and idiomatic Go (would be good to only ignore defer ones though)
|
||
- 'Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv|w\.Stop). is not checked'
|
||
# EXC0008 gosec: duplicated of errcheck
|
||
- (G104|G307)
|
||
# EXC0010 gosec: False positive is triggered by 'src, err := ioutil.ReadFile(filename)'
|
||
- Potential file inclusion via variable
|
||
# We want named parameters even if unused, as they help better document the function
|
||
- unused-parameter
|
||
# Sometimes it is more readable it do a `if err:=a(); err != nil` tha simpy `return a()`
|
||
- if-return
|
||
|
||
nolintlint:
|
||
require-explanation: true
|
||
require-specific: true
|
||
|
||
linters-settings:
|
||
# Forbid the usage of deprecated ioutil and debug prints
|
||
forbidigo:
|
||
forbid:
|
||
- ioutil\.
|
||
- ^print.*$
|
||
# Never have naked return ever
|
||
nakedret:
|
||
max-func-lines: 1
|