Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

509
Visualizações
Node v13/Jest/ES6: soporte nativo para módulos sin babel o esm

¿Es posible probar módulos ES6 con Jest sin esm o babel ? Dado node v13 es compatible con es6 de forma nativa, he intentado:

 //package.json { … "type": "module" … } //__tests__/a.js import Foo from '../src/Foo.js'; $ npx jest Jest encountered an unexpected token … Details: /home/node/xxx/__tests__/a.js:1 import Foo from '../src/Foo.js'; ^^^^^^ SyntaxError: Cannot use import statement outside a module

Cuando a Babel se le agrega un transpiler, funciona, pero ¿los módulos es6 también se pueden usar de forma nativa?

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

Sí, es posible desde jest@25.4.0 . A partir de esta versión, hay soporte nativo de esm, por lo que ya no tendrás que transpilar tu código con babel.

Todavía no está documentado, pero de acuerdo con este problema , debe realizar 3 pasos sencillos para lograrlo ( al momento de escribir esta respuesta ):

  • Asegúrese de no transformar las declaraciones de import configurando transform: {} en su archivo de configuración de broma
  • Ejecutar node@^12.16.0 || >=13.2.0 con --experimental-vm-modules
  • Ejecute su prueba con jest-environment-node o jest-environment-jsdom-sixteen .

Entonces, su archivo de configuración de broma debe contener al menos esto:

 export default { testEnvironment: 'jest-environment-node', transform: {} ... };

Y para establecer --experimental-vm-modules , deberá ejecutar Jest desde package.json de la siguiente manera ( espero que esto cambie en el futuro ):

 "scripts": { "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js" }

Espero que esta respuesta te haya sido útil.

over 4 years ago · Santiago Trujillo Relatório

0

Seguí los consejos proporcionados en la respuesta aceptada, pero agregué la propiedad "type": "module" en mi package.json para que la broma funcione correctamente. Esto es lo que hice:

En package.json :

 "devDependencies": { "jest": "^26.1.0", "jest-environment-jsdom-sixteen": "^1.0.3", "jest-environment-node": "^26.1.0" }, "scripts": { "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js" }, "type": "module", "jest": { "transform": {}, "testEnvironment": "jest-environment-jsdom-sixteen" }
over 4 years ago · Santiago Trujillo Relatório

0

Además de la respuesta de @Radovan Kuka, aquí se explica cómo ejecutar Jest con módulos ES, usando npx :

 "test:monitoring": "npx --node-arg=--experimental-vm-modules jest -f monitoring.test.js --detectOpenHandles",

El beneficio es que no es necesario proporcionar la ruta absoluta de node_modules .

over 4 years ago · Santiago Trujillo Relatório

0

Tenga en cuenta que esto aún es experimental, pero hemos documentado cómo probarlo, por lo que es de esperar que haya menos confusión.

https://jestjs.io/docs/en/ecmascript-modules

Los pasos en https://stackoverflow.com/a/61653104/1850276 son correctos

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda