199 lines
4.6 KiB
YAML
199 lines
4.6 KiB
YAML
# Based on https://gist.github.com/maratori/47a4d00457a92aa426dbd48a18776322
|
|
# This code is licensed under the terms of the MIT license https://opensource.org/license/mit
|
|
# Copyright (c) 2021 Marat Reymers
|
|
|
|
version: "2"
|
|
linters:
|
|
default: none
|
|
enable:
|
|
- asasalint
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- cyclop
|
|
- dupl
|
|
- durationcheck
|
|
- errname
|
|
- exhaustive
|
|
- funlen
|
|
- gocheckcompilerdirectives
|
|
- gochecknoinits
|
|
- gochecksumtype
|
|
- gocyclo
|
|
- godot
|
|
- gomoddirectives
|
|
- gomodguard_v2
|
|
- goprintffuncname
|
|
- gosec
|
|
- govet
|
|
- ineffassign
|
|
- loggercheck
|
|
- makezero
|
|
- mirror
|
|
- musttag
|
|
- nakedret
|
|
- nestif
|
|
- nilerr
|
|
- noctx
|
|
- nolintlint
|
|
- nosprintfhostport
|
|
- predeclared
|
|
- promlinter
|
|
- protogetter
|
|
- reassign
|
|
- revive
|
|
- rowserrcheck
|
|
- sloglint
|
|
- spancheck
|
|
- sqlclosecheck
|
|
- staticcheck
|
|
- testableexamples
|
|
- testifylint
|
|
- tparallel
|
|
- unconvert
|
|
- unused
|
|
- usestdlibvars
|
|
- wastedassign
|
|
- whitespace
|
|
settings:
|
|
cyclop:
|
|
max-complexity: 30
|
|
package-average: 10
|
|
errcheck:
|
|
check-type-assertions: true
|
|
exhaustive:
|
|
check:
|
|
- switch
|
|
- map
|
|
exhaustruct:
|
|
exclude:
|
|
- ^net/http.Client$
|
|
- ^net/http.Cookie$
|
|
- ^net/http.Request$
|
|
- ^net/http.Response$
|
|
- ^net/http.Server$
|
|
- ^net/http.Transport$
|
|
- ^net/url.URL$
|
|
- ^os/exec.Cmd$
|
|
- ^reflect.StructField$
|
|
- ^github.com/Shopify/sarama.Config$
|
|
- ^github.com/Shopify/sarama.ProducerMessage$
|
|
- ^github.com/mitchellh/mapstructure.DecoderConfig$
|
|
- ^github.com/prometheus/client_golang/.+Opts$
|
|
- ^github.com/spf13/cobra.Command$
|
|
- ^github.com/spf13/cobra.CompletionOptions$
|
|
- ^github.com/stretchr/testify/mock.Mock$
|
|
- ^github.com/testcontainers/testcontainers-go.+Request$
|
|
- ^github.com/testcontainers/testcontainers-go.FromDockerfile$
|
|
- ^golang.org/x/tools/go/analysis.Analyzer$
|
|
- ^google.golang.org/protobuf/.+Options$
|
|
- ^gopkg.in/yaml.v3.Node$
|
|
funlen:
|
|
lines: 100
|
|
statements: 50
|
|
ignore-comments: true
|
|
gocognit:
|
|
min-complexity: 20
|
|
gocritic:
|
|
settings:
|
|
captLocal:
|
|
paramsOnly: false
|
|
underef:
|
|
skipRecvDeref: false
|
|
gomodguard_v2:
|
|
blocked:
|
|
- module: github.com/golang/protobuf
|
|
recommendations:
|
|
- google.golang.org/protobuf
|
|
reason: see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules
|
|
- module: github.com/satori/go.uuid
|
|
recommendations:
|
|
- github.com/google/uuid
|
|
reason: satori's package is not maintained
|
|
- module: github.com/gofrs/uuid
|
|
recommendations:
|
|
- github.com/gofrs/uuid/v5
|
|
reason: gofrs' package was not go module before v5
|
|
govet:
|
|
disable:
|
|
- fieldalignment
|
|
enable-all: true
|
|
inamedparam:
|
|
skip-single-param: true
|
|
mnd:
|
|
ignored-functions:
|
|
- flag.Arg
|
|
- flag.Duration.*
|
|
- flag.Float.*
|
|
- flag.Int.*
|
|
- flag.Uint.*
|
|
- os.Chmod
|
|
- os.Mkdir.*
|
|
- os.OpenFile
|
|
- os.WriteFile
|
|
- prometheus.ExponentialBuckets.*
|
|
- prometheus.LinearBuckets
|
|
nakedret:
|
|
max-func-lines: 0
|
|
nolintlint:
|
|
require-explanation: true
|
|
require-specific: true
|
|
allow-no-explanation:
|
|
- funlen
|
|
- gocognit
|
|
- lll
|
|
perfsprint:
|
|
strconcat: false
|
|
revive:
|
|
rules:
|
|
- name: unused-parameter
|
|
disabled: true
|
|
rowserrcheck:
|
|
packages:
|
|
- github.com/jmoiron/sqlx
|
|
staticcheck:
|
|
checks:
|
|
- all
|
|
- -ST1003
|
|
exclusions:
|
|
generated: lax
|
|
presets:
|
|
- comments
|
|
- common-false-positives
|
|
- legacy
|
|
- std-error-handling
|
|
rules:
|
|
- linters:
|
|
- godot
|
|
source: (noinspection|TODO)
|
|
- linters:
|
|
- gocritic
|
|
source: //noinspection
|
|
- linters:
|
|
- bodyclose
|
|
- dupl
|
|
- funlen
|
|
- goconst
|
|
- gosec
|
|
- noctx
|
|
- wrapcheck
|
|
path: _test\.go
|
|
- linters:
|
|
- perfsprint
|
|
text: fmt.Sprintf can be replaced with string addition
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$
|
|
issues:
|
|
max-same-issues: 50
|
|
formatters:
|
|
enable:
|
|
- goimports
|
|
exclusions:
|
|
generated: lax
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$
|