actualizar la versión package.json automáticamente

Resuelto tUrG0n asked hace 12 años • 18 respuestas

Antes de hacer un lanzamiento pequeño y etiquetarlo, me gustaría actualizar package.json para reflejar la nueva versión del programa.

¿ Hay alguna manera de editar el archivo package.jsonautomáticamente?

¿Usar una git pre-release hookayuda?

tUrG0n avatar Oct 25 '12 07:10 tUrG0n
Aceptado

Respuesta correcta

Para hacerlo, simplemente npm version patch=)

mi vieja respuesta

pre-releaseOriginalmente no hay ningún gancho en git. Al menos, man githooksno lo demuestra.

Si está utilizando git-extra( https://github.com/visionmedia/git-extras ), por ejemplo, puede utilizar un pre-releaseenlace que implementa, como puede ver en https://github.com/visionmedia/ git-extras/blob/master/bin/git-release . Sólo se necesita un .git/hook/pre-release.sharchivo ejecutable que edite su package.jsonarchivo. La confirmación, el envío y el etiquetado se realizarán mediante el git releasecomando.

Si no estás usando ninguna extensión para git, puedes escribir un script de shell (lo llamaré git-release.sh) y luego puedes asignarle un alias git releasecon algo como:

git config --global alias.release '!sh path/to/pre-release.sh $1'

Luego puede usar git release 0.4el que se ejecutará path/to/pre-release.sh 0.4. Su secuencia de comandos puede editar package.json, crear la etiqueta y enviarla al servidor.

gustavotkg avatar Nov 01 '2012 14:11 gustavotkg

npm versiones probablemente la respuesta correcta. Solo para dar una alternativa, recomiendo grunt-bump . Lo mantiene uno de los chicos de angular.js.

Uso:

grunt bump
>> Version bumped to 0.0.2

grunt bump:patch
>> Version bumped to 0.0.3

grunt bump:minor
>> Version bumped to 0.1.0

grunt bump
>> Version bumped to 0.1.1

grunt bump:major
>> Version bumped to 1.0.0

Si de todos modos estás usando gruñido, podría ser la solución más simple.

zemirco avatar Mar 07 '2013 07:03 zemirco

Esto es lo que hago normalmente con mis proyectos:

npm version patch
git add *;
git commit -m "Commit message"
git push
npm publish

La primera línea, npm version patchaumentará la versión del parche en 1 (xx1 a xx2) en package.json. Luego agrega todos los archivos, incluido package.jsonel que en ese momento se ha modificado. Luego lo de siempre git commity git push, y por último npm publishpublicar el módulo.

Espero que esto tenga sentido...

Mercenario.

Merc avatar Mar 07 '2013 04:03 Merc