From 7abbf5188da9a3df50d56e27f7618b04b87b18fd Mon Sep 17 00:00:00 2001 From: Dzyanis Kuzmenka Date: Thu, 17 Mar 2022 22:36:12 +0300 Subject: [PATCH] add golangci-lint config --- .gitignore | 1 + .golangci.yml | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .golangci.yml diff --git a/.gitignore b/.gitignore index eeccf24a..0d8ca50d 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ test/bin/ vendor/ dist/ .idea/ +.vscode/ # Cache *.swp diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..ee782ece --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,125 @@ +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 + - paralleltest + - maintidx + - ifshort + - gosimple + - unparam + - nakedret + - misspell + - goimports + - goconst + - wastedassign + - gosimple + - dupl + - goprintffuncname + - structcheck + - unused + - promlinter + - nestif + - gci + - errorlint + - ineffassign + - lll + - contextcheck + - bodyclose + - whitespace + - gofumpt + - godot + - gofmt + - gocritic + - gocognit + - deadcode + - unconvert + - varcheck + - errchkjson + - govet + - 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