Настраиваю тесты с огурцом- js. Я хотел бы иметь возможность писать код с помощью asyn c / await. Я настроил .babelr c следующим образом:
// /test/.babelrc
{
"presets": [['@babel/preset-env', { "targets": { "node": "current" } }]]
}
как выглядит мой пакет. json выглядит так:
{
"scripts": {
"test": "cucumber-js --require-module @babel/register ./test/features",
...
}
...
"devDependencies": {
"@babel/core": "^7.9.6",
"@babel/node": "^7.8.7",
"@babel/preset-env": "^7.9.6",
"@babel/register": "^7.9.0",
...
}
Когда я запускаю свой скрипт (npm run test
) , Я получаю эту ошибку:
/Users/me/path/to/project/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:17
export default function _asyncToGenerator(fn) {
^^^^^^
SyntaxError: Unexpected token export
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Module._compile (/Users/me/path/to/project/node_modules/pirates/lib/index.js:99:24)
at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Object.newLoader [as .js] (/Users/me/path/to/project/node_modules/pirates/lib/index.js:104:7)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Users/me/path/to/project/test/features/step_definitions/search_for_cheese.js:11:49)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Module._compile (/Users/gul/WEDIA/vue/portal/node_modules/pirates/lib/index.js:99:24)
at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Object.newLoader [as .js] (/Users/gul/WEDIA/vue/portal/node_modules/pirates/lib/index.js:104:7)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
Насколько я понимаю, babel пытается перекомпилировать код, но модуль _asyncToGenerator открыт с экспортом, который вызывает ошибку.
Что я делаю не так?