Node.js 24.5 ahora ejecuta TypeScript de forma nativa
La versión 24.5 de Node.js, lanzada el 31 de julio de 2025, incorpora de forma predeterminada el soporte para ejecutar archivos .ts
(TypeScript) sin herramientas adicionales. Esto permite a los desarrolladores ejecutar directamente código TypeScript sin necesidad de compilarlo o usar herramientas como ts-node
.
¿Qué cambia?
- Ahora es posible ejecutar archivos
.ts
directamente connode archivo.ts
. - Las anotaciones de tipo se eliminan automáticamente, sin intervención del desarrollador.
- La opción
--no-experimental-strip-types
permite desactivar este comportamiento si se desea. - Para ejecutar ciertas características avanzadas de TypeScript, como
enum
onamespace
, se debe utilizar la bandera--experimental-transform-types
. - Node.js sigue sin interpretar configuraciones definidas en
tsconfig.json
.
Ejemplos de uso
Ejemplo básico sin transformaciones
// hola.ts
const mensaje: string = 'Hola desde TypeScript';
console.log(mensaje);
Ejecución:
node hola.ts
Esto imprime:
Hola desde TypeScript
Ejemplo con enum
(requiere flag)
// opciones.ts
export enum Rol {
Admin,
Usuario
}
// app.ts
import { Rol } from './opciones.ts';
console.log(Rol.Usuario);
Ejecución:
node --experimental-transform-types app.ts
Este comando permite procesar enum
y otras estructuras que generan código JavaScript.
Limitaciones
- No hay verificación de tipos en tiempo de ejecución.
- No se interpretan configuraciones de
tsconfig.json
, como alias o decoradores. - Características como JSX, paths personalizados o transformaciones complejas requieren herramientas externas.
- Esta funcionalidad sigue siendo experimental y puede cambiar en futuras versiones.
Buenas prácticas
- Usar la ejecución nativa solo para scripts o pruebas rápidas.
- Mantener
tsc
para validación de tipos durante el desarrollo. - Evitar depender de esta funcionalidad en producción hasta que se estabilice.
- Seguir utilizando compilación tradicional para proyectos complejos o bibliotecas.
- Verificar compatibilidad si se usan estructuras avanzadas como
enum
onamespace
.
Conclusión
Node.js 24.5 simplifica el desarrollo con TypeScript al permitir ejecutar archivos .ts
sin herramientas adicionales. Esta funcionalidad mejora la experiencia para scripts y prototipos, aunque su uso en producción todavía requiere precauciones. A medida que el soporte evolucione, podría convertirse en una alternativa viable para más escenarios.
Glosario técnico
- Type stripping: proceso mediante el cual se eliminan las anotaciones de tipo antes de ejecutar el código.
- experimental-transform-types: bandera que habilita la transformación de sintaxis TypeScript que genera código, como
enum
. - tsconfig.json: archivo de configuración del compilador TypeScript.
- Type checking: verificación de tipos mediante el compilador, que no se realiza automáticamente en tiempo de ejecución.
- Erasable syntax: sintaxis que no genera código en JavaScript y puede eliminarse sin afectar el funcionamiento del programa.
Fuentes:
-
Node.js 24.5.0 Released [https://nodejs.org/en/blog/release/v24.5.0][] Node versión oficial con cambios destacados, incluido el soporte nativo para TypeScript.
-
Node.js TypeScript Support Documentation https://nodejs.org/api/typescript.html Documentación oficial sobre la ejecución de archivos TypeScript en Node.js.
-
Node.js 24: What’s new? https://blog.logrocket.com/node-js-24-features/ Análisis de las novedades en Node.js 24, incluyendo el soporte experimental activado por defecto.
-
Understanding TypeScript in Node.js https://2ality.com/2025/01/nodejs-strip-type.html Explicación detallada del funcionamiento del type stripping y sus limitaciones actuales.