chore: add .golangci config
This commit is contained in:
172 .golangci.yml Normal file
172
.golangci.yml Normal file @@ -0,0 +1,172 @@ | ||||
linters: | ||||
enable: | ||||
- gosimple | ||||
- deadcode | ||||
- typecheck | ||||
- govet | ||||
- errcheck | ||||
- staticcheck | ||||
- unused | ||||
- structcheck | ||||
- varcheck | ||||
- dupl | ||||
#- gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time. | ||||
- gofmt | ||||
- misspell | ||||
- gocritic | ||||
- bidichk | ||||
- ineffassign | ||||
- revive | ||||
- gofumpt | ||||
- depguard | ||||
- nakedret | ||||
- unconvert | ||||
- wastedassign | ||||
- nolintlint | ||||
- stylecheck | ||||
enable-all: false | ||||
disable-all: true | ||||
fast: false | ||||
| ||||
run: | ||||
go: 1.18 | ||||
timeout: 10m | ||||
skip-dirs: | ||||
- node_modules | ||||
- public | ||||
- web_src | ||||
| ||||
linters-settings: | ||||
stylecheck: | ||||
checks: ["all", "-ST1005", "-ST1003"] | ||||
nakedret: | ||||
max-func-lines: 0 | ||||
gocritic: | ||||
disabled-checks: | ||||
- ifElseChain | ||||
- singleCaseSwitch # Every time this occurred in the code, there was no other way. | ||||
revive: | ||||
ignore-generated-header: false | ||||
severity: warning | ||||
confidence: 0.8 | ||||
errorCode: 1 | ||||
warningCode: 1 | ||||
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: if-return | ||||
- 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: duplicated-imports | ||||
- name: modifies-value-receiver | ||||
gofumpt: | ||||
extra-rules: true | ||||
lang-version: "1.18" | ||||
depguard: | ||||
# TODO: use depguard to replace import checks in gitea-vet | ||||
list-type: denylist | ||||
# Check the list against standard lib. | ||||
include-go-root: true | ||||
packages-with-error-message: | ||||
- github.com/unknwon/com: "use gitea's util and replacements" | ||||
| ||||
issues: | ||||
exclude-rules: | ||||
# Exclude some linters from running on tests files. | ||||
- path: _test\.go | ||||
linters: | ||||
- gocyclo | ||||
- errcheck | ||||
- dupl | ||||
- gosec | ||||
- unparam | ||||
- staticcheck | ||||
- path: models/migrations/v | ||||
linters: | ||||
- gocyclo | ||||
- errcheck | ||||
- dupl | ||||
- gosec | ||||
- linters: | ||||
- dupl | ||||
text: "webhook" | ||||
- linters: | ||||
- gocritic | ||||
text: "`ID' should not be capitalized" | ||||
- path: modules/templates/helper.go | ||||
linters: | ||||
- gocritic | ||||
- linters: | ||||
- unused | ||||
- deadcode | ||||
text: "swagger" | ||||
- path: contrib/pr/checkout.go | ||||
linters: | ||||
- errcheck | ||||
- path: models/issue.go | ||||
linters: | ||||
- errcheck | ||||
- path: models/migrations/ | ||||
linters: | ||||
- errcheck | ||||
- path: modules/log/ | ||||
linters: | ||||
- errcheck | ||||
- path: routers/api/v1/repo/issue_subscription.go | ||||
linters: | ||||
- dupl | ||||
- path: routers/repo/view.go | ||||
linters: | ||||
- dupl | ||||
- path: models/migrations/ | ||||
linters: | ||||
- unused | ||||
- linters: | ||||
- staticcheck | ||||
text: "argument x is overwritten before first use" | ||||
- path: modules/httplib/httplib.go | ||||
linters: | ||||
- staticcheck | ||||
# Enabling this would require refactoring the methods and how they are called. | ||||
- path: models/issue_comment_list.go | ||||
linters: | ||||
- dupl | ||||
- linters: | ||||
- misspell | ||||
text: '`Unknwon` is a misspelling of `Unknown`' | ||||
- path: models/update.go | ||||
linters: | ||||
- unused | ||||
- path: cmd/dump.go | ||||
linters: | ||||
- dupl | ||||
- path: services/webhook/webhook.go | ||||
linters: | ||||
- structcheck | ||||
- text: "commentFormatting: put a space between `//` and comment text" | ||||
linters: | ||||
- gocritic | ||||
- text: "exitAfterDefer:" | ||||
linters: | ||||
- gocritic | ||||
- path: modules/graceful/manager_windows.go | ||||
linters: | ||||
- staticcheck | ||||
text: "svc.IsAnInteractiveSession is deprecated: Use IsWindowsService instead." | ||||
- path: models/user/openid.go | ||||
linters: | ||||
- golint | ||||
Reference in New Issue
Block a user