Turborepo полезен только тогда, когда задачи и кеш не врут друг другу
За неделю в репах чаще всего ломается не сам Turborepo, а ожидания от него. Он ускоряет повторяемые задачи, если у пакетов стабильные входы и понятные выходы. Если скрипты читают внешний мир, ходят в сеть или пишут в случайные файлы, кеш превращается в лотерею.
Проверяйте три вещи:
— в каждом task явно описаны inputs и outputs;
— сборка не зависит от неучтённых env-переменных;
— один и тот же пакет не запускает тяжёлую работу дважды через разные команды.
Иначе получится красивый pipeline, который локально быстрый, а в CI ведёт себя как обычный npm-скрипт.
Вторая типовая ошибка — монорепо без границ. Когда shared-пакет тянут все подряд, любое изменение раздувает граф зависимостей. Лучше дробить код по доменам и держать публичный API маленьким: меньше пересборок, проще кешировать, легче читать affected-дерево.
Ещё один момент: Turborepo не заменяет дисциплину в tsconfig и ESM. Если алиасы, path mapping и типы расходятся между пакетами, ускорение сборки не спасает от багов на импортах.
Сначала сделайте задачи детерминированными, потом подключайте кеш. Тогда Turborepo даёт не магию, а предсказуемый выигрыш в build time.
TG Mini Apps Monetize
@tg_miniapps_money
Turborepo полезен только тогда, когда задачи и кеш не врут друг другу
Этот пост опубликован в Telegram-канале TG Mini Apps Monetize. Подписаться можно по ссылке: @tg_miniapps_money.