Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 3.48 KB

PUBLISHING.md

File metadata and controls

55 lines (36 loc) · 3.48 KB

Публикация пакетов в NPM

В этом монорепозитории у нас есть три пакета которые можно опубликовать. Для этого нужно перейти на страницу Actions и запустить соответствующий workflow.

Пакеты

@vkontakte/icons

Для публикации надо запустить publish_icons workflow.

@vkontakte/icons-scripts

Для публикации надо запустить publish_scripts workflow.

@vkontakte/icons-sprite

Для публикации надо запустить publish_sprite workflow.

F.A.Q.

Что происходит во время публикации пакета?

  1. Мы поднимаем версию пакета в package.json и создаём коммит в репозитории https://github.com/VKCOM/icons с сообщением о том, какой пакет публикуем как изменилась его версия.
  2. Создаем тэг на этом коммите в формате ${packageName}@{version}, который потом можно найти на странице с тэгами
    Например: @vkontakte/[email protected].
    Мы создаем тэг при публикации каждого пакета, не только @vkontakte/icons.
  3. Публикуем пакет в 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?.