Jest WebPack 4 Babel 7 SyntaxError «импорт» внутри файлов .test.js - PullRequest
1 голос
/ 03 июля 2019

Настройка

Реакция 16.4.2 (не кра, домашнее варенье) Babel v7 jest v24 webpack v4.17

ПРОБЛЕМА, получающая ошибку нижекогда я использую синтаксис import внутри моих тестовых файлов (то есть внутри component.test.js).

Как я могу сказать Jest для анализа тестовых файлов с помощью es6?

Выполненомного гуглить, но без радости

    C:\repos\sandbox\my_react_starter\src\temp.test.js:2
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:471:17)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:513:25)

шут конфиг:

  "jest": {
    "rootDir": ".",
    "verbose": true,
    "transform": {
      "^.+\\.jsx?$": "babel-jest",
      ".+\\.(css|styl|less|sass|scss)$": "<rootDir>/node_modules/jest-css-modules-transform"
    }
  },

.babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/react"
  ],
  "env": {
    "test": {
      "plugins": [
        "transform-es2015-modules-commonjs"
      ]
    }
  }
}

Webpack:

module.exports = {
    entry: './src/index.js',
    output: { path: __dirname + '/dist', publicPath: '/', filename: 'bundle.js' },
    devServer: { contentBase: './dist' },
    module:
    {
        rules:
            [
                {
                    test: /\.(js|jsx)$/,
                    exclude: /node_modules/,
                    use: {
                        loader: 'babel-loader',
                        options: { presets: ['es2015'] }
                    }
                }
            ]
    }
};
...