Jest SyntaxError при использовании импорта - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть следующие deps:

"@babel/core": "^7.2.2",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.9.1",

следующие devDeps:

"babel-jest": "^24.1.0",
"enzyme-to-json": "^3.3.5",
"jest": "^24.1.0",
"jest-transform-graphql": "^2.1.0",

и запускаю мой тестовый скрипт через "test": "SET NODE_ENV=test & jest --watch"

Следующая конфигурация babelживет внутри моего пакета. json

"jest": {
  "setupFiles": [
    "<rootDir>/jest.setup.js"
  ],
  "testPathIgnorePatterns": [
    "<rootDir>/.next/",
    "<rootDir>/node_modules/"
  ],
  "transform": {
    "\\.(gql|graphql)$": "jest-transform-graphql",
    ".*": "babel-jest"
  }
},
"babel": {
  "env": {
    "test": {
      "presets": [
        [
          "next/babel",
          {
            "@babel/preset-env": {
              "modules": "commonjs"
            }
          }
        ]
      ],
      "plugins": [
        [
          "styled-components",
          {
            "ssr": true,
            "displayName": true
          }
        ]
      ]
    }
  }
}

При следовании стандартным настройкам ферментов согласно их документам :

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

configure({ adapter: new Adapter() });

я получаю следующую ошибку:

import { configure } from 'enzyme';
       ^
SyntaxError: Unexpected token {

При поиске и устранении неисправностей я нашел несколько попыток решения с использованием babel-plugin-dynamic-import-node, однако либо я настроил его неправильно, либо это не решило бы мою проблему с самого начала.

Кроме того, когда я использую решение ES5 для файла конфигурации, проблема сохраняется в других тестовых файлах, использующих ES6 import { abc } from 'xyz'.

Что не так с моей настройкой преобразования?

...