aboutsummaryrefslogtreecommitdiff
path: root/.golangci.yml
blob: fa85f7a675ef4f98bef16a91a8f3bca26e29fce9 (plain)
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
# This file contains configuration options for golangci-lint.
# https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml

run:
  # Timeout for analysis.
  timeout: 5m

linters:
  enable-all: true
  disable:
    - cyclop
    - depguard
    - dupl
    - errname
    - errorlint
    - exhaustive
    - exhaustruct
    - forcetypeassert
    - funlen
    - gochecknoglobals
    - gocognit
    - goconst
    - gocyclo
    - goerr113
    - gomnd
    - gosec
    - inamedparam
    - ireturn
    - maintidx
    - nakedret
    - nestif
    - nlreturn
    - noctx
    - nonamedreturns
    - paralleltest
    - testableexamples
    - testpackage
    - thelper
    - tparallel
    - unparam
    - usestdlibvars
    - varnamelen
    - wrapcheck
    - wsl

    # Deprecated linters
    - deadcode
    - exhaustivestruct
    - golint
    - ifshort
    - interfacer
    - maligned
    - nosnakecase
    - scopelint
    - structcheck
    - varcheck

linters-settings:
  revive:
    # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
    rules:
      - name: use-any
  lll:
    line-length: 130
  stylecheck:
    checks: [
      "all",
      "-ST1000", # at least one file in a package should have a package comment
    ]
  gocritic:
    enabled-tags:
      - diagnostic
      - experimental
      - opinionated
      - performance
      - style
    disabled-checks:
      - deferInLoop
      - importShadow
      - sloppyReassign
      - unnamedResult
      - whyNoLint
  govet:
    enable-all: true
    disable:
      - fieldalignment
      - shadow

issues:
  # Show all issues from a linter.
  max-issues-per-linter: 0

  # Show all issues with the same text.
  max-same-issues: 0

  include:
    - EXC0011 # include issues about comments from `stylecheck`

  exclude-rules:
    # Exclude some linters from running on tests files.
    - path: _test\.go
      linters:
        - lll