version: "2" run: issues-exit-code: 1 tests: true linters: default: none enable: # defaults - errcheck - govet - ineffassign - staticcheck - unused # disabled by default linters # - arangolint # - asasalint - asciicheck - bidichk - bodyclose # - canonicalheader - containedctx # - contextcheck - copyloopvar # - cyclop - decorder - depguard - dogsled # - dupl - dupword - durationcheck # - embeddedstructfieldcheck # - err113 - errchkjson - errname # - errorlint # - exhaustive # - exhaustruct # - exptostd - fatcontext # - forbidigo - forcetypeassert # - funcorder # - funlen # - ginkgolinter - gocheckcompilerdirectives # - gochecknoglobals # - gochecknoinits - gochecksumtype # - gocognit - goconst - gocritic # - gocyclo # - godot # - godox # - goheader - gomoddirectives - gomodguard - goprintffuncname - gosec # - gosmopolitan - grouper - iface # - importas # - inamedparam # - interfacebloat - intrange # - ireturn # - lll # - loggercheck # - maintidx - makezero - mirror - misspell # - mnd # - musttag # - nakedret # - nestif - nilerr - nilnesserr # - nilnil # - nlreturn - noctx # - noinlineerr - nolintlint # - nonamedreturns - nosprintfhostport # - paralleltest - perfsprint - prealloc - predeclared # - promlinter # - protogetter - reassign # - recvcheck - revive - rowserrcheck # - sloglint # - spancheck - sqlclosecheck - tagalign # - tagliatelle - testableexamples - testifylint # - testpackage - thelper - tparallel - unconvert - unparam - usestdlibvars - usetesting # - varnamelen - wastedassign - whitespace # - wrapcheck # - wsl_v5 # - zerologlint # - wsl // Deprecated settings: depguard: rules: prevent_json_package_use: list-mode: lax files: - $all allow: - github.com/thrasher-corp/gocryptotrader/encoding/json deny: - pkg: encoding/json desc: Please use the custom JSON package github.com/thrasher-corp/gocryptotrader/encoding/json instead of encoding/json to allow sonic/json switching. goconst: min-occurrences: 6 gocritic: disabled-checks: - wrapperFunc - methodExprCall - evalOrder enabled-tags: - performance - style - experimental govet: enable: - shadow - nilness - unusedwrite staticcheck: checks: - all - '-ST1000' # Disable at least one file in a package should have a package comment check - '-QF1005' # Disable expand call to math.Pow check - '-QF1008' # Disable embedded field from selector check testifylint: enable-all: true disable: - require-error - float-compare # We deliberately use Equal over Len to avoid spamming the contents of large Slices - len exclusions: generated: lax presets: - common-false-positives - legacy - std-error-handling rules: - linters: - gosec text: Expect WriteFile permissions to be 0600 or less - linters: - govet text: 'shadow: declaration of "err" shadows declaration at' - linters: - govet path: _test\.go text: 'shadow: declaration of "e" shadows declaration at' - linters: - revive text: 'should have a package comment' - linters: - revive text: "var-naming: avoid meaningless package names" paths: - vendor - web/ - testdata - database/models/ - third_party$ - builtin$ - examples$ issues: max-issues-per-linter: 0 max-same-issues: 0 formatters: enable: - gci - gofmt - gofumpt - goimports settings: gofumpt: extra-rules: true exclusions: generated: lax paths: - vendor - web/ - testdata - database/models/ - third_party$ - builtin$ - examples$