Монорепо и инструменты
Вопрос
Зачем компании монорепо и что дают pnpm workspaces, Turborepo и Nx?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Монорепо: атомарные изменения в нескольких пакетах, общие конфиги, проще рефакторинг
Минусы: тяжелее CI без кеша, нужны границы и правила владения (CODEOWNERS)
pnpm workspaces: локальные связи пакетов, быстрая установка, строгие зависимости
Turborepo: граф задач, локальный и удалённый кеш
Nx: кеш, affected, генераторы, правила границ между проектами
Что могут спросить следом
- Как ограничить, кто может менять пакет?
- Что такое удалённый кеш?
Разбор
Монорепо удобно, когда несколько приложений делят UI-кит, типы API и конфиги: одно изменение во всех местах делается одним PR, рефакторинг проще, версии согласованы. Цена: без кеша CI становится долгим, и нужны правила, кто владеет каким пакетом, это решают CODEOWNERS и линтер границ. pnpm workspaces связывают пакеты локально и строго следят, чтобы пакет не использовал неявные зависимости. Turborepo запускает задачи по графу зависимостей и кеширует результаты локально и удалённо, так что CI пропускает то, что не менялось. Nx делает то же и добавляет affected, генераторы кода и правила, какой проект от какого может зависеть.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.