.golangci.yml raw

   1  version: "2"
   2  
   3  formatters:
   4    enable:
   5      - gci
   6      - gofumpt
   7    settings:
   8      gofumpt:
   9        extra-rules: true
  10  
  11  linters:
  12    default: all
  13    disable:
  14      - cyclop # duplicate of gocyclo
  15      - dupl
  16      - err113
  17      - exhaustive
  18      - exhaustruct
  19      - forcetypeassert
  20      - funcorder
  21      - lll
  22      - mnd
  23      - nilnil
  24      - nlreturn
  25      - noinlineerr
  26      - paralleltest
  27      - prealloc
  28      - rowserrcheck # not relevant (SQL)
  29      - sqlclosecheck # not relevant (SQL)
  30      - testpackage
  31      - tparallel
  32      - varnamelen
  33      - wrapcheck
  34      - wsl # deprecated
  35  
  36    settings:
  37      depguard:
  38        rules:
  39          main:
  40            deny:
  41              - pkg: github.com/instana/testify
  42                desc: not allowed
  43              - pkg: github.com/pkg/errors
  44                desc: Should be replaced by standard lib errors package
  45      funlen:
  46        lines: -1
  47        statements: 40
  48      goconst:
  49        min-len: 5
  50        min-occurrences: 3
  51      gocritic:
  52        disabled-checks:
  53          - sloppyReassign
  54          - rangeValCopy
  55          - octalLiteral
  56          - paramTypeCombine # already handle by gofumpt.extra-rules
  57        enabled-tags:
  58          - diagnostic
  59          - style
  60          - performance
  61        settings:
  62          hugeParam:
  63            sizeThreshold: 120
  64      gocyclo:
  65        min-complexity: 15
  66      godox:
  67        keywords:
  68          - FIXME
  69      govet:
  70        disable:
  71          - fieldalignment
  72        enable-all: true
  73      misspell:
  74        locale: US
  75      tagliatelle:
  76        case:
  77          rules:
  78            json: snake
  79      perfsprint:
  80        err-error: true
  81        errorf: true
  82        sprintf1: true
  83        strconcat: false
  84  
  85    exclusions:
  86      warn-unused: true
  87      presets:
  88        - comments
  89        - std-error-handling
  90      rules:
  91        - linters:
  92            - funlen
  93          path: .*_test.go
  94  
  95  issues:
  96    max-issues-per-linter: 0
  97    max-same-issues: 0
  98