Versionado de paquetes y paquetes privados
Clase 14 de 15 • Curso de NPM: Gestión de Paquetes y Dependencias en JavaScript
Resumen
El versionado semántico consiste en la estructura que debemos seguir para colocar una versión a nuestro paquete.
Qué es el versionado semántico
El versionado semántico está conformado por tres valores:
- Major: el valor que muestra la versión que contiene los cambios importantes del paquete
- Minor: el valor que muestra la versión que contiene los cambios en funcionalidades, pero no representan un cambio significativo
- Patch: el valor que muestra la versión que contiene cambios rápidos para solucionar problemas de seguridad o bugs
Símbolos ^ y ~ para actualizar las versiones minor y patch
Existen dos símbolos que acompañan al versionado sirven para actualizar las versiones minor y patch del paquete.
- Caret (^): Permite actualizar las versiones minor y patch
- Tilde (~): Permite actualizar las versiones patch
Por ejemplo, tenemos la versión 5.2.3
:
- Si tiene el carret
^5.2.3
, actualizará la versión minor y patch, por lo que tendrás versiones como^5.3.3
,^5.4.3
,^5.4.4
, y así sucesivamente. Pero no versiones mayores a6.0.0
. - Si tiene la tilde
~5.2.3
, actualizará la versión de patch, por lo que tendrás versiones como~5.2.4
,~5.2.5
,~5.2.6
, y así sucesivamente. Pero no versiones mayores a5.3.0
.
Buenas prácticas en el versionado de paquetes
Lo recomendable es eliminar estos símbolos y tener la versión exacta (sin símbolos) para evitar problemas de versionado, principalmente con paquetes que los mantienen pocas personas o no son fiables.
Debes manejar las actualizaciones cuando sea pertinente y asegurándote que no entrará en conflicto la nueva versión con la antigua.
Cómo realizar cambios a la versión de tu paquete de NPM
Si realizas cambios en tu código, tienes que cambiar la versión de tu paquete. Debes utilizar los siguientes comandos, según la versión que desees cambiar:
```bash
Aumenta una version path (1.0.0) -> (1.0.1)
$ npm version patch
Aumenta una version minor (1.0.0) -> (1.1.0)
$ npm version minor
Aumenta una version major (1.0.0) -> (2.0.0)
$ npm version major
Aumenta una version específica (1.0.0) -> (3.1.1)
$ npm version
Una vez actualizada la versión de tu paquete, puedes ejecutar nuevamente el comando npm publish
para actualizarlo en los repositorios de NPM.
Paquetes privados
Para usar paquetes privados necesitas:
- Una versión igual o superior a la 2.7.0 de NPM
- Tener una cuenta de usuario u organización de pago
En un paquete privado de NPM, solo pueden participar el propietario y los colaboradores autorizados. De esta manera, puedes seguir construyendo el paquete con una combinación de código privado y dependencias públicas.
Actualizar tu paquete en NPM con buenas prácticas
Tu paquete debe contener toda la información posible para que el usuario puede instalarlo, utilizarlo y hasta colaborar para solucionar posibles bugs. Por ende, es necesario que tengas configurado, por lo menos, un archivo README.md
y un repositorio remoto (GitHub, GitLab, etc.).
Una vez tengas estos requisitos, puedes actualizar tu paquete a una nueva versión, luego publícalo nuevamente.
Cómo crear un archivo README.md para tu paquete
Para crear un archivo README.md puedes utilizar esta estructura base y adecuarla a tu proyecto. Puedes mirar el código haciendo clic en el botón "Raw".
Contribución creada por Andrés Guano (Platzi Contributor).