Temos que usar a flag "--experimental-vm-modules" para usar o "import e export" com o Jest, mas isso acontece por culpa do Node.js ou do Jest?
Temos que usar a flag "--experimental-vm-modules" para usar o "import e export" com o Jest, mas isso acontece por culpa do Node.js ou do Jest?
Olá, Luidi! Como vai?
A necessidade de utilizar a flag --experimental-vm-modules para usar import e export com o Jest está relacionada principalmente à forma como o Node.js e o Jest lidam com módulos ECMAScript (ESM).
O Node.js, por um bom tempo, teve suporte limitado a ESM, e muitas funcionalidades relacionadas a módulos ECMAScript estavam em estágio experimental. Isso significa que, para usar essas funcionalidades, era necessário ativar explicitamente esse suporte experimental através de flags, como a --experimental-vm-modules.
Por outro lado, o Jest, sendo uma ferramenta de testes, também precisa estar preparado para lidar com ESM. Durante o desenvolvimento e atualização do Jest, o suporte a ESM foi sendo implementado gradualmente. Na época em que o curso foi produzido, o Jest ainda não havia completado totalmente essa implementação, o que exigia o uso da flag para garantir que o Node.js pudesse executar os testes corretamente.
Portanto, a necessidade da flag é uma combinação das limitações tanto do Node.js quanto do Jest em relação ao suporte a ESM no momento específico em que o curso foi desenvolvido. Recomendo sempre verificar a documentação mais recente do Jest e do Node.js, pois essas ferramentas estão em constante evolução e podem ter melhorado o suporte a ESM desde então.
Espero ter ajudado e bons estudos!