14 puntos por carnoxen 2025-02-10 | Aún no hay comentarios. | Compartir por WhatsApp

Hasta hace poco, yo me mostraba escéptico ante la idea de convertir todas las bibliotecas de JavaScript de forma acelerada a ESM. Como las tecnologías relacionadas con ESM y su adopción han avanzado día a día, ahora espero que todos los desarrolladores den el paso a ESM. Las razones son las siguientes.

Razones

  • Herramientas preparadas
    • Han aparecido muchas herramientas que pueden ayudar en la transición a ESM, como Vite, ESLint y tsx.
    • No es fácil que el modelo tradicional de bibliotecas (CJS) dependa de ESM, que es el enfoque moderno, por lo que debemos avanzar pensando en el desarrollo futuro.
    • En las versiones recientes de Node.js se ha desarrollado una forma de cargar bibliotecas ESM con la función require(), lo que facilita aún más adoptar ESM.
  • Problemas del soporte dual
    • Como las diferencias de diseño entre ambos enfoques son notables, la interoperabilidad se reduce considerablemente.
    • Esto genera la molestia de que los usuarios tengan que comprobar uno por uno si hay soporte para ESM.
    • Como hay que soportar ambos enfoques, el tamaño del paquete se vuelve mucho mayor.

¿Cuándo hacer el cambio?

  • Los paquetes nuevos deben ir a ESM sin excepción.
  • En el caso de las bibliotecas orientadas al navegador, se pueden crear bundles más ligeros.
  • También en los programas CLI, quienes los usan pueden pasar de forma natural a ESM.
  • Pero antes de eso, es importante conocer el estado de las bibliotecas de las que ya dependes y los requisitos de los usuarios.

¿Cuánto hay que cambiar?

Para identificar las dependencias de una biblioteca, creé un analizador de dependencias. Permite ver el estado de las bibliotecas de las que dependes e incluso el impacto de cambiarlas a ESM.

Qué sigue

Planeo convertir gradualmente a ESM los paquetes que mantengo y revisar en detalle sus dependencias. Además, tengo preparadas muchas ideas interesantes usando node-modules-inspector para ofrecer información más útil y ayudar a encontrar las mejores prácticas en el futuro.

Espero un ecosistema de JavaScript/TypeScript más ligero, flexible y optimizado. Espero que esto haya sido útil.

Aún no hay comentarios.

Aún no hay comentarios.