From bb1f5edea8d3dffdf31255a3c17250faac1c351e Mon Sep 17 00:00:00 2001 From: sirkrypt0 <22522058+sirkrypt0@users.noreply.github.com> Date: Tue, 18 May 2021 10:41:17 +0200 Subject: [PATCH] Add golangci-lint configuration We enable more linters to enforce better code. --- .golangci.yaml | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 .golangci.yaml diff --git a/.golangci.yaml b/.golangci.yaml new file mode 100644 index 0000000..c620bd6 --- /dev/null +++ b/.golangci.yaml @@ -0,0 +1,95 @@ +linters-settings: + errcheck: + check-type-assertions: true + check-blank: true + funlen: + lines: 100 + statements: 50 + gocognit: + min-complexity: 15 + goconst: + min-occurences: 2 + gocritic: + enabled-tags: + - diagnostic + - experimental + - opinionated + - performance + - style + disabled-checks: + - dupImport # https://github.com/go-critic/go-critic/issues/845 + gocyclo: + min-complexity: 15 + gomnd: + settings: + mnd: + # don't include "assign" + checks: argument,case,condition,operation,return + importas: + unaliased: false + lll: + line-length: 120 + makezero: + always: true + maligned: + suggest-new: true + misspell: + locale: US + nakedret: + max-func-lines: 5 + stylecheck: + go: "1.16" + +linters: + disable-all: true + enable: + # default + - deadcode + - errcheck + - gosimple + - govet + - ineffassign + - staticcheck + - structcheck + - typecheck + - unused + - varcheck + # additional linters, see https://golangci-lint.run/usage/linters + - bodyclose + - dogsled + - dupl + - durationcheck + - exportloopref + - funlen + - gochecknoinits + - gocognit + - goconst + - gocritic + - gocyclo + - godot + - goerr113 + - gofmt + - gomnd + - goprintffuncname + - gosec + - ifshort + - importas + - lll + - makezero + - misspell + - nakedret + - noctx + - prealloc + - stylecheck + - thelper + - unconvert + - unparam + - wastedassign + - whitespace + - wrapcheck + +issues: + exclude-rules: + - path: _test\.go + linters: + - noctx