使用没有babel的Jest和spread运算符?

时间:2017-11-01 04:39:04

标签: node.js ecmascript-6 babel jest

如果节点引擎是8 +,是否可以在带有Jest的代码中使用spread运算符而不使用babel?

我在我的应用程序中放弃了对Node.js< 8的支持,并假设我可以删除所有babel依赖项并从package.json转换,但是npm run jest会立即失败并出现以下类型的错误:

 FAIL  test/workers/repository/onboarding.spec.js
 ● Test suite failed to run

/Users/me/project/lib/workers/repository/onboarding.js: Unexpected token (13:17)
    11 |
    12 | async function createOnboardingBranch(inputConfig) {
  > 13 |   let config = { ...inputConfig };
       |                  ^

有没有办法让Jest工作而不需要添加所有babel依赖项和配置?

Node.js版本:8.9.0 开玩笑版本:20.0.4 package.json中的jest配置:

"jest": {
  "cacheDirectory": ".cache/jest",
  "coverageDirectory": "./coverage",
  "collectCoverage": true,
  "collectCoverageFrom": [
    "lib/**/*.js"
  ],
  "coverageReporters": [
    "json",
    "lcov",
    "text-summary"
  ],
  "setupTestFrameworkScriptFile": "./test/chai.js"
},

编辑:

我已经能够将我的babel配置缩小到一个插件:babel-plugin-transform-object-rest-spread并在package.json中配置babel,如下所示:

"babel": {
  "plugins": [
    "transform-object-rest-spread"
  ]
},

取消或尝试使用babel-preset env会导致Jest再次失败。

0 个答案:

没有答案