From 25671b4f9d28a4bf10f08eedfbbf357748a84cf2 Mon Sep 17 00:00:00 2001 From: CarterPerez-dev Date: Fri, 8 May 2026 06:21:26 -0400 Subject: [PATCH] fix: resolve simple-vulnerability-scanner goconst failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migrate .golangci.yml from v1 issues.exclude-rules to v2 linters.exclusions.rules — the v1 key was silently ignored by golangci-lint v2, so test-file goconst exclusions weren't applied. With the config fixed, all test-file violations disappear. Extract severity constants in output.go to fix the 4 remaining non-test goconst violations (CRITICAL/HIGH/MODERATE/ LOW each appear 3x in severityRank, severityBreakdown, and severityColorFn). --- .../.golangci.yml | 32 +++++++++---------- .../internal/cli/output.go | 29 +++++++++++------ 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/PROJECTS/beginner/simple-vulnerability-scanner/.golangci.yml b/PROJECTS/beginner/simple-vulnerability-scanner/.golangci.yml index 3719239e..145c904a 100644 --- a/PROJECTS/beginner/simple-vulnerability-scanner/.golangci.yml +++ b/PROJECTS/beginner/simple-vulnerability-scanner/.golangci.yml @@ -25,6 +25,19 @@ linters: - testifylint - fatcontext + exclusions: + rules: + - path: _test\.go + linters: + - funlen + - dupl + - goconst + - gosec + paths: + - vendor + - testdata + max-same-issues: 50 + settings: errcheck: check-type-assertions: true @@ -78,24 +91,11 @@ linters: kv-only: true context: all -issues: - max-same-issues: 50 - exclude-dirs: - - vendor - - testdata - exclude-rules: - - path: _test\.go - linters: - - funlen - - dupl - - goconst - - formatters: enable: - - gci # Groups imports - - gofumpt # Whitespace - - golines # Vertical wrap + - gci + - gofumpt + - golines settings: golines: max-len: 80 diff --git a/PROJECTS/beginner/simple-vulnerability-scanner/internal/cli/output.go b/PROJECTS/beginner/simple-vulnerability-scanner/internal/cli/output.go index efbb55d4..e0811a2f 100644 --- a/PROJECTS/beginner/simple-vulnerability-scanner/internal/cli/output.go +++ b/PROJECTS/beginner/simple-vulnerability-scanner/internal/cli/output.go @@ -35,6 +35,13 @@ import ( "github.com/CarterPerez-dev/angela/pkg/types" ) +const ( + severityCritical = "CRITICAL" + severityHigh = "HIGH" + severityModerate = "MODERATE" + severityLow = "LOW" +) + func printDivider() { fmt.Printf("\n %s\n", ui.HiBlack(ui.HRule(44))) } @@ -314,13 +321,13 @@ func sortVulnsBySeverity( func severityRank(sev string) int { switch strings.ToUpper(sev) { - case "CRITICAL": + case severityCritical: return 0 - case "HIGH": + case severityHigh: return 1 - case "MODERATE": + case severityModerate: return 2 - case "LOW": + case severityLow: return 3 default: return 4 @@ -336,7 +343,11 @@ func severityBreakdown( } order := []string{ - "CRITICAL", "HIGH", "MODERATE", "LOW", "UNKNOWN", + severityCritical, + severityHigh, + severityModerate, + severityLow, + "UNKNOWN", } var parts []string @@ -520,13 +531,13 @@ func severityColorFn( sev string, ) func(a ...any) string { switch strings.ToUpper(sev) { - case "CRITICAL": + case severityCritical: return ui.Red - case "HIGH": + case severityHigh: return ui.RedBold - case "MODERATE": + case severityModerate: return ui.HiYellow - case "LOW": + case severityLow: return ui.Cyan default: return ui.HiBlack