Мёртвый код
Правила, обнаруживающие неиспользуемые файлы, экспорты и типы в вашей кодовой базе.
Обнаружение мёртвого кода работает на основе Knip. Неиспользуемый код раздувает бандл, замедляет холодный старт и увеличивает размер деплоя — всё это приводит к повышенным затратам на Vercel.
Вы можете полностью отключить обнаружение мёртвого кода с помощью --no-dead-code или "deadCode": false в конфигурационном файле.
knip/files
knip/filesОбнаруживает файлы, которые не импортируются ни одним другим файлом в проекте.
Почему это важно: Неиспользуемые файлы всё равно деплоятся и парсятся при сборке. Они увеличивают время холодного старта, добавляясь к графу модулей.
Исправление: Удалите файл или, если он намеренно автономный, добавьте его в паттерны entry в конфигурации Knip.
knip/exports
knip/exportsОбнаруживает экспортируемые символы (функции, переменные, классы), которые нигде не импортируются.
Почему это важно: Неиспользуемые экспорты добавляют мёртвый код в бандл. Tree-shaking не всегда устраняет их, особенно в серверном коде.
Исправление: Удалите ключевое слово export или удалите символ, если он больше не нужен.
knip/types
knip/typesОбнаруживает экспортируемые типы и интерфейсы TypeScript, на которые нигде нет ссылок.
Исправление: Удалите неиспользуемые экспорты типов.
knip/duplicates
knip/duplicatesОбнаруживает один и тот же символ, экспортируемый из нескольких файлов.
Почему это важно: Дублирующиеся экспорты создают неоднозначность и могут привести к импорту из неправильного файла, подтягивая больше кода, чем необходимо.
Исправление: Объедините дубликаты в одно место экспорта.
Last updated on