Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
Введение
Lerna — первоначальный инструмент для монорепозиториев в экосистеме JavaScript/TypeScript. Он существует много лет и используется десятками тысяч проектов, включая React и Jest.
Lerna решает две ключевые проблемы JavaScript/TypeScript монорепозиториев:
-
Запуск команд для любого количества проектов максимально эффективно: в правильном порядке с возможностью распределения задач между несколькими машинами.
-
Управление процессом публикации: от контроля версий до выгрузки в NPM, с гибкими настройками под любые workflow.
Nx (компания, стоящая за одноимённой open source системой сборки) взяла на себя управление Lerna. Nx — система сборки, созданная экс-инженерами Google с использованием внутренних практик Google. Lerna v5 стал первым релизом под новым руководством: обнов лены устаревшие пакеты и начата очистка репозитория. Начиная с v6+, Lerna делегирует планирование задач промышленному task runner Nx, благодаря чему lerna run получает бесплатные преимущества кэширования и распределения команд!
Почему Lerna?
-
Молниеносная скорость! Lerna работает быстрее большинства аналогов (бенчмарк). Как? Под капотом Lerna v6+ использует Nx для выполнения задач. Подробнее о запуске задач.
-
Кэширование вычислений — Lerna определяет, выполнялась ли задача ранее. Вместо повторного запуска она мгновенно восстанавливает файлы и логи терминала. Кэш доступен коллегам и CI-системам. С Lerna ваша организация больше никогда не будет дважды собирать или тестировать одно и то же. Подробнее »
-
Распределённое выполнение задач без конфигурации — Lerna распре деляет любые команды между машинами без настроек, сохраняя удобство разработки на одной машине. Масштабирование монорепозитория сводится к включению флага. Увидьте, как DTE ускоряет CI в 20 раз. Подробнее »
-
Чистый вывод в терминал — Монорепозитории содержат сотни проектов. Вывод всех данных затрудняет поиск ошибок. Lerna решает эту проблему.
-
Мощный визуализатор зависимостей — Интерактивный инструмент для анализа структуры workspace. Подробнее »
-
Публикация в NPM — Lerna зарекомендовала себя как превосходный инструмент для публикации множества пакетов в npm. Независимо от того, имеют ли пакеты независимые версии, Lerna позаботится об этом. Подробнее »
-
Простота внедрения — Несмотря на мощные возможности, Lerna требует минимальной настройки. Хотите увидеть?