SWC ускоряет сборку, но ломает привычные допущения TypeScript
SWC часто берут ради скорости, а потом удивляются: «почему поведение не как у tsc?». Ответ простой: это не типчекер и не полный аналог компилятора, а быстрый транспайлер. Значит, часть логики нужно переносить из сборки в отдельные проверки.
На практике проверяйте 4 вещи:
— декораторы и metadata: именно здесь чаще всего всплывают расхождения;
— namespace, const enum, emit для legacy-кода;
— jsx-runtime и настройки importSource;
— путь к типам: swc не спасает от кривого tsconfig и broken imports.
Если проект на ESM и monorepo, сначала фиксируйте контракт модулей: отдельный tsconfig для typecheck, отдельный для сборки, единые alias и extensions. Иначе скорость SWC будет маскировать ошибки до рантайма ⚙️
SWC полезен там, где build time важнее «магии компилятора». Но правило одно: быстрый transpile отдельно, строгая проверка типов отдельно.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
SWC ускоряет сборку, но ломает привычные допущения TypeScript
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.