Versionado de paquetes y paquetes privados

Clase 14 de 15Curso 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

Versionado de paquetes en NPM

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 a 6.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 a 5.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).