446 lines
32 KiB
YAML
446 lines
32 KiB
YAML
version: "2"
|
||
|
||
issues:
|
||
# Максимальное количество выпусков с одинаковым текстом.
|
||
# Можно задать 0 для отключения.
|
||
# Default: 3
|
||
max-same-issues: 50
|
||
|
||
formatters:
|
||
enable:
|
||
- goimports # Проверяет, отформатированы ли код и утверждения импорта в соответствии с командой 'goimports'.
|
||
- golines # Проверяет, отформатирован ли код, и исправляет длинные строки.
|
||
|
||
## Можно дополнительно рассмотреть для включения.
|
||
#- gci # Проверяет, отформатирован ли код и операторы импорта, с дополнительными правилами.
|
||
#- gofmt # Проверяет, отформатирован ли код в соответствии с командой 'gofmt'.
|
||
#- gofumpt # Применяет более строгий формат, чем 'gofmt', при этом сохраняя обратную совместимость.
|
||
|
||
# Все настройки можно найти здесь: https://github.com/golangci/golangci-lint/blob/HEAD/.golangci.reference.yml
|
||
settings:
|
||
goimports:
|
||
# Список префиксов, который, если установлен, проверяет пути импорта
|
||
# с указанными префиксами, группируются после сторонних (3rd-party) пакетов.
|
||
# Default: []
|
||
local-prefixes: []
|
||
|
||
golines:
|
||
# Максимальная длина строки.
|
||
# Default: 100
|
||
max-len: 120
|
||
|
||
linters:
|
||
enable:
|
||
## Включены по умолчанию.
|
||
- errcheck # Проверка непроверенных ошибок, эти непроверенные ошибки в некоторых случаях могут быть критическими ошибками.
|
||
- govet # Сообщает о подозрительных конструкциях, таких как вызов Printf, аргументы которого не совпадают со строкой формата.
|
||
- ineffassign # Обнаруживает, когда присваивания существующим переменным не используются.
|
||
- staticcheck # Это govet на стероидах, применяющий тонну проверок статического анализа.
|
||
- unused # Проверяет наличие неиспользуемых констант, переменных, функций и типов.
|
||
|
||
## Выключены по умолчанию.
|
||
- asasalint # Проверяет на передачу []any как any в вариативной функции func(...any).
|
||
- asciicheck # Проверяет, что ваш код не содержит идентификаторов, отличных от ASCII.
|
||
- bidichk # Проверяет наличие опасных последовательностей символов Юникода.
|
||
- bodyclose # Проверяет, успешно ли закрыто тело HTTP-ответа.
|
||
- canonicalheader # Проверяет, использует ли net/http.Header канонический заголовок.
|
||
- copyloopvar # Определяет места, где копируются переменные цикла (Go 1.22+).
|
||
- cyclop # Проверяет цикломатическую сложность функций и пакетов.
|
||
- depguard # Проверяет наличие импорта пакетов в списке допустимых пакетов.
|
||
- dupl # Инструмент для обнаружения клонов кода.
|
||
- durationcheck # Проверка на наличие двух длительностей, умноженных друг на друга.
|
||
- errname # Проверяет, что ошибки-сигнализаторы имеют префикс Err, а типы ошибок имеют суффикс Error.
|
||
- errorlint # Находит код, который вызовет проблемы со схемой обертывания ошибок, введенной в Go 1.13.
|
||
- exhaustive # Проверяет исчерпанность операторов перечисления.
|
||
- exptostd # Обнаруживает функции из golang.org/x/exp/, которые могут быть заменены на std-функции.
|
||
- fatcontext # Обнаружение вложенных контекстов в циклах.
|
||
- forbidigo # Запрещает идентификаторы.
|
||
- funcorder # Проверяет порядок следования функций, методов и конструкторов.
|
||
- funlen # Инструмент для обнаружения длинных функций.
|
||
- gocheckcompilerdirectives # Проверяет комментарии к директивам компилятора go (//go:).
|
||
- gochecknoglobals # Проверяет отсутствие глобальных переменных.
|
||
- gochecknoinits # Проверяет отсутствие функций init в коде Go.
|
||
- gochecksumtype # Проверяет исчерпываемость "типов сумм" в Go.
|
||
- gocognit # Вычисляет и проверяет когнитивную сложность функций.
|
||
- goconst # Находит повторяющиеся строки, которые можно заменить константой.
|
||
- gocritic # Предоставляет диагностику, которая проверяет ошибки, производительность и проблемы со стилем.
|
||
- gocyclo # Вычисляет и проверяет цикломатическую сложность функций.
|
||
- godot # Проверяет, заканчиваются ли комментарии точкой.
|
||
- gomoddirectives # Управляет использованием директив 'replace', 'retract' и 'excludes' в go.mod.
|
||
- goprintffuncname # Проверяет, что printf-подобные функции названы с f в конце.
|
||
- gosec # Проверяет исходный код на наличие проблем с безопасностью.
|
||
- iface # Проверяет неправильное использование интерфейсов, помогая разработчикам избежать загрязнения интерфейсов.
|
||
- intrange # Находит места, где циклы for могли бы использовать диапазон целых чисел.
|
||
- loggercheck # Проверяет пары ключ-значение для распространенных библиотек логгеров (kitlog,klog,logr,zap).
|
||
- makezero # Находит объявления фрагментов с ненулевой начальной длиной.
|
||
- mirror # Сообщает о неправильных зеркальных шаблонах использования байтов/строк.
|
||
- mnd # Обнаруживает магические числа.
|
||
- musttag # Принудительное использование тегов полей в (не)маршализированных структурах.
|
||
- nakedret # Находит "голые" возвраты в функциях, длина которых превышает заданную длину функции.
|
||
- nestif # Сообщает о глубоко вложенных операторах if.
|
||
- nilerr # Находит код, возвращающий nil, даже если он проверяет, что ошибка не nil.
|
||
- nilnesserr # Сообщает, что он проверяет err != nil, но возвращает другую ошибку со значением nil (на основе nilness и nilerr).
|
||
- nilnil # Проверяет, что нет одновременного возврата ошибки nil и недопустимого значения.
|
||
- noctx # Обнаруживает отправку http-запроса без context.Context.
|
||
- nolintlint # Сообщает о неправильно сформированных или недостаточных директивах nolint.
|
||
- nonamedreturns # Сообщает обо всех именованных возвратах.
|
||
- nosprintfhostport # Проверяет, не используется ли Sprintf для построения хоста с портом в URL.
|
||
- perfsprint # Проверяет, что fmt.Sprintf может быть заменен более быстрой альтернативой.
|
||
- predeclared # Находит код, который затеняет один из заранее объявленных идентификаторов Go.
|
||
- promlinter # Проверяет именование метрик Prometheus через promlint.
|
||
- protogetter # Сообщает о прямом чтении из полей сообщений proto, когда следует использовать геттеры.
|
||
- reassign # Проверяет, что переменные пакета не переназначены.
|
||
- recvcheck # Проверяет согласованность типов приемников.
|
||
- revive # Быстрый, конфигурируемый, расширяемый, гибкий и красивый линкер для Go, замена golint.
|
||
- rowserrcheck # Проверяет, успешно ли проверяется Err строк.
|
||
- sloglint # Обеспечивает согласованный стиль кода при использовании log/slog.
|
||
- spancheck # Проверяет ошибки при работе со спанами OpenTelemetry/Census.
|
||
- sqlclosecheck # Проверяет, что sql.Rows и sql.Stmt закрыты.
|
||
- testableexamples # Проверяет, являются ли примеры тестируемыми (имеют ожидаемый результат).
|
||
- testifylint # Проверяет использование github.com/stretchr/testify.
|
||
- tparallel # Обнаруживает неуместное использование метода t.Parallel() в ваших тестовых кодах Go.
|
||
- unconvert # Удаляет ненужные преобразования типов.
|
||
- unparam # Сообщает о неиспользуемых параметрах функции.
|
||
- usestdlibvars # Обнаруживает возможность использования переменных/констант из стандартной библиотеки Go.
|
||
- usetesting # Сообщает об использовании функций с заменой внутри тестового пакета.
|
||
- wastedassign # Находит ненужные операторы присваивания.
|
||
- whitespace # Определяет ведущие и завершающие пробельные символы.
|
||
|
||
## Могут быть рассмотрены для включения.
|
||
#- decorder # Проверяет порядок объявления и количество типов, констант, переменных и функций.
|
||
#- exhaustruct # [Настоятельно рекомендуется включить] Проверяет, все ли поля структуры инициализированы.
|
||
#- ginkgolinter # [Если используется ginkgo/gomega] Обеспечивает соблюдение стандартов использования ginkgo и gomega.
|
||
#- godox # Определяет FIXME, TODO и другие ключевые слова комментариев.
|
||
#- goheader # Проверяет соответствие заголовка файла шаблону.
|
||
#- inamedparam # [Отличная проверка, но слишком строгая, нужно игнорировать многие случаи по умолчанию] Сообщает об интерфейсах с неименованными параметрами методов.
|
||
#- interfacebloat # Проверяет количество методов внутри интерфейса.
|
||
#- ireturn # Принимает интерфейсы, возвращает конкретные типы.
|
||
#- prealloc # [Преждевременная оптимизация, но может быть использована в некоторых случаях] Находит объявления фрагментов, которые потенциально могут быть предварительно выделены.
|
||
#- tagalign # Проверяет, хорошо ли выровнены теги struct.
|
||
#- testpackage # Заставляет использовать отдельный пакет _test.
|
||
#- varnamelen # [Отличная проверка, но слишком много ложных срабатываний] Проверяет, что длина имени переменной соответствует ее области видимости.
|
||
#- wrapcheck # Проверяет, что ошибки, возвращаемые из внешних пакетов, обернуты.
|
||
#- zerologlint # Обнаруживает неправильное использование zerolog, когда пользователь забывает отправить zerolog.Event.
|
||
|
||
## Отключены
|
||
#- containedctx # Обнаруживает структуру, содержащую поле context.Context.
|
||
#- contextcheck # [Слишком много ложных срабатываний] Проверяет функцию на использование ненаследованного контекста.
|
||
#- dogsled # Проверяет присваивания со слишком большим количеством пустых идентификаторов (например, x, _, _, _, := f()).
|
||
#- dupword # [Бесполезно без конфига] Проверяет наличие дублирующихся слов в исходном коде.
|
||
#- err113 # [Слишком строгий] Проверяет обработку ошибок в выражениях.
|
||
#- errchkjson # [Не вижу смысла + я против опускания ошибок, как в первом примере https://github.com/breml/errchkjson] проверяет типы, передаваемые функциям кодирования json. Сообщает о неподдерживаемых типах и опционально сообщает о случаях, когда проверка на возвращаемую ошибку может быть опущена.
|
||
#- forcetypeassert # [Заменено на errcheck] Находит принудительные утверждения типа.
|
||
#- gomodguard # [Используется более мощный depguard] Разрешает и блокирует списки linter для прямых зависимостей модулей Go.
|
||
#- gosmopolitan # Сообщает об определенных антипаттернах i18n/l10n в вашей кодовой базе Go.
|
||
#- grouper # Анализирует группы выражений.
|
||
#- importas # Обеспечивает согласованный импорт псевдонимов.
|
||
#- lll # [Заменено на golines] Сообщает о длинных строках.
|
||
#- maintidx # Измеряет индекс сопровождаемости каждой функции.
|
||
#- misspell # [Бесполезный] Находит в комментариях часто неправильно написанные английские слова.
|
||
#- nlreturn # [Слишком строгий и в основном код не становится более читаемым] Проверяет наличие новой строки перед операторами return и branch для повышения ясности кода.
|
||
#- paralleltest # [Слишком много ложных срабатываний] Обнаруживает отсутствие использования метода t.Parallel() в вашем тесте Go.
|
||
#- tagliatelle # Проверяет теги struct.
|
||
#- thelper # Обнаруживает тестовые хелперы golang без вызова t.Helper() и проверяет согласованность тестовых хелперов.
|
||
#- wsl # [Слишком строгий и в основном не читаемый код] whitespace linter заставляет вас использовать пустые строки.
|
||
|
||
# Все настройки можно найти здесь: https://github.com/golangci/golangci-lint/blob/HEAD/.golangci.reference.yml
|
||
settings:
|
||
cyclop:
|
||
# Максимальная сложность кода, о которой нужно сообщить.
|
||
# Конфигурация в случае с этим линтером устанавливает максимальную допустимую сложность кода. Сложность кода обычно измеряется с помощью метрик, таких как значение Мориса Холстеда, которое учитывает количество операторов, условий и циклов в блоке кода. Единица измерения в данном случае - это значение Мориса Холстеда. Чем выше значение Мориса Холстеда, тем сложнее код. Линтер Cyclone позволяет задать пороговое значение для этой метрики. Если код превышает этот порог, линтер выдаст предупреждение.
|
||
# Default: 10
|
||
max-complexity: 30
|
||
# Максимальная средняя сложность пакета.
|
||
# Если оно больше 0,0 (плавающее), проверка включена.
|
||
# Default: 0.0
|
||
package-average: 10.0
|
||
|
||
depguard:
|
||
# Правила применения.
|
||
#
|
||
# Переменные:
|
||
# - Файловые переменные.
|
||
# Необходимо использовать восклицательный знак `!` для отрицания переменной.
|
||
# Пример: `!$test` соответствует любому файлу, который не является файлом go test.
|
||
#
|
||
# `$all` - соответствует всем файлам go.
|
||
# `$test` - соответствует всем тестовым файлам go
|
||
#
|
||
# - Переменные пакета
|
||
#
|
||
# `$gostd` - соответствует всей стандартной библиотеке go (Извлеченной из `GOROOT`)
|
||
#
|
||
# По умолчанию (применяется, если не определены пользовательские правила): Разрешить $gostd только во всех файлах.
|
||
rules:
|
||
"deprecated":
|
||
# Список шаблонов файлов, которые будут соответствовать данному списку настроек для сравнения.
|
||
# По умолчанию, если путь является относительным, то он является относительным к директории, в которой выполняется команда golangci-lint.
|
||
# Заполнитель '${base-path}' заменяется на путь относительно режима, заданного с помощью `run.relative-path-mode`.
|
||
# Заполнитель '${config-path}' заменяется на путь относительно конфигурационного файла.
|
||
# Default: $all
|
||
files:
|
||
- "$all"
|
||
# Список пакетов, которые не разрешены.
|
||
# Записи могут быть переменной (начинающейся с $), строковым префиксом или точным совпадением (если заканчивается на $).
|
||
# Default: []
|
||
deny:
|
||
- pkg: github.com/golang/protobuf
|
||
desc: Use google.golang.org/protobuf instead, see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules
|
||
- pkg: github.com/satori/go.uuid
|
||
desc: Use github.com/google/uuid instead, satori's package is not maintained
|
||
- pkg: github.com/gofrs/uuid$
|
||
desc: Use github.com/gofrs/uuid/v5 or later, it was not a go module before v5
|
||
"non-test files":
|
||
files:
|
||
- "!$test"
|
||
deny:
|
||
- pkg: math/rand$
|
||
desc: Use math/rand/v2 instead, see https://go.dev/blog/randv2
|
||
"non-main files":
|
||
files:
|
||
- "!**/main.go"
|
||
deny:
|
||
- pkg: log$
|
||
desc: Use log/slog instead, see https://go.dev/blog/slog
|
||
|
||
errcheck:
|
||
# Сообщение об отсутствии проверки ошибок в утверждениях типов: `a := b.(MyStruct)`.
|
||
# По умолчанию о таких случаях не сообщается.
|
||
# Default: false
|
||
check-type-assertions: true
|
||
|
||
exhaustive:
|
||
# Элементы программы для проверки на полноту.
|
||
# Default: [ switch ]
|
||
check:
|
||
- switch
|
||
- map
|
||
|
||
exhaustruct:
|
||
# Список регулярных выражений для исключения пакетов структур и их имен из проверок.
|
||
# Регулярные выражения должны соответствовать полному каноническому пакету/имени структуры/имени структуры.
|
||
# Default: []
|
||
exclude:
|
||
# std libs
|
||
- ^net/http.Client$
|
||
- ^net/http.Cookie$
|
||
- ^net/http.Request$
|
||
- ^net/http.Response$
|
||
- ^net/http.Server$
|
||
- ^net/http.Transport$
|
||
- ^net/url.URL$
|
||
- ^os/exec.Cmd$
|
||
- ^reflect.StructField$
|
||
# public libs
|
||
- ^github.com/Shopify/sarama.Config$
|
||
- ^github.com/Shopify/sarama.ProducerMessage$
|
||
- ^github.com/mitchellh/mapstructure.DecoderConfig$
|
||
- ^github.com/prometheus/client_golang/.+Opts$
|
||
- ^github.com/spf13/cobra.Command$
|
||
- ^github.com/spf13/cobra.CompletionOptions$
|
||
- ^github.com/stretchr/testify/mock.Mock$
|
||
- ^github.com/testcontainers/testcontainers-go.+Request$
|
||
- ^github.com/testcontainers/testcontainers-go.FromDockerfile$
|
||
- ^golang.org/x/tools/go/analysis.Analyzer$
|
||
- ^google.golang.org/protobuf/.+Options$
|
||
- ^gopkg.in/yaml.v3.Node$
|
||
|
||
funcorder:
|
||
# Проверяет, размещены ли экспортированные методы структуры перед неэкспортированными.
|
||
# Default: true
|
||
struct-method: false
|
||
|
||
funlen:
|
||
# Проверяет количество строк в функции.
|
||
# Если меньше 0, отключаем проверку.
|
||
# Default: 60
|
||
lines: 100
|
||
# Проверяет количество операторов в функции.
|
||
# Если меньше 0, отключаем проверку.
|
||
# Default: 40
|
||
statements: 50
|
||
|
||
gochecksumtype:
|
||
# Наличие регистра `default` в операторах switch удовлетворяет требованию полноты, если не перечислены все элементы.
|
||
# Default: true
|
||
default-signifies-exhaustive: false
|
||
|
||
gocognit:
|
||
# Минимальная сложность кода для отчета.
|
||
# Default: 30 (Рекомендуется 10-20)
|
||
min-complexity: 20
|
||
|
||
gocritic:
|
||
# Настройки, передаваемые gocritic.
|
||
# Ключ настроек - это имя поддерживаемой проверки gocritic.
|
||
# Список поддерживаемых программ проверки можно найти по адресу: https://go-critic.com/overview.
|
||
settings:
|
||
captLocal:
|
||
# Ограничивать ли проверку только параметрами.
|
||
# Default: true
|
||
paramsOnly: false
|
||
underef:
|
||
# Пропускать ли вызовы (*x).method(), где x — это получатель указателя.
|
||
# Default: true
|
||
skipRecvDeref: false
|
||
|
||
gomoddirectives:
|
||
# Разрешенные replaces необходимые для подключения сервиса как unit aakore.
|
||
replace-allow-list:
|
||
- git.acronis.com/ab/go-app-dir
|
||
- git.acronis.com/ab/go-service
|
||
- git.acronis.com/agents/aakore-support/go/akk
|
||
- git.acronis.com/tp/go-jwtopenssl
|
||
- git.acronis.com/tp/go-openssl
|
||
|
||
govet:
|
||
# Включить все анализаторы.
|
||
# Default: false
|
||
enable-all: true
|
||
# Отключить анализаторы по имени.
|
||
# Запустите `GL_DEBUG=govet golangci-lint run --enable=govet`, чтобы увидеть анализаторы по умолчанию, все доступные анализаторы и включенные анализаторы.
|
||
# Default: []
|
||
disable:
|
||
- fieldalignment # Слишком строго.
|
||
# Настройки для каждого анализатора.
|
||
settings:
|
||
shadow:
|
||
# Стоит ли быть строгим в отношении затенения, может быть шумно.
|
||
# Default: false
|
||
strict: true
|
||
|
||
inamedparam:
|
||
# Пропускает проверку методов интерфейса с единственным параметром.
|
||
# Default: false
|
||
skip-single-param: true
|
||
|
||
mnd:
|
||
# Список шаблонов функций, которые нужно исключить из анализа.
|
||
# Значения всегда игнорируются: `time.Date`,
|
||
# `strconv.FormatInt`, `strconv.FormatUint`, `strconv.FormatFloat`,
|
||
# `strconv.ParseInt`, `strconv.ParseUint`, `strconv.ParseFloat`.
|
||
# Default: []
|
||
ignored-functions:
|
||
- args.Error
|
||
- flag.Arg
|
||
- flag.Duration.*
|
||
- flag.Float.*
|
||
- flag.Int.*
|
||
- flag.Uint.*
|
||
- os.Chmod
|
||
- os.Mkdir.*
|
||
- os.OpenFile
|
||
- os.WriteFile
|
||
- prometheus.ExponentialBuckets.*
|
||
- prometheus.LinearBuckets
|
||
|
||
nakedret:
|
||
# Возникнет проблема, если func содержит больше строк кода, чем эта настройка, и имеет голые возвраты.
|
||
# Default: 30
|
||
max-func-lines: 0
|
||
|
||
nolintlint:
|
||
# Исключить следующие линтеры, требующие пояснения.
|
||
# Default: []
|
||
allow-no-explanation: [ funlen, gocognit, golines ]
|
||
# Необходимо включить если надо требовать пояснение ненулевой длины после каждой директивы nolint.
|
||
# Default: false
|
||
require-explanation: true
|
||
# Необходимо включить если надо, чтобы директивы nolint обязательно упоминали конкретный подавляемый линтер.
|
||
# Default: false
|
||
require-specific: true
|
||
|
||
perfsprint:
|
||
# Оптимизирует конкатенацию строк.
|
||
# Default: true
|
||
strconcat: false
|
||
|
||
reassign:
|
||
# Шаблоны для имен глобальных переменных, проверяемых на переназначение.
|
||
# Более подробно: https://github.com/curioswitch/go-reassign#usage
|
||
# Default: ["EOF", "Err.*"]
|
||
patterns:
|
||
- ".*"
|
||
|
||
rowserrcheck:
|
||
# database/sql всегда проверяется.
|
||
# Default: []
|
||
packages:
|
||
- github.com/jmoiron/sqlx
|
||
|
||
sloglint:
|
||
# Запретить использование глобальных регистраторов.
|
||
# Значения:
|
||
# - «»: отключено
|
||
# - «all»: сообщать обо всех глобальных логгерах.
|
||
# - «default»: сообщать только о стандартном логгере.
|
||
# https://github.com/go-simpler/sloglint?tab=readme-ov-file#no-global
|
||
# Default: «»
|
||
no-global: all
|
||
# Усиление использования методов, принимающих контекст.
|
||
# Значения:
|
||
# - «»: отключено.
|
||
# - «all»: сообщать обо всех вызовах без контекста.
|
||
# - «scope»: сообщать, только если контекст существует в области видимости самой внешней функции.
|
||
# Более подробно: https://github.com/go-simpler/sloglint?tab=readme-ov-file#context-only
|
||
# Default: «»
|
||
context: scope
|
||
|
||
staticcheck:
|
||
# Проверки SAxxxx в https://staticcheck.dev/docs/configuration/options/#checks
|
||
# Пример (для отключения некоторых проверок): [«all», «-SA1000», «-SA1001»]
|
||
# Default: [«all», «-ST1000», «-ST1003», «-ST1016», «-ST1020», «-ST1021», «-ST1022»]
|
||
checks:
|
||
- all
|
||
# Неверный или отсутствующий комментарий к пакету.
|
||
# Более подробно: https://staticcheck.dev/docs/checks/#ST1000
|
||
- -ST1000
|
||
# Используйте согласованные имена приемников методов.
|
||
# Более подробно: https://staticcheck.dev/docs/checks/#ST1016
|
||
- -ST1016
|
||
# Опускать встроенные поля из выражения селектора.
|
||
# Более подробно: https://staticcheck.dev/docs/checks/#QF1008
|
||
- -QF1008
|
||
|
||
|
||
usetesting:
|
||
# Включение/выключение обнаружения `os.TempDir()`.
|
||
# Default: false
|
||
os-temp-dir: true
|
||
|
||
exclusions:
|
||
# Выводите предупреждение, если правило исключения не используется.
|
||
# Default: false
|
||
warn-unused: true
|
||
# Предопределенные правила исключения.
|
||
# Default: []
|
||
presets:
|
||
- std-error-handling
|
||
- common-false-positives
|
||
# Исключение конфигураций per-path, per-linter, per-text и per-source.
|
||
rules:
|
||
- source: 'TODO'
|
||
linters: [ godot ]
|
||
- text: 'Должен иметь комментарий к пакету.'
|
||
linters: [ revive ]
|
||
- text: 'Экспортированные \S+ \S+ должны иметь комментарий( \(или комментарий к этому блоку\))? или быть неэкспортированными.'
|
||
linters: [ revive ]
|
||
- text: 'Комментарий пакета должен иметь вид «.+».'
|
||
source: '// ?(nolint|TODO)'
|
||
linters: [ revive ]
|
||
- text: 'Комментарий к экспортируемым \S+ \S+ должен иметь вид «.+».'
|
||
source: '// ?(nolint|TODO)'
|
||
linters: [ revive, staticcheck ]
|
||
- path: '_test\.go'
|
||
linters:
|
||
- bodyclose
|
||
- dupl
|
||
- errcheck
|
||
- funlen
|
||
- goconst
|
||
- gosec
|
||
- noctx
|
||
- wrapcheck
|
||
paths-except:golangci.yml
|
||
- api/openapi
|