add golangci-lint config

This commit is contained in:
Dzyanis Kuzmenka 2022-03-19 00:20:03 +03:00
parent ce677820c6
commit ca863c259f
2 changed files with 125 additions and 0 deletions

1
.gitignore vendored
View File

@ -31,6 +31,7 @@ test/bin/
vendor/ vendor/
dist/ dist/
.idea/ .idea/
.vscode/
# Cache # Cache
*.swp *.swp

124
.golangci.yml Normal file
View File

@ -0,0 +1,124 @@
run:
modules-download-mode: readonly
issues-exit-code: 0
linters-settings:
exhaustive:
default-signifies-exhaustive: false
gci:
sections:
- standard
- default
- prefix(github.com/fatedier/frp)
goconst:
min-occurrences: 5
ignore-tests: true
godot:
scope: toplevel
exclude:
- go-sumtype:decl
- check interfaces
capital: true
godox:
keywords:
- BUG
- FIXME
- HACK
goimports:
local-prefixes: github.com/fatedier/frp
gosimple:
go: "1.18"
checks: ["all"]
lll:
line-length: 130
tab-width: 4
nolintlint:
allow-unused: false
allow-leading-space: false
allow-no-explanation: []
require-explanation: true
require-specific: true
staticcheck:
go: "1.18"
checks: ["all"]
stylecheck:
go: "1.18"
checks: ["all"]
dot-import-whitelist: []
initialisms: []
http-status-code-whitelist: []
unparam:
check-exported: true
unused:
go: "1.18"
whitespace:
multi-if: false
multi-func: false
tagliatelle:
linters:
enable-all: true
disable:
# TODO: enable one by one
- govet
- goimports
- gofmt
- misspell
- ineffassign
- gci
- paralleltest
- maintidx
- unparam
- nakedret
- goconst
- wastedassign
- gosimple
- dupl
- goprintffuncname
- structcheck
- unused
- promlinter
- nestif
- errorlint
- lll
- contextcheck
- bodyclose
- whitespace
- gofumpt
- godot
- gocritic
- gocognit
- deadcode
- unconvert
- varcheck
- errchkjson
- nilnil
- thelper
- ireturn
- forbidigo
- containedctx
- tagliatelle
- cyclop
- errcheck
- exhaustivestruct
- forcetypeassert
- funlen
- gochecknoglobals
- gochecknoinits
- goerr113
- gomnd
- gosec
- revive
- varnamelen
- wrapcheck
- noctx
- staticcheck
- stylecheck
- golint
- interfacer
- maligned
- nlreturn
- scopelint
- testpackage
- wsl
- ifshort