CodeAventura
Node.js
▸Tu proyecto Node▸Dependencias y versionado semántico

Misión

// Instala el paquete colors desde la terminal:
// npm install colors
//
// Luego úsalo aquí para mostrar mensajes con color:
// const colors = require('colors');
// console.log('Hola'.green);

TerminalTema: Vintage
07 / 15Dependencias y versionado semántico
Anterior

Dependencias: construir sobre hombros de gigantes

No reinventes la rueda

Una de las mayores fortalezas de Node.js es su ecosistema de paquetes. En npm (Node Package Manager) hay más de dos millones de paquetes listos para usar. ¿Necesitas enviar emails? Hay un paquete. ¿Validar formularios? Hay un paquete. ¿Generar PDFs? También.

Cuando tu proyecto necesita uno de estos paquetes, lo añades como dependencia.

Instalando tu primera dependencia

Vamos a instalar colors, un paquete que te permite mostrar mensajes en la terminal con colores. Ejecuta en la terminal:

Esto hace tres cosas: descarga el paquete a node_modules, añade colors a la sección dependencies de tu package.json, y crea (o actualiza) package-lock.json.

Ahora puedes usarlo en index.js:

Ejecuta node index.js y verás los mensajes en color.

dependencies vs devDependencies

En package.json hay dos secciones para dependencias:

La diferencia es sutil pero importante:

Tipo¿Cuándo se necesita?Ejemplos
dependenciesEn producción (cuando tu app está funcionando)colors, express, axios
devDependenciesSolo durante el desarrolloeslint, prettier, jest

colors hace que tu app muestre mensajes bonitos — lo necesitas siempre. eslint revisa que tu código esté limpio — solo mientras programas.

Versionado semántico: el idioma de las versiones

Las versiones en npm siguen un formato llamado SemVer (Semantic Versioning):

Cada número tiene un significado:

  • MAJOR (1.x.x): cambios que rompen compatibilidad
  • MINOR (x.4.x): nuevas funciones que no rompen nada
  • PATCH (x.x.0): correcciones de bugs

Los prefijos: ^ y ~

Cuando añades una dependencia, npm pone un prefijo delante de la versión:

Ese ^ no es decoración. Le dice a npm cuánto puede actualizar automáticamente:

PrefijoQué permite
^1.4.0Acepta 1.5.0, 1.4.9, pero NO 2.0.0
~1.4.0Acepta 1.4.9, pero NO 1.5.0
1.4.0Solo acepta exactamente 1.4.0

Tu desafío 🚀

  1. Ejecuta npm init -y si aún no tienes package.json
  2. Instala colors con npm install colors
  3. En index.js, usa colors para mostrar al menos dos mensajes con diferentes colores
  4. Ejecuta node index.js para verlos en acción

El ecosistema npm es uno de los mayores del mundo. Saber manejarlo es una habilidad esencial para cualquier desarrollador Node.js.