Подвиги фронтенд‑разработки — Лернейская гидра
В этом посте Лернейская гидра отвечает за навык управления сложными зависимостями и (моно)репозиториями, когда каждая новая фича отращивает две новые головы в виде пакетов и сервисов.
Коротко о мифе: Геракл приехал убивать гидру, но у неё на месте одной отрубленной головы вырастали две. Поэтому после «отруба» шею нужно было прижечь, чтобы новые головы не появлялись.
Здесь «новые головы» — это новые репозитории и пакеты, которые разъезжаются кто куда при каждом изменении.
«Прижечь шею» — собрать их в монорепозиторий и ввести нормальные правила версионирования и релизов.
Ключевые слова: пакетные менеджеры, зависимости, репозитории, монорепозитории, система контроля версий, npm, git, lerna, теория графов, conventional commits.
TL;DR
Монорепа — это способ остановить размножение зависимостей и сделать релизы управляемыми.
Но она требует дисциплины: единые правила, CI, версионирование и разумные границы.
## Словарь (в рамках этого поста)
- npm‑пакет — упакованный код для Node.js, распространяемый через реестр npm.
- сервис — программный модуль (веб‑приложение или бэкенд‑сервис), который не публикуется в реестр, а разворачивается в инфраструктуре.
- репозиторий — распределённое хранилище кода: локальные копии + центральный origin. Обычно одному пакету/сервису соответствует один репозиторий.
- CI/CD — набор процессов: тесты, линтинг, сборка, публикация пакета, выкладка сервиса.
- монорепозиторий — один репозиторий для нескольких пакетов и сервисов, с общими правилами работы и релизов.
Post #55
223

- 👍 6