TypeScript ломается не в типах, а в границах между пакетами и файлами
Внутри одного файла TS обычно ведёт себя предсказуемо. Ошибки начинаются, когда код расползается по монорепе, ESM/CJS границам и отдельным tsconfig.
Что проверять в первую очередь:
— strict включён везде, а не только в одном пакете
— алиасы из paths совпадают с реальным рантайм-резолвом
— module и moduleResolution не живут разной жизнью
— типы из зависимостей не тянут старые допущения через any
Главный источник ложного спокойствия — skipLibCheck. Он убирает шум, но не чинит контракт. Если библиотека и приложение спорят о типах, ошибка всплывёт позже: в билде, в интеграции или у пользователя.
Ещё один частый провал — смешивать runtime-импорт и type-only импорт без дисциплины. Для ESM это быстро превращается в “работало в редакторе, сломалось в сборке”.
Держите TypeScript как контракт между слоями, а не как подсказчик в IDE: чем раньше типовой разрыв пойман в CI, тем дешевле обходится весь стек.
SEO Brief — обзор поиска и SEO
@seo_brief_lab
TypeScript ломается не в типах, а в границах между пакетами и файлами
Этот пост опубликован в Telegram-канале SEO Brief — обзор поиска и SEO. Подписаться можно по ссылке: @seo_brief_lab.