Tracker Lab
Tracker Lab
@tracker_lab

TypeScript ломается не в типах, а в границах между пакетами и файлами

TypeScript ломается не в типах, а в границах между пакетами и файлами

Чаще всего проблемы начинаются не с интерфейсов, а с tsconfig. Если у вас в репе несколько пакетов, проверьте три вещи: strict включён везде, baseUrl не используется без нужды, а пути из paths совпадают с реальными алиасами в сборке.

Дальше — режим модулей. Смешивать CommonJS и ESM можно, но цена почти всегда одна: странные импорты, дублирование зависимостей и «магия» вокруг default export. Если проект уже на ESM, держите одинаковые правила для всех пакетов: один формат входа, один стиль импортов, одна схема публикации.

Отдельно проверьте типы для внешних границ: API, события, env, runtime-ответы. TypeScript не спасает, если вы описали форму данных красивым интерфейсом, но не валидируете вход. Для этого обычно хватает простого правила: всё, что пришло извне, считается unknown до проверки.

И ещё одно наблюдение которое стоит проверить: большинство «медленных» TS-проектов тормозит не компилятор, а лишние пересчёты. Слишком широкие include, глубокие re-export цепочки, лишние project references и общие файлы типов на весь монорепо быстро раздувают build time.

Если хотите меньше боли, начните не с кода, а с границ: tsconfig, формат модулей, контракт данных и область видимости типов. Тогда TypeScript начинает помогать, а не просто шуметь в редакторе.
Этот пост опубликован в Telegram-канале Tracker Lab. Подписаться можно по ссылке: @tracker_lab.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.