40 lines
1.6 KiB
YAML
40 lines
1.6 KiB
YAML
|
|
# Конфигурация golangci-lint v2.
|
|||
|
|
# Запуск: `golangci-lint run ./...` (или `make lint`).
|
|||
|
|
# Формат v2: линтеры живут в `linters`, форматтеры (gofmt/goimports) —
|
|||
|
|
# в отдельной секции `formatters`.
|
|||
|
|
|
|||
|
|
version: "2"
|
|||
|
|
|
|||
|
|
run:
|
|||
|
|
timeout: 5m
|
|||
|
|
|
|||
|
|
linters:
|
|||
|
|
# standard = errcheck, govet, ineffassign, staticcheck, unused.
|
|||
|
|
default: standard
|
|||
|
|
enable:
|
|||
|
|
- gocritic # подсвечивает сомнительные конструкции, в т.ч. if-цепочки вместо switch
|
|||
|
|
- misspell # опечатки в комментариях и строках
|
|||
|
|
- revive # замена устаревшему golint: стиль и именование
|
|||
|
|
exclusions:
|
|||
|
|
rules:
|
|||
|
|
# В тестах часть ошибок осознанно игнорируется (напр. откат tx в Cleanup).
|
|||
|
|
- path: _test\.go
|
|||
|
|
linters:
|
|||
|
|
- errcheck
|
|||
|
|
# Тестовые хелперы: t идёт первым — так заведено в testing-пакете
|
|||
|
|
# (t.Helper()), а ctx создаётся один раз на весь тест и подставляется
|
|||
|
|
# вторым. Перестановка местами ничего не даёт, но ломает читаемость.
|
|||
|
|
- path: _test\.go
|
|||
|
|
linters:
|
|||
|
|
- revive
|
|||
|
|
text: "context-as-argument"
|
|||
|
|
|
|||
|
|
formatters:
|
|||
|
|
enable:
|
|||
|
|
- gofmt
|
|||
|
|
- goimports
|
|||
|
|
settings:
|
|||
|
|
goimports:
|
|||
|
|
# Локальные импорты не разбиваются на отдельную группу.
|
|||
|
|
local-prefixes: [building-mgmt]
|