Подтвердить что ты не робот

Что такое соглашение для версий npm пакетов до 1.0.0?

Я читал об управлении версиями с помощью npm, и, по-видимому, он обеспечивает приятную удобную команду для напыления версий вашего пакета.

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]

пререлиз

Допустим, ваш пакет начинается с версии 0.0.0

npm version prerelease = > 0.0.1-0

npm version prerelease = > 0.0.1-1

В основном просто ударяет номер после тире

prepatch

Начиная с 0.0.0, используя pre [major | minor | patch] вместо этого...

npm version prepatch = > 0.0.1-0

npm version preminor = > 0.1.0-0

npm version premajor = > 1.0.0-0

Патч

Начиная с 0.0.0 с помощью патча...

npm version patch = > 0.0.1

npm version patch = > 0.0.2

Я понимаю правила для наброса основных версий малой и патчей, но каково стандартное соглашение для версий до 1.0.0?

4b9b3361

Ответ 1

TL;DR

Я не видел, чтобы версии prelease использовали pre-1.0.0. Это кажется довольно бессмысленным, поскольку публичный API еще не завершен. Они становятся полезными после выпуска 1.0.0.

Итак, когда предпочтительны версии prelease?

От semver.org:

Версия 1.0.0 определяет открытый API. Способ, которым номер версии увеличивается после этой версии, зависит от этого открытого API и того, как он изменяется.

и

Предварительная версия МОЖЕТ быть обозначена добавлением дефиса и серии разделенных точками идентификаторов сразу после версии патча.... Версия предварительного выпуска указывает, что версия нестабильна и может не соответствовать требованиям совместимости, обозначенным соответствующей нормальной версией.

Соглашения, которые я видел в пред-1.0.0, включают использование исправлений для исправлений ошибок/опечаток и небольших версий для любых существенных изменений. Соглашения менее строгие до 1.0.0, так как никакой публичный API еще не гарантирован.

Предварительные версии пригождаются, когда вы хотите поделиться некоторыми ранними функциями с сообществом.

Например, на момент написания этой статьи последней стабильной версией npm-check-updates является версия 1.5.1. Некоторые из новых функций, которые я добавил, внесли обратно-несовместимые изменения, поэтому, чтобы соответствовать semver, я должен будет освободить их под 2.0.0. Тем не менее, я не хочу выпускать 2.0.0 в качестве последней стабильной версии, пока она не будет более тщательно протестирована сообществом. Таким образом, я опубликовал предварительную версию (используя npm publish --tag unstable) с версией 2.0.0-alpha.1. Члены сообщества могут установить предварительную версию (с помощью npm install -g [email protected]), чтобы опробовать последние функции, в то время как обычный npm install -g npm-check-updates продолжит установку стабильной версии 1.5.1 для большинства пользователей. Когда предварительная свобода доказала себя, я могу легко опубликовать ее как новую конюшню при 2.0.0.