mirror of
https://github.com/acaloiaro/neoq
synced 2026-07-21 10:12:18 +00:00
200 lines
5.1 KiB
YAML
200 lines
5.1 KiB
YAML
---
|
|
run:
|
|
concurrency: 12
|
|
timeout: 1m
|
|
issues-exit-code: 1
|
|
tests: true
|
|
# list of build tags, all linters use it. Default is empty list.
|
|
build-tags: testing
|
|
|
|
# which dirs to skip: issues from them won't be reported;
|
|
# can use regexp here: generated.*, regexp is applied on full path;
|
|
# default value is empty list, but default dirs are skipped independently
|
|
# from this option's value (see skip-dirs-use-default).
|
|
skip-dirs: []
|
|
|
|
# default is true. Enables skipping of directories:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
skip-dirs-use-default: true
|
|
|
|
# which files to skip: they will be analyzed, but issues from them
|
|
# won't be reported. Default value is empty list, but there is
|
|
# no need to include all autogenerated files, we confidently recognize
|
|
# autogenerated files. If it's not please let us know.
|
|
skip-files: []
|
|
|
|
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
|
|
# If invoked with -mod=readonly, the go command is disallowed from the implicit
|
|
# automatic updating of go.mod described above. Instead, it fails when any changes
|
|
# to go.mod are needed. This setting is most useful to check that go.mod does
|
|
# not need updates, such as in a continuous integration and testing system.
|
|
# If invoked with -mod=vendor, the go command assumes that the vendor
|
|
# directory holds the correct copies of dependencies and ignores
|
|
# the dependency descriptions in go.mod.
|
|
modules-download-mode: vendor
|
|
|
|
# output configuration options
|
|
output:
|
|
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
|
|
format: colored-line-number
|
|
|
|
# print lines of code with issue, default is true
|
|
print-issued-lines: true
|
|
|
|
# print linter name in the end of issue text, default is true
|
|
print-linter-name: true
|
|
|
|
# make issues output unique by line, default is true
|
|
uniq-by-line: true
|
|
|
|
#It's a .golangci.yml config file of this repo: we enable more linters than the default and have more strict settings:
|
|
|
|
linters-settings:
|
|
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
|
|
packages-with-error-message:
|
|
- github.com/sirupsen/logrus: "logging is allowed only by logutils.Log"
|
|
dupl:
|
|
threshold: 100
|
|
funlen:
|
|
lines: 100
|
|
statements: 50
|
|
goconst:
|
|
min-len: 2
|
|
min-occurrences: 2
|
|
gocritic:
|
|
enabled-tags:
|
|
- diagnostic
|
|
- experimental
|
|
- opinionated
|
|
- performance
|
|
- style
|
|
disabled-checks:
|
|
- ifElseChain
|
|
- octalLiteral
|
|
- unnamedResult
|
|
- whyNoLint
|
|
- wrapperFunc
|
|
gocyclo:
|
|
min-complexity: 15
|
|
goimports:
|
|
local-prefixes: github.com/golangci/golangci-lint
|
|
gomnd:
|
|
settings:
|
|
mnd:
|
|
# don't include the "operation" and "assign"
|
|
checks: argument,case,condition,return
|
|
govet:
|
|
check-shadowing: true
|
|
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
|
|
lll:
|
|
line-length: 140
|
|
misspell:
|
|
locale: US
|
|
|
|
linters:
|
|
# please, do not use `enable-all`: it's deprecated and will be removed soon.
|
|
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
|
|
#disable-all: true
|
|
enable:
|
|
- asasalint
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- containedctx
|
|
- contextcheck
|
|
- cyclop
|
|
- decorder
|
|
- depguard
|
|
- dogsled
|
|
- dupl
|
|
- dupword
|
|
- durationcheck
|
|
- errcheck
|
|
- errchkjson
|
|
- errname
|
|
- errorlint
|
|
- execinquery
|
|
- exhaustive
|
|
- exportloopref
|
|
- funlen
|
|
- gci
|
|
- gocognit
|
|
- goconst
|
|
- gocritic
|
|
- gocyclo
|
|
# - godox
|
|
- goerr113
|
|
- gofmt
|
|
- goheader
|
|
- goimports
|
|
- gomnd
|
|
- gomoddirectives
|
|
- gomodguard
|
|
- goprintffuncname
|
|
- gosec
|
|
- gosimple
|
|
- govet
|
|
- grouper
|
|
- importas
|
|
- ineffassign
|
|
- interfacebloat
|
|
#- ireturn
|
|
- lll
|
|
- loggercheck
|
|
- maintidx
|
|
- makezero
|
|
- misspell
|
|
- nakedret
|
|
- nestif
|
|
- nilerr
|
|
- nilnil
|
|
- noctx
|
|
- nosprintfhostport
|
|
- prealloc
|
|
- predeclared
|
|
- promlinter
|
|
- reassign
|
|
- revive
|
|
- rowserrcheck
|
|
- sqlclosecheck
|
|
- staticcheck
|
|
- stylecheck
|
|
- tenv
|
|
- testableexamples
|
|
#- testpackage
|
|
- thelper
|
|
- unconvert
|
|
- unparam
|
|
- unused
|
|
- usestdlibvars
|
|
- wastedassign
|
|
- whitespace
|
|
- wrapcheck
|
|
|
|
# don't enable:
|
|
|
|
issues:
|
|
exclude:
|
|
- 'shadow: declaration of "err" shadows declaration at'
|
|
# Excluding configuration per-path, per-linter, per-text and per-source
|
|
exclude-rules:
|
|
- path: _test\.go
|
|
linters:
|
|
- funlen
|
|
- cyclop
|
|
|
|
# golangci.com configuration
|
|
# https://github.com/golangci/golangci/wiki/Configuration
|
|
service:
|
|
golangci-lint-version: 1.51.x # use the fixed version to not introduce new linters unexpectedly
|