hmdeploy/.golangci.yml
2025-04-02 10:20:05 +02:00

147 lines
2.6 KiB
YAML

linters-settings:
depguard:
rules:
Main:
files:
- $all
- '!$test'
allow:
- $gostd
- gitea.thegux.fr
- github.com
Test:
files:
- $test
allow:
- $gostd
- gitea.thegux.fr
- github.com
dupl:
threshold: 100
funlen:
lines: 100
statements: 50
gci:
sections:
- "standard"
- "default"
- "blank"
- "dot"
# - "alias"
- "prefix(gitea.thegux.fr)"
goconst:
min-len: 2
min-occurrences: 2
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- dupImport # https://github.com/go-critic/go-critic/issues/845
- ifElseChain
- octalLiteral
# - whyNoLint
- wrapperFunc
gocyclo:
min-complexity: 15
goimports:
local-prefixes: gitea.thegux.fr
mnd:
checks:
- argument
- case
- condition
- return
govet:
disable:
- fieldalignment
lll:
line-length: 200
misspell:
locale: US
nolintlint:
allow-unused: false # report any unused nolint directives
require-explanation: false # don't require an explanation for nolint directives
require-specific: false # don't require nolint directives to be specific about which linter is being skipped
errcheck:
check-blank: true
exclude-functions:
- '(*github.com/gin-gonic/gin.Error).SetType'
- '(*github.com/gin-gonic/gin.Context).Error'
linters:
disable-all: true
enable:
- bodyclose
- depguard
- dogsled
- dupl
- errcheck
- exhaustive
- exportloopref
- funlen
- gochecknoinits
- goconst
- gocritic
- gocyclo
- gofmt
- goimports
# - mnd
- goprintffuncname
- gosec
- gosimple
- govet
# - inamedparam
- ineffassign
- lll
- misspell
- nakedret
- noctx
- nolintlint
# - perfsprint
- rowserrcheck
# - sloglint
- staticcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- whitespace
# - gochecknoglobals # too many global in ds9
# don't enable:
# - asciicheck
# - scopelint
# - gocognit
# - godot
# - godox
# - goerr113
# - interfacer
# - maligned
# - nestif
# - prealloc
# - testpackage
# - revive
# - wsl
# issues:
# Excluding configuration per-path, per-linter, per-text and per-source
# fix: true
issues:
exclude-rules:
- path: '(.+)_test\.go'
linters:
- funlen
- goconst
- dupl
exclude-dirs:
- ..
run:
timeout: 5m