-
Notifications
You must be signed in to change notification settings - Fork 2
/
.golangci.yml
134 lines (121 loc) · 4.18 KB
/
.golangci.yml
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
128
129
130
131
132
133
134
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
run:
timeout: 5m
tests: true
linters:
enable:
- asasalint # checks for pass []any as any in variadic func(...any)
- asciicheck # checks that your code does not contain non-ASCII identifiers
- bidichk # checks for dangerous unicode character sequences
- bodyclose
- containedctx
- decorder # checks declaration order and count of types, constants, variables and functions
#- depguard
- dogsled
- durationcheck # checks for two durations multiplied together
- errcheck
- errname
- errorlint
- exportloopref # checks for pointers to enclosing loop variables
- gci
- gochecknoinits # checks that no init functions are present in Go code
- gocritic
- gosimple
- govet
- importas # enforces consistent import aliases
- ineffassign
- loggercheck
- makezero # finds slice declarations with non-zero initial length
- misspell
- nakedret
- nestif
- nilerr # finds the code that returns nil even if it checks that the error is not nil
- nilnil # checks that there is no simultaneous return of nil error and an invalid value
- noctx # finds sending http request without context.Context
- nolintlint
- predeclared # finds code that shadows one of Go's predeclared identifiers
- reassign # checks that package variables are not reassigned
- revive
- rowserrcheck
- sqlclosecheck
- staticcheck
- stylecheck
- tagliatelle # checks the struct tags
- tenv
- thelper # detects golang test helpers without t.Helper() call and checks the consistency of test helpers
- unconvert # removes unnecessary type conversions
- unparam # reports unused function parameters
- unused
- usestdlibvars # detects the possibility to use variables/constants from the Go standard library
- wastedassign # finds wasted assignment statements
- whitespace # detects leading and trailing whitespace
linters-settings:
gci:
skip-generated: true
custom-order: true
sections:
- standard # Standard section: captures all standard packages.
- default # Default section: contains all imports that could not be matched to another section type.
- prefix(github.com/hashicorp)
gocritic:
enabled-tags:
- diagnostic
- style
- performance
- experimental
- opinionated
disabled-checks:
- hugeParam # conflicts with some cloud-sdk interfaces
- importShadow # noisy
settings:
captLocal:
# Whether to restrict checker to params only.
# Default: true
paramsOnly: false
underef:
# Whether to skip (*x).method() calls where x is a pointer receiver.
# Default: true
skipRecvDeref: false
unnamedResult:
# Whether to check exported functions.
# Default: false
checkExported: true
govet:
enable-all: true
disable:
- fieldalignment # too strict
- shadow # conflicts with gocritic
misspell:
locale: US
nakedret:
max-func-lines: 0
nestif:
# Minimal complexity of if statements to report.
# Default: 5
min-complexity: 4
nolintlint:
# Enable to require an explanation of nonzero length after each nolint directive.
# Default: false
require-explanation: true
rowserrcheck:
# database/sql is always checked
# Default: []
packages:
- github.com/jmoiron/sqlx
stylecheck:
checks: ["all"]
issues:
include:
- EXC0001 # Error return value of x is not checked
- EXC0004 # possible misuse of unsafe.Pointer|should have signature
- EXC0009 # Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less
- EXC0010 # Potential file inclusion via variable
- EXC0012 # exported (.+) should have comment( \(or a comment on this block\))? or be unexported
- EXC0013 # package comment should be of the form "(.+)...
- EXC0014 # comment on exported (.+) should be of the form "(.+)..."
- EXC0015 # should have a package comment
exclude-rules:
- path: _test\.go
linters:
- revive # revive checks errors and some validation errors from hclsimple run afoul