Files
Atay-Makhzan/.golangci.yml
T

183 lines
4.4 KiB
YAML
Raw Normal View History

2025-03-29 15:01:06 +01:00
version: "2"
output:
sort-order:
- file
2019-06-12 21:41:28 +02:00
linters:
2025-03-29 15:01:06 +01:00
default: none
2019-06-12 21:41:28 +02:00
enable:
2022-12-08 09:21:37 +01:00
- bidichk
- depguard
2019-06-12 21:41:28 +02:00
- dupl
2022-12-08 09:21:37 +01:00
- errcheck
2023-04-24 11:50:58 +02:00
- forbidigo
2022-03-21 06:22:34 +03:00
- gocritic
2022-12-08 09:21:37 +01:00
- govet
- ineffassign
2025-04-01 12:14:01 +02:00
- mirror
- nakedret
- nolintlint
2025-04-01 12:14:01 +02:00
- perfsprint
2022-12-08 09:21:37 +01:00
- revive
- staticcheck
2024-12-15 11:41:29 +01:00
- testifylint
2022-12-08 09:21:37 +01:00
- unconvert
2024-06-11 20:47:45 +02:00
- unparam
2025-03-29 15:01:06 +01:00
- unused
2025-04-01 12:14:01 +02:00
- usestdlibvars
2025-02-21 00:05:40 +08:00
- usetesting
- wastedassign
2025-03-29 15:01:06 +01:00
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
2025-06-27 07:59:55 +02:00
nolintlint:
allow-unused: false
require-explanation: true
2025-06-27 07:59:55 +02:00
require-specific: true
2025-03-29 15:01:06 +01:00
gocritic:
enabled-checks:
- equalFold
2025-03-29 15:01:06 +01:00
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
2025-06-27 07:59:55 +02:00
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
2025-03-29 15:01:06 +01:00
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:
2025-03-29 15:01:06 +01:00
- 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$
2019-06-12 21:41:28 +02:00
issues:
max-issues-per-linter: 0
max-same-issues: 0
2025-03-29 15:01:06 +01:00
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