mirror of
https://github.com/luxfi/node.git
synced 2026-07-27 03:39:39 +00:00
143 lines
4.0 KiB
YAML
143 lines
4.0 KiB
YAML
# https://golangci-lint.run/usage/configuration/
|
|||
|
|
version: "2"
|
||
|
|
|
||
|
|
run:
|
||
|
|
timeout: 10m
|
||
|
|
|
||
|
|
linters:
|
||
|
|
default: none
|
||
|
|
enable:
|
||
|
|
- govet
|
||
|
|
- ineffassign
|
||
|
|
- staticcheck
|
||
|
|
# Note: errcheck and unused disabled until codebase is cleaned up
|
||
|
|
# - errcheck
|
||
|
|
# - unused
|
||
|
|
exclusions:
|
||
|
|
# Use lax mode for generated files - excludes files with "autogenerated", "code generated", etc.
|
||
|
|
generated: lax
|
||
|
|
# Preset exclusions for common false positives
|
||
|
|
presets:
|
||
|
|
- comments
|
||
|
|
- std-error-handling
|
||
|
|
# Path patterns to exclude from linting
|
||
|
|
paths:
|
||
|
|
- ".*\\.pb\\.go$"
|
||
|
|
- ".*_mock\\.go$"
|
||
|
|
- ".*mock.*\\.go$"
|
||
|
|
- "third_party/"
|
||
|
|
- "testdata/"
|
||
|
|
- "examples/"
|
||
|
|
- "Godeps/"
|
||
|
|
- "builtin/"
|
||
|
|
- "vendor/"
|
||
|
|
# Per-linter exclusion rules
|
||
|
|
rules:
|
||
|
|
# Ignore staticcheck deprecation warnings (too many in codebase)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA1019:"
|
||
|
|
# Ignore staticcheck quickfix suggestions (not errors)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "QF"
|
||
|
|
# Ignore staticcheck empty branch (common in benchmarks)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA9003:"
|
||
|
|
# Ignore unused append results (common pattern)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA4010:"
|
||
|
|
# Ignore nil context warnings (legacy code)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA1012:"
|
||
|
|
# Ignore efficiency suggestions (not errors)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA6001:"
|
||
|
|
# Ignore loop replacement suggestions (not errors)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1011:"
|
||
|
|
# Ignore unconditionally terminated loop (design patterns)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA4004:"
|
||
|
|
# Ignore duplicate imports (aliasing is intentional)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "ST1019"
|
||
|
|
# Ignore error string capitalization (many errors intentionally capitalized)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "ST1005:"
|
||
|
|
# Ignore dot imports (intentional in some packages)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "ST1001:"
|
||
|
|
# Ignore type inference suggestions (explicit types can improve readability)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "ST1023:"
|
||
|
|
# Ignore nil check for len suggestions (explicit nil checks can be clearer)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1009:"
|
||
|
|
# Ignore pointer-like allocation suggestions (performance optimization, not critical)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA6002:"
|
||
|
|
# Ignore possible nil dereference in vendored/complex code
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA5011"
|
||
|
|
# Ignore unused value warnings (common in tests)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "SA4006:"
|
||
|
|
# Ignore same type assertion (sometimes used for interface validation)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1040:"
|
||
|
|
# Ignore unnecessary Sprintf (readability preference)
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1039:"
|
||
|
|
# Ignore String() vs Sprintf preference
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1025:"
|
||
|
|
# Ignore variable declaration merge suggestions
|
||
|
|
- linters:
|
||
|
|
- staticcheck
|
||
|
|
text: "S1021:"
|
||
|
|
# Ignore govet shadow warnings (too many false positives)
|
||
|
|
- linters:
|
||
|
|
- govet
|
||
|
|
text: "shadow:"
|
||
|
|
# Ignore govet copylocks warnings (architectural tech debt)
|
||
|
|
- linters:
|
||
|
|
- govet
|
||
|
|
text: "copylocks:"
|
||
|
|
# Ignore govet unreachable code (sometimes intentional for safety)
|
||
|
|
- linters:
|
||
|
|
- govet
|
||
|
|
text: "unreachable:"
|
||
|
|
# Ignore ineffassign in test files
|
||
|
|
- linters:
|
||
|
|
- ineffassign
|
||
|
|
path: "_test\\.go$"
|
||
|
|
|
||
|
|
issues:
|
||
|
|
max-issues-per-linter: 0
|
||
|
|
max-same-issues: 0
|
||
|
|
|
||
|
|
linters-settings:
|
||
|
|
staticcheck:
|
||
|
|
checks:
|
||
|
|
- "all"
|
||
|
|
- "-ST1000" # Package comments
|
||
|
|
- "-ST1003" # Naming convention
|