Se lanzó Node.js 22: resumen de las principales novedades y cambios
La comunidad de desarrolladores de JavaScript celebró un evento importante: el lanzamiento oficial de Node.js 22. Esta versión trae numerosas mejoras que afectarán tanto a los desarrolladores de backend como a los creadores de herramientas de línea de comandos. Analicemos los cambios más significativos que todo aquel que trabaja con Node.js debería conocer.
Motor V8 12.4: velocidad y nuevas capacidades
El corazón de Node.js 22 es el motor V8 actualizado a la versión 12.4. No es solo una mejora cosmética: trae nuevas funciones de JavaScript que ya se pueden usar en producción:
- Array.fromAsync — un método estático para crear arreglos de forma asíncrona a partir de objetos iterables. Simplifica el trabajo con flujos de datos.
- Métodos de Set — llamadas directas a
intersection(),union(),difference()para trabajar con conjuntos sin bibliotecas externas. - Iterator Helpers — los tan esperados métodos para trabajar con iteradores (map, filter, take y otros) ahora están disponibles "de fábrica".
require() estable para módulos ESM
Uno de los cambios más comentados: la bandera --experimental-require-module ahora está activada por defecto. Esto significa que puedes usar require() para cargar módulos ESM (con extensión .mjs o con "type": "module" en package.json).
¿Qué significa esto para el desarrollador?
- Transición gradual de CommonJS a ESM sin reescribir todo el código.
- Posibilidad de conectar paquetes ESM modernos en proyectos antiguos.
- Simplificación de la migración para bases de código grandes.
WebSocket mejorado y trabajo con red
Node.js 22 incluye un cliente WebSocket integrado (anteriormente experimental). Ahora, para crear aplicaciones en tiempo real, no es necesario instalar ws o socket.io; todo está disponible a través del objeto global WebSocket.
También cabe destacar las mejoras en el cliente HTTP: la compatibilidad con HTTP/2 está activada por defecto, y ahora es posible usar fetch() con detección automática de proxy a partir de variables de entorno.
Cambios en el trabajo con el sistema de archivos
Los desarrolladores que trabajan con archivos apreciarán los nuevos métodos en el módulo fs:
- fs.cp — ahora es estable y funciona más rápido que alternativas.
- fs.openAsBlob() — creación de un Blob a partir de un archivo sin cargarlo completamente en memoria.
- Mejor compatibilidad con enlaces simbólicos en Windows.
Qué quedó obsoleto y se eliminó
Como en cualquier actualización importante, algunas funciones fueron marcadas como obsoletas o eliminadas:
- El módulo
punycodefue eliminado definitivamente (usaURLo el paquetepunycodede npm). - Los argumentos de línea de comandos
--experimental-loadery--experimental-specifier-resolutionfueron declarados obsoletos. - La opción
--no-experimental-fetchya no funciona: fetch ahora está integrado de forma permanente.
Cómo actualizarse
Node.js 22 está disponible para descargar en el sitio oficial nodejs.org. Se recomienda actualizar a través de un gestor de versiones (nvm o fnm) para poder revertir rápidamente si es necesario.