#220 · Herramienta para desarrolladores

Conversor Node.js

Convierte patrones habituales de módulos Node.js entre CommonJS y ES Modules. Reconoce require asignado a variables, module.exports, exports.nombre, import por defecto, import namespace y export default. La transformación es deliberadamente conservadora: los casos dinámicos o destructuring complejos se dejan intactos y se señalan para revisión.

Datos de entrada

Código de módulos
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega un fragmento Node.js.
  2. Selecciona la dirección de conversión.
  3. Pulsa Convertir.
  4. Revisa los casos dinámicos que hayan quedado sin transformar.

Qué hace esta herramienta para desarrolladores

Aplica conversiones sintácticas de los casos más comunes sin ejecutar el código ni resolver dependencias.

CommonJS → ESM transforma const x = require("m") en import * as x from "m" y module.exports en export default. La dirección inversa genera require y module.exports.

require dinámico, destructuring avanzado, __dirname y diferencias de resolución ESM pueden exigir cambios adicionales.

Ejemplo

const fs = require("fs"); → import * as fs from "fs"; module.exports = run; → export default run;

Casos de uso

  • Preparar una migración inicial a ESM.
  • Convertir ejemplos de documentación.
  • Comparar sintaxis de módulos en Node.js.

Consejos para obtener resultados fiables

  • Prueba primero con un fragmento pequeño y representativo.
  • Revisa el resultado antes de sustituir código en producción.
  • Conserva una copia del archivo original si vas a aplicar cambios masivos.
  • Usa Ctrl/Cmd + Enter para ejecutar el análisis desde el teclado.

Detalles del procesamiento

La herramienta cuenta los patrones antes y después de la transformación y no reemplaza expresiones que no encajan en reglas seguras.

No actualiza package.json, extensiones de import, __dirname/__filename ni semántica de módulos cíclicos.

Preguntas frecuentes

¿Convierte require dinámico?

No. Las llamadas require construidas con variables se dejan intactas para revisión manual.

¿Qué hace con module.exports?

En CommonJS → ESM lo convierte en export default cuando el patrón es directo.

¿Convierte exports.nombre?

Sí, los casos simples se convierten en export const nombre = ... cuando es posible.

¿Actualiza package.json con type: module?

No. Solo transforma el fragmento de código pegado.

¿La conversión garantiza el mismo comportamiento?

No. CommonJS y ESM tienen diferencias de carga y resolución; debes ejecutar los tests del proyecto después de migrar.

Transformaciones

CommonJSES Modules
require()import
module.exportsexport default

Explorar la categoría

Consulta más utilidades de frameworks backend para revisar, transformar y depurar código relacionado.

Ver Frameworks backend