315 lines
7.5 KiB
YAML
315 lines
7.5 KiB
YAML
|
# This file contains all available configuration options
|
||
|
# with their default values (in comments).
|
||
|
#
|
||
|
# This file is not a configuration example,
|
||
|
# it contains the exhaustive configuration with explanations of the options.
|
||
|
|
||
|
linters:
|
||
|
# Disable all linters.
|
||
|
# Default: false
|
||
|
disable-all: true
|
||
|
# Enable specific linter
|
||
|
# https://golangci-lint.run/usage/linters/#enabled-by-default
|
||
|
enable:
|
||
|
- asasalint
|
||
|
- asciicheck
|
||
|
- bidichk
|
||
|
- bodyclose
|
||
|
- canonicalheader
|
||
|
- containedctx
|
||
|
- contextcheck
|
||
|
- copyloopvar
|
||
|
- cyclop
|
||
|
- decorder
|
||
|
- dogsled
|
||
|
- dupl
|
||
|
- dupword
|
||
|
- durationcheck
|
||
|
- err113
|
||
|
- errcheck
|
||
|
- errchkjson
|
||
|
- errname
|
||
|
- errorlint
|
||
|
- exhaustive
|
||
|
- fatcontext
|
||
|
- forcetypeassert
|
||
|
- funlen
|
||
|
- gci
|
||
|
- ginkgolinter
|
||
|
- gocheckcompilerdirectives
|
||
|
# - gochecknoglobals
|
||
|
- gochecknoinits
|
||
|
- gochecksumtype
|
||
|
- gocognit
|
||
|
- goconst
|
||
|
- gocritic
|
||
|
- gocyclo
|
||
|
- godot
|
||
|
- godox
|
||
|
- gofmt
|
||
|
- gofumpt
|
||
|
- goheader
|
||
|
- goimports
|
||
|
- gomoddirectives
|
||
|
- gomodguard
|
||
|
- goprintffuncname
|
||
|
- gosec
|
||
|
- gosimple
|
||
|
- gosmopolitan
|
||
|
- govet
|
||
|
- grouper
|
||
|
- importas
|
||
|
- inamedparam
|
||
|
- ineffassign
|
||
|
- interfacebloat
|
||
|
- intrange
|
||
|
- ireturn
|
||
|
- lll
|
||
|
- loggercheck
|
||
|
- maintidx
|
||
|
- makezero
|
||
|
- mirror
|
||
|
- misspell
|
||
|
- mnd
|
||
|
- musttag
|
||
|
- nakedret
|
||
|
- nestif
|
||
|
- nilerr
|
||
|
- nilnil
|
||
|
- nlreturn
|
||
|
- noctx
|
||
|
- nolintlint
|
||
|
- nonamedreturns
|
||
|
- nosprintfhostport
|
||
|
- paralleltest
|
||
|
- perfsprint
|
||
|
- prealloc
|
||
|
- predeclared
|
||
|
- promlinter
|
||
|
- protogetter
|
||
|
- reassign
|
||
|
- revive
|
||
|
- rowserrcheck
|
||
|
- sloglint
|
||
|
- spancheck
|
||
|
- sqlclosecheck
|
||
|
- staticcheck
|
||
|
- stylecheck
|
||
|
- tagalign
|
||
|
- tagliatelle
|
||
|
- tenv
|
||
|
- testableexamples
|
||
|
- testifylint
|
||
|
- testpackage
|
||
|
- thelper
|
||
|
- tparallel
|
||
|
- unconvert
|
||
|
- unparam
|
||
|
- unused
|
||
|
- usestdlibvars
|
||
|
- varnamelen
|
||
|
- wastedassign
|
||
|
- whitespace
|
||
|
- wrapcheck
|
||
|
- wsl
|
||
|
- zerologlint
|
||
|
|
||
|
# Enable all available linters.
|
||
|
# Default: false
|
||
|
enable-all: false
|
||
|
|
||
|
# Enable only fast linters from enabled linters set (first run won't be fast)
|
||
|
# Default: false
|
||
|
fast: true
|
||
|
|
||
|
# All available settings of specific linters.
|
||
|
linters-settings:
|
||
|
cyclop:
|
||
|
# The maximal code complexity to report.
|
||
|
# Default: 10
|
||
|
max-complexity: 20
|
||
|
# Should ignore tests.
|
||
|
# Default: false
|
||
|
skip-tests: true
|
||
|
|
||
|
funlen:
|
||
|
# Checks the number of lines in a function.
|
||
|
# If lower than 0, disable the check.
|
||
|
# Default: 60
|
||
|
lines: 80
|
||
|
# Checks the number of statements in a function.
|
||
|
# If lower than 0, disable the check.
|
||
|
# Default: 40
|
||
|
statements: 50
|
||
|
# Ignore comments when counting lines.
|
||
|
# Default false
|
||
|
ignore-comments: true
|
||
|
|
||
|
gocognit:
|
||
|
# Minimal code complexity to report.
|
||
|
# Default: 30 (but we recommend 10-20)
|
||
|
min-complexity: 20
|
||
|
|
||
|
gocyclo:
|
||
|
# Minimal code complexity to report.
|
||
|
# Default: 30 (but we recommend 10-20)
|
||
|
min-complexity: 20
|
||
|
|
||
|
godot:
|
||
|
# Comments to be checked: `declarations`, `toplevel`, or `all`.
|
||
|
# Default: declarations
|
||
|
scope: all
|
||
|
# List of regexps for excluding particular comment lines from check.
|
||
|
# Default: []
|
||
|
exclude:
|
||
|
# Exclude todo and fixme comments.
|
||
|
- "^fixme:"
|
||
|
- "^todo:"
|
||
|
# Check that each sentence ends with a period.
|
||
|
# Default: true
|
||
|
period: false
|
||
|
# Check that each sentence starts with a capital letter.
|
||
|
# Default: false
|
||
|
capital: true
|
||
|
|
||
|
goimports:
|
||
|
local-prefixes: git.mousesoft.ru/ms/drawio-export
|
||
|
|
||
|
gosec:
|
||
|
excludes:
|
||
|
- G115
|
||
|
|
||
|
revive:
|
||
|
rules:
|
||
|
- name: unexported-return
|
||
|
disabled: true
|
||
|
|
||
|
# output configuration options
|
||
|
output:
|
||
|
# The formats used to render issues.
|
||
|
# Formats:
|
||
|
# - `colored-line-number`
|
||
|
# - `line-number`
|
||
|
# - `json`
|
||
|
# - `colored-tab`
|
||
|
# - `tab`
|
||
|
# - `html`
|
||
|
# - `checkstyle`
|
||
|
# - `code-climate`
|
||
|
# - `junit-xml`
|
||
|
# - `junit-xml-extended`
|
||
|
# - `github-actions`
|
||
|
# - `teamcity`
|
||
|
# - `sarif`
|
||
|
# Output path can be either `stdout`, `stderr` or path to the file to write to.
|
||
|
#
|
||
|
# For the CLI flag (`--out-format`), multiple formats can be specified by separating them by comma.
|
||
|
# The output can be specified for each of them by separating format name and path by colon symbol.
|
||
|
# Example: "--out-format=checkstyle:report.xml,json:stdout,colored-line-number"
|
||
|
# The CLI flag (`--out-format`) override the configuration file.
|
||
|
#
|
||
|
# Default:
|
||
|
# formats:
|
||
|
# - format: colored-line-number
|
||
|
# path: stdout
|
||
|
formats:
|
||
|
# - format: json
|
||
|
# path: stderr
|
||
|
# - format: checkstyle
|
||
|
# path: report.xml
|
||
|
- format: colored-line-number
|
||
|
|
||
|
# Print lines of code with issue.
|
||
|
# Default: true
|
||
|
print-issued-lines: false
|
||
|
|
||
|
# Print linter name in the end of issue text.
|
||
|
# Default: true
|
||
|
print-linter-name: true
|
||
|
|
||
|
# Make issues output unique by line.
|
||
|
# Default: true
|
||
|
uniq-by-line: false
|
||
|
|
||
|
# Add a prefix to the output file references.
|
||
|
# Default: ""
|
||
|
path-prefix: ""
|
||
|
|
||
|
# Sort results by the order defined in `sort-order`.
|
||
|
# Default: false
|
||
|
sort-results: true
|
||
|
|
||
|
# Order to use when sorting results.
|
||
|
# Require `sort-results` to `true`.
|
||
|
# Possible values: `file`, `linter`, and `severity`.
|
||
|
#
|
||
|
# If the severity values are inside the following list, they are ordered in this order:
|
||
|
# 1. error
|
||
|
# 2. warning
|
||
|
# 3. high
|
||
|
# 4. medium
|
||
|
# 5. low
|
||
|
# Either they are sorted alphabetically.
|
||
|
#
|
||
|
# Default: ["file"]
|
||
|
sort-order:
|
||
|
- linter
|
||
|
- severity
|
||
|
- file # filepath, line, and column.
|
||
|
|
||
|
# Show statistics per linter.
|
||
|
# Default: false
|
||
|
show-stats: true
|
||
|
|
||
|
# Options for analysis running.
|
||
|
run:
|
||
|
# Timeout for analysis, e.g. 30s, 5m.
|
||
|
# Default: 1m
|
||
|
timeout: 5m
|
||
|
|
||
|
# Exit code when at least one issue was found.
|
||
|
# Default: 1
|
||
|
issues-exit-code: 2
|
||
|
|
||
|
# Include test files or not.
|
||
|
# Default: true
|
||
|
tests: false
|
||
|
|
||
|
# List of build tags, all linters use it.
|
||
|
# Default: []
|
||
|
build-tags:
|
||
|
- mytag
|
||
|
|
||
|
# 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.
|
||
|
#
|
||
|
# Allowed values: readonly|vendor|mod
|
||
|
# Default: ""
|
||
|
modules-download-mode: readonly
|
||
|
|
||
|
# Allow multiple parallel golangci-lint instances running.
|
||
|
# If false, golangci-lint acquires file lock on start.
|
||
|
# Default: false
|
||
|
allow-parallel-runners: true
|
||
|
|
||
|
# Allow multiple golangci-lint instances running, but serialize them around a lock.
|
||
|
# If false, golangci-lint exits with an error if it fails to acquire file lock on start.
|
||
|
# Default: false
|
||
|
allow-serial-runners: true
|
||
|
|
||
|
# Define the Go version limit.
|
||
|
# Mainly related to generics support since go1.18.
|
||
|
# Default: use Go version from the go.mod file, fallback on the env var `GOVERSION`, fallback on 1.17
|
||
|
go: "1.22"
|
||
|
|
||
|
# Number of operating system threads (`GOMAXPROCS`) that can execute golangci-lint simultaneously.
|
||
|
# If it is explicitly set to 0 (i.e. not the default) then golangci-lint will automatically set the value to match Linux container CPU quota.
|
||
|
# Default: the number of logical CPUs in the machine
|
||
|
concurrency: 4
|