DevTools Brief — обзор инструментов

Monorepo ломается не из-за размера, а из-за плохих границ между пакетами

Monorepo ломается не из-за размера, а из-за плохих границ между пакетами

За неделю в репах чаще всего всплывают 4 ошибки:
— общий utils-пакет превращают в свалку всего подряд;
— внутренние импорты идут через относительные пути на три экрана;
— один tsconfig/линтер распространяют на разные типы кода;
— сборка запускается для всего дерева, хотя менялся один пакет.

Нормальный monorepo держится на правилах: у каждого пакета свой public API, зависимости идут только через него, а shared-код выносится не «куда удобно», а туда, где есть владелец и понятный контракт. Если пакет нельзя удалить без боли — он, скорее всего, уже слишком жирный.

Для TypeScript это особенно заметно: разный tsconfig для app, lib и test убирает лишние конфликты, а отдельные workspace-зависимости делают граф сборки читаемым. В Turborepo или Nx главный выигрыш не в магии, а в том, что кэш и фильтрация начинают работать предсказуемо. ⚙️

Если в репозитории трудно ответить, кто владеет пакетом и кто может его менять, monorepo уже начал мешать. Сначала режьте границы, потом ускоряйте сборку.
Этот пост опубликован в Telegram-канале DevTools Brief — обзор инструментов. Подписаться можно по ссылке: @devtools_brief.
tech

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

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

start

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

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

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