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, где безопасно.