diff options
Diffstat (limited to '.golangci.yml')
-rw-r--r-- | .golangci.yml | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..640fbb93 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,149 @@ +linters: + enable-all: false + disable-all: true + fast: false + enable: + - bidichk + - depguard + - dupl + - errcheck + - forbidigo + - gocritic + - gofmt + - gofumpt + - gosimple + - govet + - ineffassign + - nakedret + - nolintlint + - revive + - staticcheck + - stylecheck + - tenv + - testifylint + - typecheck + - unconvert + - unused + - unparam + - wastedassign + +run: + timeout: 10m + +output: + sort-results: true + sort-order: [file] + show-stats: true + +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: + 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 + gofumpt: + extra-rules: true + 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: github.com/minio/sha256-simd + desc: use crypto/sha256 instead, see https://codeberg.org/forgejo/forgejo/pulls/1528 + testifylint: + disable: + - go-require + +issues: + max-issues-per-linter: 0 + max-same-issues: 0 + exclude-dirs: [node_modules, public, web_src] + exclude-case-sensitive: true + exclude-rules: + - path: models/db/sql_postgres_with_schema.go + linters: + - nolintlint + - path: _test\.go + linters: + - gocyclo + - errcheck + - dupl + - gosec + - unparam + - staticcheck + - path: models/migrations/v + linters: + - gocyclo + - errcheck + - dupl + - gosec + - path: cmd + linters: + - forbidigo + - text: "webhook" + linters: + - dupl + - text: "`ID' should not be capitalized" + linters: + - gocritic + - text: "swagger" + linters: + - unused + - deadcode + - text: "argument x is overwritten before first use" + linters: + - staticcheck + - text: "commentFormatting: put a space between `//` and comment text" + linters: + - gocritic + - text: "exitAfterDefer:" + linters: + - gocritic |