Control de versiones semántico usando npm

El control de versiones semántico es una convención que se utiliza para proporcionar un significado a las versiones.

Si hay algo bueno en los paquetes de Node.js, es que todos acordaron usar el control de versiones semántico para la numeración de sus versiones.

El concepto de control de versiones semántico es simple: todas las versiones tienen 3 dígitos:x.y.z.

  • el primer dígito es la versión principal
  • el segundo dígito es la versión menor
  • el tercer dígito es la versión del parche

Cuando haces un nuevo lanzamiento, no solo subes un número como quieras, sino que tienes reglas:

  • sube la versión principal cuando realiza cambios de API incompatibles
  • sube la versión menor cuando agrega funcionalidad de una manera compatible con versiones anteriores
  • sube la versión del parche cuando realiza correcciones de errores compatibles con versiones anteriores

La convención se adopta en todos los lenguajes de programación, y es muy importante que cadanpmpaquete se adhiere a él, porque todo el sistema depende de eso.

¿Por qué es eso tan importante?

Porquenpmestablecer algunas reglas que podemos usar en elpackage.jsonexpedientepara elegir a qué versiones puede actualizar nuestros paquetes, cuando ejecutamosnpm update.

Las reglas usan esos símbolos:

  • ^
  • ~
  • >
  • >=
  • <
  • <=
  • =
  • -
  • ||

Veamos esas reglas en detalle:

  • ^: Si tú escribes^0.13.0al corrernpm updatese puede actualizar a parches y versiones menores:0.13.1,0.14.0etcétera.
  • ~: Si tú escribes~0.13.0, al corrernpm updatese puede actualizar a versiones de parches:0.13.1está bien, pero0.14.0no es.
  • >: acepta cualquier versión superior a la especificada
  • >=: acepta cualquier versión igual o superior a la que especifique
  • <=: acepta cualquier versión igual o inferior a la que especifique
  • <: acepta cualquier versión inferior a la que especifique
  • =: aceptas esa versión exacta
  • -: acepta una variedad de versiones. Ejemplo:2.1.0 - 2.6.2
  • ||: combinas conjuntos. Ejemplo:< 2.1 || > 2.6

Puede combinar algunas de esas notaciones, por ejemplo, utilice1.0.0 || >=1.1.0 <1.2.0para usar 1.0.0 o una versión de 1.1.0 en adelante, pero inferior a 1.2.0.

También hay otras reglas:

  • sin símbolo: acepta solo la versión específica que especifique (1.2.1)
  • latest: desea utilizar la última versión disponible

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: