A Ascensão do ESM-Only: O Ecossistema JavaScript Está Preparado?
Este artigo explora o estado atual da adoção do ESM (ECMAScript Module) no ecossistema JavaScript e argumenta a favor da transição para pacotes apenas ESM. O autor revisita uma publicação anterior defendendo formatos duplos CJS/ESM e explica a mudança para apenas ESM. A ascensão de ferramentas de construção modernas como Vite e frameworks como Nuxt e SvelteKit tornou o ESM o sistema de módulos dominante. O suporte do Node.js para `require()` de módulos ESM remove ainda mais obstáculos de interoperabilidade. Embora pacotes duplos CJS/ESM tenham servido como um mecanismo de transição, eles introduzem sobrecarga significativa de manutenção e problemas de interoperabilidade. O autor recomenda ESM-only para novos projetos e fornece orientação para diferentes tipos de projetos (navegador, CLI). Uma nova ferramenta, Node Modules Inspector, é introduzida para ajudar a analisar a adoção do ESM nas dependências do projeto.
Leia mais