diff --git a/.golangci.yml b/.golangci.yml index 44187a9..dab57df 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,37 +1,114 @@ +version: "2" +output: + sort-order: + - file linters: - disable-all: true + default: none enable: + - bidichk - bodyclose - - dogsled + - depguard - errcheck - - exportloopref - - exhaustive - - gochecknoinits - - goconst + - forbidigo + - gocheckcompilerdirectives - gocritic - - gofmt - - goimports - - goprintffuncname - - gosec - - gosimple - govet - ineffassign - - misspell + - mirror + - modernize - nakedret - - noctx + - nilnil - nolintlint + - perfsprint + - revive - staticcheck - - stylecheck - - typecheck + - testifylint - unconvert - unparam - unused - - whitespace - - gofumpt - + - usestdlibvars + - usetesting + - wastedassign + settings: + depguard: + rules: + main: + deny: + - pkg: io/ioutil + desc: use os or io instead + - pkg: golang.org/x/exp + desc: it's experimental and unreliable + - pkg: github.com/pkg/errors + desc: use builtin errors package instead + nolintlint: + allow-unused: false + require-explanation: true + require-specific: true + gocritic: + enabled-checks: + - equalFold + disabled-checks: [] + revive: + severity: error + rules: + - name: blank-imports + - name: constant-logical-expr + - name: context-as-argument + - name: context-keys-type + - name: dot-imports + - name: empty-lines + - name: error-return + - name: error-strings + - name: exported + - name: identical-branches + - name: if-return + - name: increment-decrement + - name: modifies-value-receiver + - name: package-comments + - name: redefines-builtin-id + - name: superfluous-else + - name: time-naming + - name: unexported-return + - name: var-declaration + - name: var-naming + disabled: true + staticcheck: + checks: + - all + testifylint: {} + usetesting: + os-temp-dir: true + perfsprint: + concat-loop: false + govet: + enable: + - nilness + - unusedwrite + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + - linters: + - errcheck + - staticcheck + - unparam + path: _test\.go issues: - exclude-rules: - # Exclude `lll` issues for long lines with `go:generate`. - - linters: - - lll - source: "^//go:generate " + max-issues-per-linter: 0 + max-same-issues: 0 +formatters: + enable: + - gofmt + - gofumpt + - golines + settings: + gofumpt: + extra-rules: true + exclusions: + generated: lax +run: + timeout: 10m