123 lines
2.7 KiB
YAML
123 lines
2.7 KiB
YAML
|
linters-settings:
|
||
|
errcheck:
|
||
|
check-blank: true
|
||
|
revive:
|
||
|
rules:
|
||
|
- name: blank-imports
|
||
|
- name: context-as-argument
|
||
|
- name: context-keys-type
|
||
|
- name: dot-imports
|
||
|
- name: error-return
|
||
|
- name: error-strings
|
||
|
- name: error-naming
|
||
|
- name: exported
|
||
|
- name: increment-decrement
|
||
|
- name: var-naming
|
||
|
- name: var-declaration
|
||
|
- name: package-comments
|
||
|
- name: range
|
||
|
- name: receiver-naming
|
||
|
- name: time-naming
|
||
|
- name: unexported-return
|
||
|
- name: indent-error-flow
|
||
|
- name: errorf
|
||
|
- name: empty-block
|
||
|
- name: superfluous-else
|
||
|
- name: unreachable-code
|
||
|
- name: redefines-builtin-id
|
||
|
# While we agree with this rule, right now it would break too many
|
||
|
# projects. So, we disable it by default.
|
||
|
- name: unused-parameter
|
||
|
disabled: true
|
||
|
gocyclo:
|
||
|
min-complexity: 25
|
||
|
dupl:
|
||
|
threshold: 100
|
||
|
goconst:
|
||
|
min-len: 3
|
||
|
min-occurrences: 3
|
||
|
lll:
|
||
|
line-length: 160
|
||
|
gocritic:
|
||
|
enabled-tags:
|
||
|
- diagnostic
|
||
|
- experimental
|
||
|
- opinionated
|
||
|
- performance
|
||
|
- style
|
||
|
disabled-checks:
|
||
|
- whyNoLint
|
||
|
funlen:
|
||
|
lines: 500
|
||
|
statements: 50
|
||
|
govet:
|
||
|
enable:
|
||
|
- shadow
|
||
|
|
||
|
linters:
|
||
|
disable-all: true
|
||
|
enable:
|
||
|
- bodyclose
|
||
|
- dogsled
|
||
|
- errcheck
|
||
|
- errorlint
|
||
|
- exhaustive
|
||
|
- exportloopref
|
||
|
- funlen
|
||
|
- goconst
|
||
|
- gocritic
|
||
|
- gocyclo
|
||
|
- gofmt
|
||
|
- goimports
|
||
|
- revive
|
||
|
- gosimple
|
||
|
- govet
|
||
|
- ineffassign
|
||
|
- lll
|
||
|
- nakedret
|
||
|
- staticcheck
|
||
|
- typecheck
|
||
|
- unparam
|
||
|
- unused
|
||
|
- whitespace
|
||
|
|
||
|
issues:
|
||
|
exclude:
|
||
|
# We allow error shadowing
|
||
|
- 'declaration of "err" shadows declaration at'
|
||
|
|
||
|
# Excluding configuration per-path, per-linter, per-text and per-source
|
||
|
exclude-rules:
|
||
|
# Exclude some linters from running on tests files.
|
||
|
- path: _test\.go
|
||
|
linters:
|
||
|
- gocyclo
|
||
|
- errcheck
|
||
|
- gosec
|
||
|
- funlen
|
||
|
- gocritic
|
||
|
- gochecknoglobals # Globals in test files are tolerated.
|
||
|
- goconst # Repeated consts in test files are tolerated.
|
||
|
# This rule is buggy and breaks on our `///Block` lines. Disable for now.
|
||
|
- linters:
|
||
|
- gocritic
|
||
|
text: "commentFormatting: put a space"
|
||
|
# This rule incorrectly flags nil references after assert.Assert(t, x != nil)
|
||
|
- path: _test\.go
|
||
|
text: "SA5011"
|
||
|
linters:
|
||
|
- staticcheck
|
||
|
- linters:
|
||
|
- lll
|
||
|
source: "^//go:generate "
|
||
|
- linters:
|
||
|
- lll
|
||
|
- gocritic
|
||
|
path: \.resolvers\.go
|
||
|
source: '^func \(r \*[a-zA-Z]+Resolvers\) '
|
||
|
|
||
|
output:
|
||
|
formats:
|
||
|
- format: colored-line-number
|
||
|
sort-results: true
|