.golangci.yml raw

   1  run:
   2    timeout: 5m
   3    skip-files:
   4      - 'client_prod_test.go'
   5  
   6  linters-settings:
   7    govet:
   8      enable-all: true
   9      disable:
  10        - fieldalignment
  11    gocyclo:
  12      min-complexity: 15
  13    maligned:
  14      suggest-new: true
  15    goconst:
  16      min-len: 5
  17      min-occurrences: 3
  18    misspell:
  19      locale: US
  20    funlen:
  21      lines: -1
  22      statements: 50
  23    godox:
  24      keywords:
  25        - FIXME
  26    gofumpt:
  27      extra-rules: true
  28    depguard:
  29      list-type: blacklist
  30      include-go-root: false
  31      packages:
  32        - github.com/sirupsen/logrus
  33        - github.com/pkg/errors
  34    gocritic:
  35      enabled-tags:
  36        - diagnostic
  37        - style
  38        - performance
  39      disabled-checks:
  40        - sloppyReassign
  41        - rangeValCopy
  42        - octalLiteral
  43        - hugeParam
  44        - paramTypeCombine # already handled by gofumpt.extra-rules
  45    tagliatelle:
  46      case:
  47        rules:
  48          json: snake
  49  
  50  linters:
  51    enable-all: true
  52    disable:
  53      - deadcode # deprecated
  54      - exhaustivestruct # deprecated
  55      - golint # deprecated
  56      - ifshort # deprecated
  57      - interfacer # deprecated
  58      - maligned # deprecated
  59      - nosnakecase # deprecated
  60      - scopelint # deprecated
  61      - structcheck # deprecated
  62      - varcheck # deprecated
  63      - sqlclosecheck # not relevant (SQL)
  64      - rowserrcheck # not relevant (SQL)
  65      - execinquery # not relevant (SQL)
  66      - cyclop # duplicate of gocyclo
  67      - lll
  68      - dupl
  69      - wsl
  70      - nlreturn
  71      - gomnd
  72      - goerr113
  73      - wrapcheck
  74      - exhaustive
  75      - exhaustruct
  76      - testpackage
  77      - tparallel
  78      - paralleltest
  79      - prealloc
  80      - ifshort
  81      - forcetypeassert
  82      - bodyclose # Too many false positives: https://github.com/timakin/bodyclose/issues/30
  83      - varnamelen
  84  
  85  issues:
  86    exclude-use-default: false
  87    max-per-linter: 0
  88    max-same-issues: 0
  89    exclude:
  90      - 'ST1000: at least one file in a package should have a package comment'
  91    exclude-rules:
  92      - path: .*_test.go
  93        linters:
  94          - funlen
  95