nginx-proxy-manager/backend/.golangci.yml

93 lines
3.5 KiB
YAML

linters:
enable:
# Prevents against memory leaks in production caused by not closing file handle
- bodyclose
# Detects unused declarations in a go package
- deadcode
# Detects cloned code. DRY is good programming practice. Can cause issues with testing code where
# simplicity is preferred over duplication. Disabled for test code.
#- dupl
# Detects unchecked errors in go programs. These unchecked errors can be critical bugs in some cases.
- errcheck
# Simplifies go code.
- gosimple
# Reports suspicious constructs, maintained by goteam. e.g. Printf unused params not caught
# at compile time.
- govet
# Detect security issues with gocode. Use of secrets in code or obsolete security algorithms.
# It's imaged heuristic methods are used in finding problems. If issues with rules are found
# particular rules can be disabled as required.
# Could possibility cause issues with testing. Disabled for test code.
- gosec
# Detect repeated strings that could be replaced by a constant
- goconst
# Misc linters missing from other projects. Grouped into 3 categories diagnostics, style
# and performance
- gocritic
# Limits code cyclomatic complexity
- gocyclo
# Detects if code needs to be gofmt'd
- gofmt
# Detects unused go package imports
- goimports
# Detcts style mistakes not correctness. Golint is meant to carry out the
# stylistic conventions put forth in Effective Go and CodeReviewComments.
# golint has false positives and false negatives and can be tweaked.
- golint
# Detects ineffectual assignments in code
- ineffassign
# Detect commonly misspelled english words in comments
- misspell
# Detect naked returns on non-trivial functions, and conform with Go CodeReviewComments
- nakedret
# Detect slice allocations that can be preallocated
- prealloc
# Misc collection of static analysis tools
- staticcheck
# Detects unused struct fields
- structcheck
# Parses and typechecks the code like the go compiler
- typecheck
# Detects unused constants, variables, functions and types
- unused
# Detects unused global variables and constants
- varcheck
# Remove unnecessary type conversions
- unconvert
# Remove unnecessary(unused) function parameters
- unparam
linters-settings:
goconst:
# minimal length of string constant
# default: 3
min-len: 2
# minimum number of occurrences of string constant
# default: 3
min-occurences: 2
misspell:
locale: UK
ignore-words:
- color
issues:
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
# We have chosen an arbitrary value that works based on practical usage.
max-same: 20
# See cmdline flag documentation for more info about default excludes --exclude-use-default
# Nothing is excluded by default
exclude-use-default: false
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
# Exclude some linters from running on tests files. # TODO: Add examples why this is good
- path: _test\.go
linters:
# Tests should be simple? Add example why this is good?
- gocyclo
# Error checking adds verbosity and complexity for minimal value
- errcheck
# Table test encourage duplication in defining the table tests.
- dupl
# Hard coded example tokens, SQL injection and other bad practices may
# want to be tested
- gosec