В этом монорепозитории у нас есть три пакета которые можно опубликовать. Для этого нужно перейти на страницу Actions и запустить соответствующий workflow.
Для публикации надо запустить publish_icons workflow.
Для публикации надо запустить publish_scripts workflow.
Для публикации надо запустить publish_sprite workflow.
- Мы поднимаем версию пакета в package.json и создаём коммит в репозитории https://github.com/VKCOM/icons с сообщением о том, какой пакет публикуем как изменилась его версия.
- Создаем тэг на этом коммите в формате
${packageName}@{version}
, который потом можно найти на странице с тэгами
Например:@vkontakte/[email protected]
.
Мы создаем тэг при публикации каждого пакета, не только@vkontakte/icons
. - Публикуем пакет в NPM.
Зачем нужен скрипт g:npm:version
в главном package.json репозитория?
Начиная с yarn >= 2
команда yarn version
стала урезанной, и перестала принивать параметр --preid
, который нам нужен для публикации
alpha
и beta
версий.
В качестве решения мы используем npm version
вместо yarn version
.
Мы специально отключили следующие флаги, чтобы npm version
работал корректно и косвенно не влиял нашу конфигукцию yarn workspaces
:
По поводу использования cd $INIT_CWD
можно почитать здесь: How to share scripts between workspaces?.