From 480e36763f29acade5381c9707134887e05206bb Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Wed, 19 Mar 2025 17:48:23 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=20Replace=20all=20linting=20with?= =?UTF-8?q?=20golangci-lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .golangci.yaml | 39 +++++++++++++++++++++++++++++++ Taskfile.yml | 62 +++++--------------------------------------------- 2 files changed, 45 insertions(+), 56 deletions(-) create mode 100644 .golangci.yaml diff --git a/.golangci.yaml b/.golangci.yaml new file mode 100644 index 0000000..273e2af --- /dev/null +++ b/.golangci.yaml @@ -0,0 +1,39 @@ +linters: + enable: + - errcheck + - gosimple + - govet + - ineffassign + - staticcheck + - unused + - copyloopvar + - dupl + - err113 + - errname + - exptostd + - fatcontext + - funlen + - gocognit + - goconst + - gocritic + - gocyclo + - godot + - godox + - gosec + - perfsprint + - testifylint + +linters-settings: + testifylint: + enable-all: true + disable: + - require-error + gocognit: + min-complexity: 5 + gocyclo: + min-complexity: 5 + gocritic: + enable-all: true + settings: + hugeParam: + sizeThreshold: 255 diff --git a/Taskfile.yml b/Taskfile.yml index 35792f6..ef9f12e 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,7 +5,7 @@ tasks: cmds: - task: fmt - task: test - - task: build + - task: lint fmt: desc: Format go code @@ -22,66 +22,16 @@ tasks: cmds: - go generate ./... - vet: - desc: Vet go code - sources: - - '**/*.go' - cmds: - - go vet ./... - - critic: - desc: Critique go code - sources: - - '**/*.go' - cmds: - - gocritic check ./... - - staticcheck: - desc: Static check go code - sources: - - '**/*.go' - cmds: - - staticcheck ./... - - cog-complex: - desc: Calculate cognitive complexity - sources: - - '**/*.go' - cmds: - - gocognit -over 5 . - - cyc-complex: - desc: Calculate cyclomatic complexity - sources: - - '**/*.go' - cmds: - - gocyclo -over 5 . - - complex: - desc: Calculate complexities - deps: - - cog-complex - - cyc-complex - - vuln: - desc: Check for vulnerabilities - sources: - - '**/*.go' - cmds: - - govulncheck ./... - lint: desc: Do static analysis - deps: - - vet - - critic - - staticcheck - - complex - - vuln + sources: + - '**/*.go' + cmds: + - golangci-lint run test: desc: Run unit tests - deps: [fmt, vet] + deps: [fmt] sources: - '**/*.go' generates: