164 lines
3.7 KiB
YAML
164 lines
3.7 KiB
YAML
linters-settings:
|
|
forbidigo:
|
|
# Forbid the following identifiers (list of regexp).
|
|
# Default: ["^(fmt\\.Print(|f|ln)|print|println)$"]
|
|
forbid:
|
|
- ^print.*$
|
|
- 'fmt\.Print.*'
|
|
# Optionally put comments at the end of the regex, surrounded by `(# )?`
|
|
# Escape any special characters.
|
|
- 'fmt\.Print.*(# Do not commit print statements\.)?'
|
|
# Exclude godoc examples from forbidigo checks.
|
|
# Default: true
|
|
# exclude_godoc_examples: false
|
|
gofumpt:
|
|
# Select the Go version to target.
|
|
# Default: "1.15"
|
|
# Deprecated: use the global `run.go` instead.
|
|
lang-version: "1.18"
|
|
# Module path which contains the source code being formatted.
|
|
# Default: ""
|
|
# Choose whether to use the extra rules.
|
|
# Default: false
|
|
govet:
|
|
check-shadowing: true
|
|
# enable:
|
|
# - fieldalignment
|
|
settings:
|
|
printf:
|
|
funcs:
|
|
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
|
|
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
|
|
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
|
|
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
|
|
golint:
|
|
min-confidence: 0
|
|
gocyclo:
|
|
min-complexity: 32
|
|
maligned:
|
|
suggest-new: true
|
|
dupl:
|
|
threshold: 100
|
|
goconst:
|
|
min-len: 2
|
|
min-occurrences: 2
|
|
depguard:
|
|
list-type: blacklist
|
|
packages:
|
|
# logging is allowed only by logutils.Log, logrus
|
|
# is allowed to use only in logutils package
|
|
- github.com/sirupsen/logrus
|
|
misspell:
|
|
locale: US
|
|
lll:
|
|
line-length: 200
|
|
goimports:
|
|
local-prefixes: git.gobies.org
|
|
gocritic:
|
|
enabled-tags:
|
|
- performance
|
|
- style
|
|
- experimental
|
|
disabled-checks:
|
|
- wrapperFunc
|
|
- yodaStyleExpr
|
|
- unnamedResult
|
|
# - dupImport # https://github.com/go-critic/go-critic/issues/845
|
|
- commentedOutCode
|
|
- importShadow
|
|
- appendCombine
|
|
- ifElseChain
|
|
- typeAssertChain
|
|
- builtinShadow
|
|
gosec:
|
|
excludes:
|
|
- G404
|
|
- G501
|
|
- G401
|
|
revive:
|
|
ignore-generated-header: true
|
|
severity: warning
|
|
rules:
|
|
- name: atomic
|
|
- name: line-length-limit
|
|
severity: error
|
|
arguments: [200]
|
|
|
|
linters:
|
|
# enable:
|
|
# - errcheck
|
|
# - goimports
|
|
# - golint
|
|
# - govet
|
|
# - staticcheck
|
|
# - gocyclo
|
|
# - maligned
|
|
# - goconst
|
|
# - depguard
|
|
# - misspell
|
|
# - lll
|
|
# - gocritic
|
|
# disable-all: true
|
|
enable:
|
|
- gocritic
|
|
- gocyclo
|
|
- lll
|
|
- goconst
|
|
- misspell
|
|
- govet
|
|
- errcheck
|
|
- forbidigo
|
|
# - staticcheck
|
|
- unused
|
|
# - maligned
|
|
- gosimple
|
|
# - structcheck
|
|
# - varcheck
|
|
- ineffassign
|
|
# - deadcode
|
|
- typecheck
|
|
# - golint
|
|
- revive
|
|
- gosec
|
|
- unconvert
|
|
# - goimports
|
|
- depguard
|
|
- prealloc
|
|
# - scopelint
|
|
- whitespace
|
|
- revive
|
|
- nilnil
|
|
|
|
run:
|
|
go: '1.18'
|
|
|
|
# default concurrency is a available CPU number
|
|
concurrency: 20
|
|
|
|
# timeout for analysis, e.g. 30s, 5m, default is 1m
|
|
deadline: 10m
|
|
|
|
# exit code when at least one issue was found, default is 1
|
|
issues-exit-code: 1
|
|
# include test files or not, default is true
|
|
tests: false
|
|
|
|
skip-dirs:
|
|
- vendor/(passes)
|
|
# - third_party/(checker|passes)
|
|
golint:
|
|
# minimal confidence for issues, default is 0.8
|
|
min-confidence: 0.5
|
|
issues:
|
|
exclude-use-default: true
|
|
max-issues-per-linter: 10
|
|
max-same-issues: 0
|
|
# exclude:
|
|
# - EXC0002
|
|
|
|
# golangci.com configuration
|
|
# https://github.com/golangci/golangci/wiki/Configuration
|
|
# service:
|
|
# golangci-lint-version: 1.17.x # use the fixed version to not introduce new linters unexpectedly
|
|
# prepare:
|
|
# - echo "here I can run custom commands, but no preparation needed for this repo" |