Files
vikunja-github/.golangci.yml
2025-08-13 11:05:05 +02:00

166 lines
4.0 KiB
YAML

version: "2"
run:
tests: true
linters:
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
- contextcheck
- err113
- errchkjson
- errorlint
- exhaustive
- gocheckcompilerdirectives
- gochecksumtype
- gocritic
- gocyclo
- goheader
- gosec
- gosmopolitan
- loggercheck
- makezero
- misspell
- nilerr
- nilnesserr
- noctx
- protogetter
- reassign
- recvcheck
- revive
- rowserrcheck
- spancheck
- sqlclosecheck
- testifylint
- unparam
- zerologlint
disable:
- durationcheck
- goconst
- musttag
settings:
goheader:
template-path: code-header-template.txt
nestif:
min-complexity: 6
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
- linters:
- deadcode
- errorlint
- gocyclo
path: _test\.go
- linters:
- bodyclose
- deadcode
- gocyclo
- unparam
- varcheck
path: pkg/webtests/*
- linters:
- gocritic
path: pkg/webtests/*
text: unlambda
- linters:
- bodyclose
path: pkg/modules/background/unsplash/unsplash\.go
- linters:
- err113
- exhaustive
path: pkg/migration/*
- linters:
- exhaustive
path: pkg/models/task_collection_filter\.go
- linters:
- gosec
path: pkg/utils/random_string\.go
text: 'G404:' # We don't care about cryptographically secure randomness when we're using that utility function.
- linters:
- err113
path: pkg/modules/dump/*
- linters:
- err113
path: pkg/
text: 'do not define dynamic errors, use wrapped static errors instead:'
- linters:
- gocritic
text: 'commentFormatting: put a space between `//` and comment text'
- linters:
- gocyclo
path: pkg/modules/migration
- linters:
- goheader
- gosmopolitan
- misspell
path: pkg/routes/api/v1/docs.go
- linters:
- goheader
text: Missed string
- linters:
- errorlint
path: pkg/.*/error.go
- linters:
- nilerr
path: pkg/models/favorites\.go
- path: pkg/models/project\.go
text: string `parent_project_id` has 3 occurrences, make it a constant
- linters:
- musttag
path: pkg/models/events\.go
- path: pkg/models/task_collection.go
text: append result not assigned to the same slice
- linters:
- testifylint
path: pkg/modules/migration/ticktick/ticktick_test.go
- linters:
- revive
path: pkg/migration/*
text: parameter 'tx' seems to be unused, consider removing or renaming it as
- linters:
- govet
path: pkg/models/typesense.go
text: 'structtag: struct field Position repeats json tag "position" also at'
- linters:
- gosec
path: pkg/cmd/user.go
text: 'G115: integer overflow conversion uintptr -> int'
- linters:
- gosec
text: 'G115: integer overflow conversion int64 -> uint64'
- linters:
- gosec
text: 'G115: integer overflow conversion int -> uint64'
- linters:
- recvcheck
text: the methods of "Permission" use pointer receiver and non-pointer receiver.
- linters:
- recvcheck
text: the methods of "SubscriptionEntityType" use pointer receiver and non-pointer receiver.
- linters:
- revive
path: pkg/utils/*
text: 'var-naming: avoid meaningless package names'
paths:
- third_party$
- builtin$
- examples$
- pkg/routes/api/v1/docs.go
- plugins-dev/..*
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$