TypeScript ломается не в типах, а в границах: 5 мест, где проект быстро деградирует
Чаще всего проблемы не в «сложном типе», а в том, как проект подключает внешние данные и локальные модули. Если границы не описаны, TS превращается в декоратор для any, а не в защиту.
— Не тащите типы из runtime-данных напрямую: сначала валидируйте вход, потом присваивайте тип.
— Не включайте skipLibCheck как костыль: он прячет конфликтующие декларации и ломает доверие к сборке.
— Не раздавайте any через helper-функции: один удобный хелпер заражает половину репы.
— Не смешивайте ESM и CJS без явной стратегии: импорты начинают работать «почти всегда», а это плохой режим.
Отдельно проверьте tsconfig: strict, noUncheckedIndexedAccess, exactOptionalPropertyTypes. Эти флаги сначала добавляют шум, потом убирают класс багов, которые иначе всплывают уже в проде. 🔧
Если типы в проекте кажутся «слишком строгими», обычно проблема не в TypeScript, а в слишком широких границах между данными, модулями и сборкой.
DevTools Brief — обзор инструментов
@devtools_brief
TypeScript ломается не в типах, а в границах: 5 мест, где проект быстро деградирует
Этот пост опубликован в Telegram-канале DevTools Brief — обзор инструментов. Подписаться можно по ссылке: @devtools_brief.