NPM utiliza algo conocido como versionado semántico para establecer el número de versión de cada una de sus dependencias.
.
En esencia esta forma de enumerar las versiones es sencilla, todas las versiones tienen 3 dígitos: x.y.z
.
.
.
Cuando creas una nueva versión de tu paquete, debes seguir ciertos criterios a la hora de incrementar estos dígitos:
.
npm
respeten esta notación debido a que esta es importante para establecer reglas sobre las versiones de las dependenicas dentro del archivo package.json
package.json
tenemos una serie de símbolos que sirven para establecer reglas para las versiones:^
: Cuando utilizas el comando npm update
solo se actualizan parches y cambios menores. Ejemplo: ^2.3.0
puede actualizarse a 2.4.0
o 2.3.1
~
: En este caso solo se actualizarán los parches. Siguiendo el ejemplo anterior ~2.3.0
puede actualizarse a 2.3.1
pero no a 2.4.0
>
: Aceptas cualquier versión superior a la actual.>=
: Aceptas cualquier versión igual o superior a la actual.<
: Aceptas cualquier versión menor a la actual.<=
: Aceptas cualquier versión menor o igual a la actual.=
: Aceptas solo la versión exacta que está listada.-
: Aceptas un rango de versiones. Ejemplo: 1.2.0
- 1.6.3
||
: Sirve para combinar reglas. Ejemplo: < 3.2 || > 3.6
latest
: Para establecer que deseas usar siempre la última versión disponible.=
, aceptas solo la versión exacta..
Espero que ya tengas una idea mucho más clara de cómo funciona el versionado semántico y que además hayas comprendido cómo establecer reglas para las versiones de los paquetes de nuestros proyectos dentro del archivo package.json
.
Muy buen post!!!
Cuál es el comando que se utiliza para mostrar las versiones en la terminal? y así saber si actualizamos?
Hola Hack!
Para saber qué necesitas actualizar puedes usar el comando
npm outdated
Eso te va a mostrar en un cuadro qué versión tienes, qué versión requiere el proyecto y cuál es la última versión disponible.
Recuerda que si la actualización trae cambios grandes debes tener cuidado al momento de actualizar porque se puede romper tu proyecto.