<b>SWC ускоряет сборку, но только если не тащить в него чужую логику</b>
SWC берут за скорость, а потом ждут от него поведения Babel. Так ломаются плагины, декораторы, нестандартные трансформации и часть старого ESM/CJS зоопарка. Для этого инструмента важнее не «всё умеет», а «быстро делает базу».
Проверяйте три вещи:
— нужна ли вам только transpile-стадия, или ещё полифиллы и семантика Babel;
— где живут макросы, кастомные плагин-цепочки и нестандартный JSX;
— совпадает ли output с тем, что ждут Vite, Jest, Next-пайплайн или ваш monorepo.
Если в проекте много TS, SWC обычно хорошо закрывает compile-time и убирает лишние секунды на больших деревьях. Но как только появляется сложная трансформация, экономия времени может обернуться отдельным слоем костылей и ручных исключений. В таких местах быстрее не «переезд на SWC», а честный аудит того, что вообще обязано трансформироваться.
Ещё одна типовая ошибка — смешивать SWC как быстрый компилятор и Babel как универсальный комбайн без ясных границ. Разделите зоны ответственности: SWC для скорости, Babel только там, где нужна совместимость. Иначе отладка съедает весь выигрыш.
UX Pattern Lab
@ux_pattern_lab
<b>SWC ускоряет сборку, но только если не тащить в него чужую логику</b>
Этот пост опубликован в Telegram-канале UX Pattern Lab. Подписаться можно по ссылке: @ux_pattern_lab.