183 lines
4.4 KiB
YAML
183 lines
4.4 KiB
YAML
|
version: "2"
|
||
|
output:
|
||
|
sort-order:
|
||
|
- file
|
||
|
linters:
|
||
|
default: none
|
||
|
enable:
|
||
|
- bidichk
|
||
|
- depguard
|
||
|
- dupl
|
||
|
- errcheck
|
||
|
- forbidigo
|
||
|
- gocritic
|
||
|
- govet
|
||
|
- ineffassign
|
||
|
- mirror
|
||
|
- nakedret
|
||
|
- nolintlint
|
||
|
- perfsprint
|
||
|
- revive
|
||
|
- staticcheck
|
||
|
- testifylint
|
||
|
- unconvert
|
||
|
- unparam
|
||
|
- unused
|
||
|
- usestdlibvars
|
||
|
- usetesting
|
||
|
- wastedassign
|
||
|
settings:
|
||
|
depguard:
|
||
|
rules:
|
||
|
main:
|
||
|
deny:
|
||
|
- pkg: encoding/json
|
||
|
desc: use gitea's modules/json instead of encoding/json
|
||
|
- pkg: github.com/unknwon/com
|
||
|
desc: use gitea's util and replacements
|
||
|
- pkg: io/ioutil
|
||
|
desc: use os or io instead
|
||
|
- pkg: golang.org/x/exp
|
||
|
desc: it's experimental and unreliable
|
||
|
- pkg: code.gitea.io/gitea/modules/git/internal
|
||
|
desc: do not use the internal package, use AddXxx function instead
|
||
|
- pkg: gopkg.in/ini.v1
|
||
|
desc: do not use the ini package, use gitea's config system instead
|
||
|
- pkg: gitea.com/go-chi/cache
|
||
|
desc: do not use the go-chi cache package, use gitea's cache system
|
||
|
nolintlint:
|
||
|
allow-unused: false
|
||
|
require-explanation: true
|
||
|
require-specific: true
|
||
|
gocritic:
|
||
|
enabled-checks:
|
||
|
- equalFold
|
||
|
disabled-checks:
|
||
|
- ifElseChain
|
||
|
- singleCaseSwitch # Every time this occurred in the code, there was no other way.
|
||
|
revive:
|
||
|
severity: error
|
||
|
rules:
|
||
|
- name: atomic
|
||
|
- name: bare-return
|
||
|
- name: blank-imports
|
||
|
- name: constant-logical-expr
|
||
|
- name: context-as-argument
|
||
|
- name: context-keys-type
|
||
|
- name: dot-imports
|
||
|
- name: duplicated-imports
|
||
|
- name: empty-lines
|
||
|
- name: error-naming
|
||
|
- name: error-return
|
||
|
- name: error-strings
|
||
|
- name: errorf
|
||
|
- name: exported
|
||
|
- name: identical-branches
|
||
|
- name: if-return
|
||
|
- name: increment-decrement
|
||
|
- name: indent-error-flow
|
||
|
- name: modifies-value-receiver
|
||
|
- name: package-comments
|
||
|
- name: range
|
||
|
- name: receiver-naming
|
||
|
- name: redefines-builtin-id
|
||
|
- name: string-of-int
|
||
|
- name: superfluous-else
|
||
|
- name: time-naming
|
||
|
- name: unconditional-recursion
|
||
|
- name: unexported-return
|
||
|
- name: unreachable-code
|
||
|
- name: var-declaration
|
||
|
- name: var-naming
|
||
|
arguments:
|
||
|
- [] # AllowList - do not remove as args for the rule are positional and won't work without lists first
|
||
|
- [] # DenyList
|
||
|
- - skip-package-name-checks: true # supress errors from underscore in migration packages
|
||
|
staticcheck:
|
||
|
checks:
|
||
|
- all
|
||
|
- -ST1003
|
||
|
- -ST1005
|
||
|
- -QF1001
|
||
|
- -QF1006
|
||
|
- -QF1008
|
||
|
testifylint:
|
||
|
disable:
|
||
|
- go-require
|
||
|
- require-error
|
||
|
usetesting:
|
||
|
os-temp-dir: true
|
||
|
exclusions:
|
||
|
generated: lax
|
||
|
presets:
|
||
|
- comments
|
||
|
- common-false-positives
|
||
|
- legacy
|
||
|
- std-error-handling
|
||
|
rules:
|
||
|
- linters:
|
||
|
- dupl
|
||
|
- errcheck
|
||
|
- gocyclo
|
||
|
- gosec
|
||
|
- staticcheck
|
||
|
- unparam
|
||
|
path: _test\.go
|
||
|
- linters:
|
||
|
- dupl
|
||
|
- errcheck
|
||
|
- gocyclo
|
||
|
- gosec
|
||
|
path: models/migrations/v
|
||
|
- linters:
|
||
|
- forbidigo
|
||
|
path: cmd
|
||
|
- linters:
|
||
|
- dupl
|
||
|
text: (?i)webhook
|
||
|
- linters:
|
||
|
- gocritic
|
||
|
text: (?i)`ID' should not be capitalized
|
||
|
- linters:
|
||
|
- deadcode
|
||
|
- unused
|
||
|
text: (?i)swagger
|
||
|
- linters:
|
||
|
- staticcheck
|
||
|
text: (?i)argument x is overwritten before first use
|
||
|
- linters:
|
||
|
- gocritic
|
||
|
text: '(?i)commentFormatting: put a space between `//` and comment text'
|
||
|
- linters:
|
||
|
- gocritic
|
||
|
text: '(?i)exitAfterDefer:'
|
||
|
paths:
|
||
|
- node_modules
|
||
|
- public
|
||
|
- web_src
|
||
|
- third_party$
|
||
|
- builtin$
|
||
|
- examples$
|
||
|
issues:
|
||
|
max-issues-per-linter: 0
|
||
|
max-same-issues: 0
|
||
|
formatters:
|
||
|
enable:
|
||
|
- gofmt
|
||
|
- gofumpt
|
||
|
settings:
|
||
|
gofumpt:
|
||
|
extra-rules: true
|
||
|
exclusions:
|
||
|
generated: lax
|
||
|
paths:
|
||
|
- node_modules
|
||
|
- public
|
||
|
- web_src
|
||
|
- third_party$
|
||
|
- builtin$
|
||
|
- examples$
|
||
|
|
||
|
run:
|
||
|
timeout: 10m
|