mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-04-29 02:22:28 +00:00
167 lines
5.8 KiB
YAML
167 lines
5.8 KiB
YAML
---
|
|
linters:
|
|
enable:
|
|
# Prevents against memory leaks in production caused by not closing
|
|
# file handle
|
|
- bodyclose
|
|
# 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
|
|
# Controls Go package import order and makes it always deterministic.
|
|
- gci
|
|
# 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
|
|
# Detects 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.
|
|
- revive
|
|
# Detects ineffectual assignments in code
|
|
- ineffassign
|
|
# Reports long lines
|
|
# - lll
|
|
# 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
|
|
# Remove unnecessary type conversions
|
|
- unconvert
|
|
# Remove unnecessary(unused) function parameters
|
|
- unparam
|
|
linters-settings:
|
|
errcheck:
|
|
exclude-functions:
|
|
- fmt.Fprint
|
|
- fmt.Fprintf
|
|
gci:
|
|
sections:
|
|
- standard # Standard section: captures all standard packages.
|
|
- localmodule # Local module section: contains all local packages.
|
|
# - prefix(gogs.jc21.com) # Prefixed gerrit.lan packages (jumgo).
|
|
- default # Everything else (github.com, golang.org, etc).
|
|
- blank # Blank section: contains all blank imports.
|
|
custom-order: true
|
|
goconst:
|
|
# minimal length of string constant
|
|
# default: 3
|
|
min-len: 2
|
|
# minimum number of occurrences of string constant
|
|
# default: 3
|
|
min-occurences: 2
|
|
revive:
|
|
enable-all-rules: true
|
|
rules:
|
|
- name: unchecked-type-assertion
|
|
disabled: true
|
|
# handled by goconst
|
|
- name: add-constant
|
|
disabled: true
|
|
# cant limit this arbitrarily
|
|
- name: argument-limit
|
|
disabled: true
|
|
# handled by gocyclo
|
|
- name: cognitive-complexity
|
|
disabled: true
|
|
# false positive for Exported vs non-exported functions of the same name
|
|
- name: confusing-naming
|
|
disabled: true
|
|
# false positives for "" - which is the nil value of a string (also 0)
|
|
- name: confusing-results
|
|
disabled: true
|
|
# handled by gocyclo
|
|
- name: cyclomatic
|
|
disabled: true
|
|
# have comments on exported functions but not on vars/types/constants
|
|
- name: exported
|
|
arguments:
|
|
- "disableChecksOnConstants"
|
|
- "disableChecksOnTypes"
|
|
- "disableChecksOnVariables"
|
|
# false positives on bool params
|
|
- name: flag-parameter
|
|
disabled: true
|
|
# extreme verticalization can happen
|
|
- name: function-length
|
|
disabled: true
|
|
# can false positive for non-getters
|
|
- name: get-return
|
|
disabled: true
|
|
# only allows lowercase names
|
|
- name: import-alias-naming
|
|
disabled: true
|
|
# handled by lll
|
|
- name: line-length-limit
|
|
disabled: true
|
|
# don't want to arbitrarily limit this
|
|
# many places have specific model.go files to contain all structs
|
|
- name: max-public-structs
|
|
disabled: true
|
|
# disable package-comments
|
|
- name: package-comments
|
|
disabled: true
|
|
# this is handled by errcheck
|
|
- name: unhandled-error
|
|
disabled: true
|
|
- name: function-result-limit
|
|
disabled: true
|
|
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
|
|
# Test data can long
|
|
# - lll
|
|
run:
|
|
go: '1.23'
|