2012-05-01 3 views
2

Существуют решения для увеличения номера версии в разных приложениях. Приложения Cocoa имеют agvtool и maven имеет maven-release-plugin, который увеличивает номер версии в выпусках. Существуют ли аналогичные инструменты для nodejs?инструмент для управления версиями для nodejs

ответ

2

Я думаю, что такой инструмент кажется чрезмерно властным, когда единственное, что вам нужно сделать, чтобы увеличить номер версии в Node.js что-то так просто, как:

sed -i 's/0.1.2/0.2.4/' package.json 

изменит версию для вашего Пакет Node.js?

Если вы говорите о чем-то, что будет разворачивать ваш код при явной маркировке новой версии, я бы более склонен использовать git hooks и написать сценарий, чтобы определить, когда создан тег git, а затем начать развертывание обработать.

Вы можете использовать pre-applypatch крюк, чтобы определить, когда тег создается для запуска sed скрипт, указанный выше, и запустить npm publish для вас автоматически, но опять же, я не вижу смысла иметь тяжеловес инструмент обрабатывать все что, когда это простой скрипт (и указанный скрипт может быть написан в Node.js тоже!)

+0

я не использовал бы, что 'sed' призывание изменить версию, потому что строка' 0.1.2' может появиться в зависимости. Было бы лучше разобрать JSON, а затем сделать '.version =" 0.2.4 "', а затем строчить. –

+0

Да и нет. Вероятно, вы должны использовать полную квалификацию '' version: "0.1.2", '', но поскольку формат '' package.json' полностью определен и поле '' version'' однозначно в определении, я не делаю Не вижу смысла в полном анализе JSON и строкой. –

0

grunt-bump обеспечивает наклон версии, а также git tagging/commit/push. Существуют аналогичные пакеты для других инструментов построения, таких как gulp-bump.

Аналогичная функциональность также доступна с npm version, но с меньшим количеством вариантов конфигурации.

1

Я думаю, что самый правильный ответ - использовать npm version.

Например, для увеличения основной версии пакета:

npm version major 

Это увеличит основную версию пакета, и если это хранилище Git будет также совершить эти изменения и создать тег одно и то же имя версии.

Добейтесь:

git push 
git push --tags 
Смежные вопросы