Может ли Lerna выпустить предварительную версию в соответствии со спецификацией обычных коммитов? - PullRequest
0 голосов
/ 10 апреля 2020

Похоже, что Lerna 3.20.2 не может выдавать предварительные версии (например, 1.0.0-alpha.0) в соответствии со спецификацией обычных комитетов .

Я сделал Пример минимальной воспроизводимости , если вы хотите попробовать это.

Допустим, у нас есть два репозитория, управляемых Lerna, оба с тремя подпакетами. В одном репо есть «производственные» пакеты, в другом - «предварительные»:

dev (or dev-prerelease)
  |-- packages
  |   |-- major
  |   |   |-- package.json (1.0.0 or 1.0.0-alpha.0)
  |   |-- minor
  |   |   |-- package.json (1.0.0 or 1.0.0-alpha.0)
  |   |-- patch
  |   |   |-- package.json (1.0.0 or 1.0.0-alpha.0)
  |-- package.json
  |-- lerna.json

Затем я делаю следующие коммиты в обоих репозиториях: (коммиты следуют спецификации обычных коммитов)

  • Срочные изменения в основном пакете
  • Новая функция в вспомогательном пакете
  • Исправление ошибки в пакете исправлений

И выполните эту команду в обоих репозиториях :

npx lerna publish --conventional-commits --yes 2>/dev/null

Наблюдения

В «производственном» репо обновляются его пакеты в соответствии с обычными комиссиями спец. c:

Changes:
 - major: 1.0.0 => 2.0.0 (private)
 - minor: 1.0.0 => 1.1.0 (private)
 - patch: 1.0.0 => 1.0.1 (private)

Однако в предварительном репо все пакеты просто «пропатчены»:

Changes:
 - major: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)
 - minor: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)
 - patch: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)

Тема в этом выпуске GitHub , кажется, предполагает, что это ошибка (но я не уверен).

Вопрос Я бы хотел, чтобы пакеты в моем репо "prerelease" обновлялись так же, как в репо "production", сохраняя при этом их пререлизный суффикс. Что я здесь не так делаю?


Вы также можете следить за этой проблемой GitHub , которую я поднял

1 Ответ

0 голосов
/ 05 мая 2020

У вас была такая же проблема:

вам нужно go с помощью команд управления версиями lerna

  • lerna version major

  • lerna version premajor

  • lerna version prerelease

Теперь вы увидите, что все изменения внесены в ваш lerna.json (это где сохраняется актуальная версия, а команда version является единственной, которая изменяет номера MAJOR, MINOR и PATCH)

...