File: .golangci.yml

package info (click to toggle)
golang-github-vulcand-oxy 2.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 728 kB
  • sloc: makefile: 14
file content (127 lines) | stat: -rw-r--r-- 3,720 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
run:
  deadline: 5m
  skip-files: [ ]
  skip-dirs: ["internal/holsterv4"]

linters-settings:
  govet:
    enable-all: true
    disable:
      - fieldalignment
      - shadow
  gocyclo:
    min-complexity: 15
  maligned:
    suggest-new: true
  goconst:
    min-len: 5
    min-occurrences: 3
  misspell:
    locale: US
  funlen:
    lines: -1
    statements: 50
  godox:
    keywords:
      - FIXME
  gofumpt:
    extra-rules: false
  depguard:
    rules:
      main:
        deny:
          - pkg: "github.com/instana/testify"
            desc: not allowed
          - pkg: "github.com/pkg/errors"
            desc: Should be replaced by standard lib errors package
  gocritic:
    enabled-tags:
      - diagnostic
      - style
      - performance
    disabled-checks:
      - sloppyReassign
      - rangeValCopy
      - octalLiteral
      - paramTypeCombine # already handle by gofumpt.extra-rules
      - httpNoBody
      - unnamedResult
      - deferInLoop # TODO(ldez) should be use on the project
    settings:
      hugeParam:
        sizeThreshold: 100

linters:
  enable-all: true
  disable:
    - deadcode # deprecated
    - exhaustivestruct # deprecated
    - golint # deprecated
    - ifshort # deprecated
    - interfacer # deprecated
    - maligned # deprecated
    - nosnakecase # deprecated
    - scopelint # deprecated
    - structcheck # deprecated
    - varcheck # deprecated
    - sqlclosecheck # not relevant (SQL)
    - rowserrcheck # not relevant (SQL)
    - execinquery # not relevant (SQL)
    - cyclop # duplicate of gocyclo
    - lll
    - dupl
    - wsl
    - nlreturn
    - gomnd
    - goerr113
    - wrapcheck
    - exhaustive
    - exhaustruct
    - testpackage
    - tparallel
    - paralleltest
    - prealloc
    - ifshort
    - forcetypeassert
    - bodyclose # Too many false positives: https://github.com/timakin/bodyclose/issues/30
    - varnamelen
    - noctx
    - tagliatelle
    - nilnil
    - ireturn
    - nonamedreturns
    - gochecknoglobals # TODO(ldez) should be use on the project
    - nestif # TODO(ldez) should be use on the project

issues:
  exclude-use-default: false
  max-per-linter: 0
  max-same-issues: 0
  exclude:
    - 'ST1000: at least one file in a package should have a package comment' # TODO(ldez) must be fixed
    - 'package-comments: should have a package comment'
    - 'Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked'
    - 'SA1019: http.CloseNotifier has been deprecated'
    - 'exported: func name will be used as roundrobin.RoundRobinRequestRewriteListener by other packages'# TODO(ldez) must be fixed
    - 'G101: Potential hardcoded credentials' # TODO(ldez) https://github.com/golangci/golangci-lint/issues/4037

  exclude-rules:
    - path: .*_test.go
      linters:
        - funlen
        - gosec
    - path: testutils/.+
      linters:
        - gosec
    - path: cbreaker/cbreaker_test.go
      text: "`statsNetErrors` - `threshold` always receives `0.6`" # TODO(ldez) must be fixed
    - path: buffer/buffer.go
      text: "(cognitive|cyclomatic) complexity \\d+ of func `\\(\\*Buffer\\)\\.ServeHTTP` is high" # TODO(ldez) must be fixed
    - path: buffer/buffer.go
      text: "Function 'ServeHTTP' has too many statements" # TODO(ldez) must be fixed
    - path: forward/fwd.go
      text: "(cognitive|cyclomatic) complexity \\d+ of func `\\(\\*httpForwarder\\)\\.serveWebSocket` is high" # TODO(ldez) must be fixed
    - path: forward/fwd.go
      text: "Function 'serveWebSocket' has too many statements" # TODO(ldez) must be fixed
    - path: utils/handler.go
      text: "ifElseChain: rewrite if-else to switch statement" # TODO(ldez) must be fixed