Las soluciones ofrecidas en otras preguntas relacionadas, como incluir los presets adecuados (es2015) en .babelrc, ya están implementadas en mi proyecto.
Tengo dos proyectos (llamémoslos A y B) que usan la sintaxis del módulo ES6. En el Proyecto A, estoy importando el Proyecto B que se instala a través de npm y vive en la carpeta node_modules. Cuando ejecuto mi conjunto de pruebas para el Proyecto A, aparece el error:
SyntaxError: Importación de token inesperada
Que está precedido por esta supuesta línea errónea de código del Proyecto B:
(función (exporta, requiere, módulo, __filename, __dirname) {import createBrowserHistory from 'history / lib / createBrowserHistory';
El iife parece ser algo relacionado con npm o posiblemente babel, ya que mi archivo fuente solo contiene "import createBrowserHistory from 'history / lib / createBrowserHistory'; Las pruebas unitarias en el conjunto de pruebas del Proyecto B funcionan bien, y si elimino el Proyecto B como una dependencia de El proyecto A, mi conjunto de pruebas entonces (todavía usando importaciones de es6 para módulos de proyectos internos) funciona bien.
Seguimiento de pila completa:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Module._extensions..js (module.js:405:10)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:138:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (actionCreators.js:4:17)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/ProjectA/src/components/core/wrapper/wrapper.js:28:23)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/ProjectA/src/components/core/wrapper/wrapperSpec.js:15:16)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /ProjectA/node_modules/mocha/lib/mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (/ProjectA/node_modules/mocha/lib/mocha.js:216:14)
at Mocha.run (/ProjectA/node_modules/mocha/lib/mocha.js:468:10)
at Object.<anonymous> (/ProjectA/node_modules/mocha/bin/_mocha:403:18)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:430:10)
at startup (node.js:141:18)
at node.js:980:3
Aquí está mi comando de prueba de package.json:
"test": "mocha --compilers js:babel-core/register '+(test|src)/**/*Spec.js'"
Esta publicación de StackOverflow es similar pero no ofrece una solución para mi uso de la línea de comando: importar un módulo de node_modules con babel pero falló