Как стать автором
Обновить

Комментарии 16

Я правильно понимаю, что это только для проектов на js или?...

Да, только для js(ts). Честно говоря немогу представить зачем вам бы понадобилась лерна для других языков-там свои аналоги и части проблем которые есть в js нету(зато есть свои)

Lerna - это инструмент, который оптимизирует рабочий процесс по управлению репозиториями с несколькими пакетами с помощью git и npm.

Ясно, спасибо.

Последний раз когда читал про монорепозитории, писали, что проблем с ними дофика. Особенно с opensource проектами (историю коммитов рвет, чего-то там с отправкой pull reques и т.д.).

А что делать, если куча либ на две строчки? Репозитории плодить?

Вы это себе как представляете? С точки зрения системы контроля версий, это обычный репозиторий, только в нем несколько пакетов, а инструменты вроде lerna просто упрощают управление этими пакетами (связывание, публикация и т.п.) - так что это не тот уровень, на каком могут возникнуть упомянутые вами проблемы.

Последний раз когда читал про монорепозитории, писали, что проблем с ними дофика. Особенно с opensource проектами (историю коммитов рвет, чего-то там с отправкой pull reques и т.д.).

А это несовсем монорепозиторий в том смысле в котором обычно имеется ввиду. Монорепо с лерной - это чаще просто репа, в которой хранится несколько проектов. С точки зрения гита, туллинга это одна гит репа(либ гит модули)

Монорепо с лерной - это чаще просто репа, в которой хранится несколько проектов.

Я с ними не работал, читал только, так что ничего не утверждаю.

Люди писали, что при публикации как раз таки проекта хранащегося в монорепе, та же история его коммитов будет оборвана.

lerna позволяет даже добавлять другие репы в монорепу с сохранением истории коммитов, поэтому тут все хорошо.

Публикация изменённых проектов:

lenra publish

Это опечатка? Lenra?

Спасибо.

Есть ли в lerna способ задать ту версию которую я хочу выставить? По дефолту она вроде сама инкрементит версию, но как быть если версия приходит "извне" и не поддается простой логике lerna?

Смотри вариант в нашем проекте который мы сделали. Там по изменению версии в пэкеджджэйсоне как раз автоматически пушится на нпм всё. Если версию не менять - экшен просто в холостую пробегается.

1) А как у вас npm install без actions/setup-node работает?

2) Если использовать actions/setup-node, то необходимости вызывать команду echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrcнет, т.к. экшн это делает по-умолчанию. Разве что переменная называется NODE_AUTH_TOKEN.

Там была ошибка - http вместо https. Поправили конфиг гитхаб экшена.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации