linters-settings: funlen: lines: 140 statements: 50 gci: local-prefixes: github.com/golangci/golangci-lint goconst: min-len: 2 min-occurrences: 2 gocritic: enabled-tags: - diagnostic - experimental - opinionated - performance - style disabled-checks: - dupImport # https://github.com/go-critic/go-critic/issues/845 - ifElseChain - octalLiteral - whyNoLint - wrapperFunc - sqlQuery # used by tests gocyclo: min-complexity: 20 goimports: local-prefixes: github.com/golangci/golangci-lint golint: min-confidence: 0 gomnd: settings: mnd: # don't include the "operation" and "assign" checks: argument,case,condition,return govet: check-shadowing: true settings: printf: funcs: - (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof - (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf - (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf - (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf lll: line-length: 140 maligned: suggest-new: true misspell: locale: US nolintlint: allow-leading-space: true # don't require machine-readable nolint directives (i.e. with no leading space) allow-unused: false # report any unused nolint directives require-explanation: false # don't require an explanation for nolint directives require-specific: false # don't require nolint directives to be specific about which linter is being skipped exhaustive: default-signifies-exhaustive: true linters: # please, do not use `enable-all`: it's deprecated and will be removed soon. # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint disable-all: true enable: - asciicheck - bodyclose - deadcode - depguard - dogsled - errcheck - exportloopref - exhaustive - errcheck - errorlint - funlen - forbidigo - forcetypeassert - goconst - gocritic - gocyclo - gofmt - goimports - golint - gomnd - goprintffuncname - gosec - gosimple - govet - ifshort - ineffassign - lll - makezero - misspell - nakedret - nilerr - noctx - nolintlint - prealloc - predeclared - rowserrcheck - staticcheck - structcheck - stylecheck - testpackage - typecheck - unconvert - unparam - unused - varcheck - whitespace # don't enable: # - gochecknoglobals # - gocognit # - godot # - godox # - goerr113 # - interfacer # - maligned # - nestif # - revive # - wsl # - wrapcheck issues: # Excluding configuration per-path, per-linter, per-text and per-source exclude-rules: - path: _test\.go linters: - gomnd # https://github.com/go-critic/go-critic/issues/926 - linters: - gocritic text: "unnecessaryDefer:" run: skip-dirs: - test/testdata_etc - internal/cache - internal/renameio - internal/robustio