Migrate golangci-lint from v1 to v2. ## Motivation and Context The golangci-lint has been upgraded to v2 since March 2025. The v2 of golangci-lint has simplified the linters management. ## How Has This Been Tested? Tested locally with golangci-lint@v2.1.6 ## Breaking Changes No. ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [x] New and existing tests pass locally - [x] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context <!-- Add any other context, implementation notes, or design decisions --> --------- Co-authored-by: haokunt <haokunt@opera.com> Co-authored-by: Avinash Sridhar <sridharavinash@users.noreply.github.com> Co-authored-by: Adam Jones <adamj+git@anthropic.com>
125 lines
No EOL
2.1 KiB
YAML
125 lines
No EOL
2.1 KiB
YAML
# GolangCI-Lint configuration
|
|
# See: https://golangci-lint.run/usage/configuration/
|
|
|
|
version: "2"
|
|
run:
|
|
modules-download-mode: readonly
|
|
linters:
|
|
enable:
|
|
- asasalint
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- containedctx
|
|
- contextcheck
|
|
- cyclop
|
|
- dupl
|
|
- durationcheck
|
|
- errname
|
|
- errorlint
|
|
- exhaustive
|
|
- forbidigo
|
|
- funlen
|
|
- gocognit
|
|
- goconst
|
|
- gocritic
|
|
- gocyclo
|
|
- godox
|
|
- gomoddirectives
|
|
- gomodguard
|
|
- goprintffuncname
|
|
- gosec
|
|
- grouper
|
|
- importas
|
|
- ireturn
|
|
- lll
|
|
- makezero
|
|
- misspell
|
|
- nakedret
|
|
- nestif
|
|
- nilerr
|
|
- nilnil
|
|
- noctx
|
|
- nolintlint
|
|
- nosprintfhostport
|
|
- predeclared
|
|
- promlinter
|
|
- reassign
|
|
- revive
|
|
- rowserrcheck
|
|
- sqlclosecheck
|
|
- staticcheck
|
|
- testpackage
|
|
- thelper
|
|
- tparallel
|
|
- unconvert
|
|
- unparam
|
|
- usestdlibvars
|
|
- wastedassign
|
|
- whitespace
|
|
settings:
|
|
cyclop:
|
|
max-complexity: 50
|
|
funlen:
|
|
lines: 150
|
|
statements: 150
|
|
gocognit:
|
|
min-complexity: 50
|
|
goconst:
|
|
min-len: 3
|
|
min-occurrences: 3
|
|
gocyclo:
|
|
min-complexity: 25
|
|
lll:
|
|
line-length: 150
|
|
misspell:
|
|
locale: US
|
|
mnd:
|
|
checks:
|
|
- argument
|
|
- case
|
|
- condition
|
|
- operation
|
|
- return
|
|
nestif:
|
|
min-complexity: 8
|
|
exclusions:
|
|
generated: lax
|
|
presets:
|
|
- comments
|
|
- common-false-positives
|
|
- legacy
|
|
- std-error-handling
|
|
rules:
|
|
- linters:
|
|
- dupl
|
|
- errcheck
|
|
- funlen
|
|
- gocyclo
|
|
- gosec
|
|
- mnd
|
|
path: _test\.go
|
|
- linters:
|
|
- lll
|
|
path: docs/
|
|
- linters:
|
|
- mnd
|
|
path: integrationtests/
|
|
- linters:
|
|
- gomoddirectives
|
|
path: go\.mod
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$
|
|
formatters:
|
|
enable:
|
|
- gci
|
|
- gofmt
|
|
- goimports
|
|
exclusions:
|
|
generated: lax
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$ |