forked from massivebox/ecodash
260 lines
7.9 KiB
YAML
260 lines
7.9 KiB
YAML
# options for analysis running
|
|
run:
|
|
# timeout for analysis, e.g. 30s, 5m, default is 1m
|
|
timeout: 10m
|
|
|
|
# output configuration options
|
|
output:
|
|
# sorts results by: filepath, line and column
|
|
sort-results: true
|
|
|
|
# all available settings of specific linters
|
|
linters-settings:
|
|
cyclop:
|
|
# the maximal code complexity to report
|
|
max-complexity: 30
|
|
# the maximal average package complexity. If it's higher than 0.0 (float) the check is enabled (default 0.0)
|
|
package-average: 0.0
|
|
# should ignore tests (default false)
|
|
skip-tests: true
|
|
|
|
dogsled:
|
|
# checks assignments with too many blank identifiers; default is 2
|
|
max-blank-identifiers: 2
|
|
|
|
dupl:
|
|
# tokens count to trigger issue, 150 by default
|
|
threshold: 100
|
|
|
|
errcheck:
|
|
# report about not checking of errors in type assertions: `a := b.(MyStruct)`;
|
|
# default is false: such cases aren't reported by default.
|
|
check-type-assertions: true
|
|
|
|
# report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
|
|
# default is false: such cases aren't reported by default.
|
|
check-blank: true
|
|
|
|
errorlint:
|
|
# Check whether fmt.Errorf uses the %w verb for formatting errors. See the readme for caveats
|
|
errorf: true
|
|
# Check for plain type assertions and type switches
|
|
asserts: true
|
|
# Check for plain error comparisons
|
|
comparison: true
|
|
|
|
exhaustive:
|
|
# indicates that switch statements are to be considered exhaustive if a
|
|
# 'default' case is present, even if all enum members aren't listed in the
|
|
# switch
|
|
default-signifies-exhaustive: true
|
|
|
|
exhaustivestruct:
|
|
# Struct Patterns is list of expressions to match struct packages and names
|
|
# The struct packages have the form example.com/package.ExampleStruct
|
|
# The matching patterns can use matching syntax from https://pkg.go.dev/path#Match
|
|
# If this list is empty, all structs are tested.
|
|
struct-patterns:
|
|
|
|
gocognit:
|
|
# minimal code complexity to report, 30 by default (but we recommend 10-20)
|
|
min-complexity: 30
|
|
|
|
nestif:
|
|
# minimal complexity of if statements to report, 5 by default
|
|
min-complexity: 4
|
|
|
|
goconst:
|
|
# minimal length of string constant, 3 by default
|
|
min-len: 3
|
|
# minimal occurrences count to trigger, 3 by default
|
|
min-occurrences: 3
|
|
|
|
gocritic:
|
|
# Enable multiple checks by tags, run `GL_DEBUG=gocritic golangci-lint run` to see all tags and checks.
|
|
# Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags".
|
|
enabled-tags:
|
|
- diagnostic
|
|
- style
|
|
- performance
|
|
disabled-checks:
|
|
- paramTypeCombine
|
|
- commentedOutCode
|
|
- ifElseChain
|
|
|
|
# Settings passed to gocritic.
|
|
# The settings key is the name of a supported gocritic checker.
|
|
# The list of supported checkers can be find in https://go-critic.github.io/overview.
|
|
settings:
|
|
unnamedResult:
|
|
# whether to check exported functions
|
|
checkExported: true
|
|
|
|
gocyclo:
|
|
# minimal code complexity to report, 30 by default (but we recommend 10-20)
|
|
min-complexity: 30
|
|
|
|
godot:
|
|
# comments to be checked: `declarations`, `toplevel`, or `all`
|
|
scope: declarations
|
|
|
|
# check that each sentence starts with a capital letter
|
|
capital: true
|
|
|
|
gofmt:
|
|
# simplify code: gofmt with `-s` option, true by default
|
|
simplify: true
|
|
|
|
gofumpt:
|
|
# Choose whether or not to use the extra rules that are disabled
|
|
# by default
|
|
extra-rules: false
|
|
|
|
golint:
|
|
# minimal confidence for issues, default is 0.8
|
|
min-confidence: 0.8
|
|
|
|
gosimple:
|
|
# Select the Go version to target. The default is '1.13'.
|
|
go: "1.20"
|
|
# https://staticcheck.io/docs/options#checks
|
|
checks: ["all"]
|
|
|
|
govet:
|
|
# report about shadowed variables
|
|
check-shadowing: true
|
|
enable-all: true
|
|
|
|
maligned:
|
|
# print struct with more effective memory layout or not, false by default
|
|
suggest-new: true
|
|
|
|
misspell:
|
|
# Correct spellings using locale preferences for US or UK.
|
|
# Default is to use a neutral variety of English.
|
|
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
|
|
locale: US
|
|
|
|
prealloc:
|
|
# XXX: we don't recommend using this linter before doing performance profiling.
|
|
# For most programs usage of prealloc will be a premature optimization.
|
|
|
|
# Report preallocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them.
|
|
# True by default.
|
|
simple: true
|
|
range-loops: true
|
|
for-loops: false
|
|
|
|
nolintlint:
|
|
# Enable to ensure that nolint directives are all used. Default is true.
|
|
allow-unused: true
|
|
# Disable to ensure that nolint directives don't have a leading space. Default is true.
|
|
allow-leading-space: true
|
|
# Exclude following linters from requiring an explanation. Default is [].
|
|
allow-no-explanation: []
|
|
# Enable to require an explanation of nonzero length after each nolint directive. Default is false.
|
|
require-explanation: true
|
|
# Enable to require nolint directives to mention the specific linter being suppressed. Default is false.
|
|
require-specific: true
|
|
|
|
staticcheck:
|
|
# Select the Go version to target. The default is '1.13'.
|
|
go: "1.20"
|
|
# https://staticcheck.io/docs/options#checks
|
|
checks: ["all"]
|
|
|
|
stylecheck:
|
|
# Select the Go version to target. The default is '1.13'.
|
|
go: "1.20"
|
|
# https://staticcheck.io/docs/options#checks
|
|
checks: ["all"]
|
|
|
|
unparam:
|
|
# Inspect exported functions, default is false. Set to true if no external program/library imports your code.
|
|
# XXX: if you enable this setting, unparam will report a lot of false-positives in text editors:
|
|
# if it's called for subdir of a project it can't find external interfaces. All text editor integrations
|
|
# with golangci-lint call it on a directory with the changed file.
|
|
check-exported: false
|
|
|
|
unused:
|
|
# Select the Go version to target. The default is '1.13'.
|
|
go: "1.20"
|
|
|
|
whitespace:
|
|
multi-if: false # Enforces newlines (or comments) after every multi-line if statement
|
|
multi-func: false # Enforces newlines (or comments) after every multi-line function signature
|
|
|
|
wrapcheck:
|
|
# An array of strings that specify substrings of signatures to ignore.
|
|
# If this set, it will override the default set of ignored signatures.
|
|
# See https://github.com/tomarrell/wrapcheck#configuration for more information.
|
|
ignoreSigs:
|
|
- .Errorf(
|
|
- errors.New(
|
|
- errors.Unwrap(
|
|
- .Wrap(
|
|
- .Wrapf(
|
|
- .WithMessage(
|
|
|
|
linters:
|
|
disable:
|
|
# Don't check for newlines before return
|
|
- nlreturn
|
|
|
|
# Don't check line length
|
|
- lll
|
|
- funlen
|
|
- exhaustivestruct
|
|
|
|
# Don't check nested ifs
|
|
- nestif
|
|
|
|
# Don't check var length
|
|
- varnamelen
|
|
|
|
# Don't check excessive blank identifiers
|
|
- dogsled
|
|
|
|
# Don't check json struct field tags
|
|
- tagliatelle
|
|
|
|
# Absolutely useless whitespace linting
|
|
- wsl
|
|
|
|
# Cognitive complexity ;)
|
|
- gocognit
|
|
|
|
# Deprecated
|
|
- golint
|
|
- interfacer
|
|
- scopelint
|
|
|
|
# Don't care about this (for now)
|
|
- exhaustruct
|
|
- wrapcheck
|
|
- nonamedreturns
|
|
- gomnd
|
|
|
|
enable-all: true
|
|
fast: false
|
|
|
|
issues:
|
|
# Fix found issues (if it's supported by the linter)
|
|
fix: true
|
|
|
|
|
|
severity:
|
|
# Default value is empty string.
|
|
# Set the default severity for issues. If severity rules are defined and the issues
|
|
# do not match or no severity is provided to the rule this will be the default
|
|
# severity applied. Severities should match the supported severity names of the
|
|
# selected out format.
|
|
# - Code climate: https://docs.codeclimate.com/docs/issues#issue-severity
|
|
# - Checkstyle: https://checkstyle.sourceforge.io/property_types.html#severity
|
|
# - Github: https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-error-message
|
|
default-severity: error
|
|
|
|
# The default value is false.
|
|
# If set to true severity-rules regular expressions become case sensitive.
|
|
case-sensitive: false
|