unarr/.golangci.yml

61 lines
1.5 KiB
YAML

version: "2"
run:
timeout: 5m
linters:
enable:
- errcheck
- govet
- ineffassign
- staticcheck
- unused
- gosec
- bodyclose
- copyloopvar
- durationcheck
- errname
- errorlint
- exhaustive
- misspell
- nilerr
- prealloc
- unconvert
- unparam
- wastedassign
settings:
gosec:
excludes:
- G104 # Allow unhandled errors in fire-and-forget (notifications)
errcheck:
exclude-functions:
- (*os/exec.Cmd).Start # Fire-and-forget for notifications
- (*os.File).Close # Deferred close — error irrelevant after read
- (io.Closer).Close # Same pattern for interfaces
- (*compress/gzip.Reader).Close
- (*archive/tar.Reader).Close
- (net.Conn).Close # Best-effort cleanup
- os.Remove # Best-effort cleanup of temp files
- os.RemoveAll
- os.Unsetenv # Test-only, always succeeds
- fmt.Fprintf # Terminal output — error never actionable
- fmt.Printf
- fmt.Println
- (*github.com/fatih/color.Color).Fprintf
- (*github.com/fatih/color.Color).Printf
- (*github.com/fatih/color.Color).Println
exhaustive:
default-signifies-exhaustive: true
misspell:
locale: US
exclusions:
paths:
- dist
formatters:
enable:
- gofmt
- goimports
exclusions:
paths:
- dist