Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.6K
Views
Configuración de Jest "SyntaxError: exportación de token inesperada"

Estoy implementando pruebas en un proyecto existente que actualmente no tiene pruebas. Mis pruebas no logran compilar node_modules/ imports.

 /Users/me/myproject/node_modules/lodash-es/lodash.js:10 export { default as add } from './add.js'; ^^^^^^ SyntaxError: Unexpected token export at transformAndBuildScript (node_modules/jest-runtime/build/transform.js:320:12) at Object.<anonymous> (app/reducers/kind_reducer.js:2:43) at Object.<anonymous> (app/reducers/index.js:12:47)

La solución que encontré es 'lista blanca' node_modules en package.json jest config de esta manera:

 "jest": { "transformIgnorePatterns": [ "!node_modules/" ] }

Esto parece un truco porque lleva más de 1 minuto ejecutar una prueba simple que importa node_modules/lodash-es/lodash.js .

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Si ninguna de las soluciones anteriores funcionó para usted, puede probar esto en su broma

 "moduleNameMapper": { "^lodash-es$": "lodash" }

Reemplazará lodash-es con la versión commonjs durante el tiempo de ejecución de prueba.

over 4 years ago · Santiago Trujillo Report

0

Tuve que agregar esto en mi .jestconfig :

 "transformIgnorePatterns": [ "<rootDir>/node_modules/(?!lodash-es)" ]
over 4 years ago · Santiago Trujillo Report

0

Publicando una respuesta más completa aquí:

Jest por defecto no transforma node_modules porque node_modules es enorme. La mayoría de los módulos de nodo están empaquetados para exponer el código ES5 porque se puede ejecutar sin ninguna transformación adicional (y en gran parte es compatible con versiones anteriores).

En su caso, lodash-es expone específicamente los módulos ES, que Jest deberá compilar a través de babel.

Puede intentar reducir su lista blanca para que Jest no intente pasar todos los archivos JavaScript dentro de node_modules a través de babel.

Creo que la configuración correcta en tu caso es:

 "jest": { "transformIgnorePatterns": [ "/!node_modules\\/lodash-es/" ] }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!