Ошибка с 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.

  1. Установите эти пакеты как зависимости для разработчиков:

    npm i --save-dev babel-jest @babel/core @babel/preset-env

  2. На корневом уровне вашего проекта создайте .babelrcфайл и добавьте следующее:

    {presets:["@babel/preset-env"]}

Затем вы можете использовать импорт ES6 в своих тестовых файлах.

Другие вопросы по тегам