chore(lint): настроить golangci-lint v2, gofumpt и форматирование в make

- .golangci.yml: набор линтеров под требования §14 (gosec, gocritic, sloglint,
  noctx, revive, depguard для запрета циклических зависимостей internal/*)
- gofumpt вынесен из formatters golangci-lint v2.13 (сообщал о расхождениях,
  которые сам же не устранял) и применяется отдельным инструментом
- make fmt/go-lint: проверка gofumpt + golangci-lint fmt --diff
- scripts/gitleaks-scan.sh: поддержка gitleaks 8.19+ (dir) и старых версий (detect)
- исправлены замечания линтеров: обработка ошибок Close, контекст в логах,
  NewRequestWithContext в тестах, комментарий к blank-import драйвера SQLite
This commit is contained in:
2026-09-19 18:25:20 +03:00
parent 4bd1770cb5
commit 2bf7101f2d
7 changed files with 64 additions and 37 deletions
+3 -6
View File
@@ -68,7 +68,6 @@ linters:
- diagnostic
- performance
disabled-checks:
- whyNoLint
- hugeParam
- rangeValCopy
gosec:
@@ -90,8 +89,6 @@ linters:
- name: var-naming
- name: unreachable-code
sloglint:
no-mixed-args: true
kv-only: true
attr-only: true
context: "scope"
staticcheck:
@@ -117,13 +114,13 @@ linters:
- unused
- staticcheck
# gofumpt намеренно не включён в formatters golangci-lint: в v2.13 он сообщает
# о расхождениях, которых `golangci-lint fmt` не устраняет (проверено на v2.13.2).
# gofumpt применяется отдельным инструментом в целях make fmt / make go-lint.
formatters:
enable:
- gofumpt
- goimports
settings:
gofumpt:
extra-rules: true
goimports:
local-prefixes:
- glchat