intermediate
Граф зависимостей
Моделируйте зависимости пакетов и задач, чтобы builds, tests, ownership и deploy шли в правильном порядке.
Граф зависимостей монорепо связывает пакеты и задачи: пакет A импортирует B, задача `test` зависит от `build`. Топологический порядок гарантирует артефакты upstream до downstream.
shared ──► ui ──► app
└──► admin
Циклы импортов — сигнал проблем дизайна. Граф питает affected testing, review ownership и анализ влияния на deploy.
На интервью: explicit vs implicit deps, рёбра задач, детекция циклов и как graph-aware CI сокращает работу.
Типовые ошибки: coupling только в runtime невидим статическому графу; общие env-файлы не в inputs; root tsconfig paths в обход границ пакетов.
Компромисс — точность автоматизации против стоимости моделирования implicit контрактов.
Чеклист:
- Ранний детект циклов импорта.
- Зависимости задач в оркестрации.
- Config-файлы как inputs графа.
- Affected вместо полной матрицы CI, где безопасно.