Ошибка с ES6 Импорт с Jest и Parcel
У меня есть проект, использующий react-parcel-app
в качестве шаблона, и я пытаюсь интегрировать Jest, но у меня появляется следующая ошибка.
Details:
/home/papaponmx/Projects/prime/src/actions/goals.spec.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { addGoal } from './goals.mjs';
Это то, что мой .babelrc
похоже.
{
"presets": [
[
"env",
{"modules": false},
{
"targets": {
"browsers": [
"last 2 versions"
]
}
}
],
"react"
],
"plugins": [
"transform-class-properties",
"transform-object-rest-spread"
],
"env": {
"testing": {
"presets": ["es2015", "stage-1", "react" ],
"plugins": [
"lodash",
"transform-runtime",
"transform-es2015-modules-commonjs",
"dynamic-import-node"
]
}
}
}
Я понимаю, что посылка должна поддерживать ES-модули без конфигурации, но я не получаю тестовый импорт для работы.
Вот ссылка на репо, если вы хотите запустить его локально.
1 ответ
С помощью этой статьи я пришел к решению, используя Babel.
Установите эти пакеты как зависимости для разработчиков:
npm i --save-dev babel-jest @babel/core @babel/preset-env
На корневом уровне вашего проекта создайте
.babelrc
файл и добавьте следующее:{presets:["@babel/preset-env"]}
Затем вы можете использовать импорт ES6 в своих тестовых файлах.