babel7系 mocha5系のテストコマンド
babel 7.0.0-beta.40 mocha5.0.1の組み合わせで使ったらエラーが出た
環境
{
"scripts": {
"test": "mocha --compilers js:babel-register"
...
},
"dependencies": {
"@babel/core": "^7.0.0-beta.40",
"@babel/runtime": "^7.0.0-beta.40"
},
"devDependencies": {
"@babel/node": "^7.0.0-beta.40",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0-beta.40",
"@babel/plugin-transform-async-to-generator": "^7.0.0-beta.40",
"@babel/plugin-transform-runtime": "^7.0.0-beta.40",
"@babel/preset-env": "^7.0.0-beta.40",
"@babel/register": "^7.0.0-beta.40",
"babel-register": "^6.26.0",
"babel-loader": "^8.0.0-beta.0",
"chai": "^4.1.2",
"mocha": "^5.0.1",
"webpack": "^3.11.0",
"webpack-node-externals": "^1.6.0"
}
...
}
{
"plugins": [
["@babel/plugin-transform-runtime", {
"helpers": false,
"polyfill": true,
"regenerator": true,
"moduleName": "@babel/runtime"
}],
["@babel/plugin-proposal-object-rest-spread"],
["@babel/plugin-transform-async-to-generator"]
],
"presets": ["@babel/preset-env"]
}
npm test
> [email protected] test path/to/dir
> mocha --compilers js:babel-register
/path/to/dir/myproject/node_modules/@babel/plugin-transform-runtime/lib/index.js:17
var helpers = options.helpers,
^
TypeError: Cannot read property 'helpers' of undefined
んーん動かない でも書いてあるんだよなあ
mochaの方を見ることに。。
--compilers is redundant; we've yet to encounter a real-world situation in which the solution couldn't be expressed using --require.
........
Babel: --compilers js:babel-core/register becomes --require babel-core/register
........
$ mocha --compilers coffee:coffee-script/register --recursive ./test
Then this is how you'd accomplish the same thing (** roughly means "recursive") in v4:$ mocha --require coffee-script/register "test/*/.js"
^ 適当に抜粋してるので悪しからず。。
mocha - compilers deprecation
--compilers
は冗長だからやめて--require
でregister
君を指定してあげろとそれでbabel
の方は--require babel-core/register
だぞと、
babelのベージと擦り合わせてmocha --require babel-register
にしたが、変わらずエラー
まあ根本的な解決になるとは思ってなかったから想定内。
普通に他のbabelのライブラリ同様 @babel/register
を指定してみたらできました。。
結論
$ node_modules/.bin/mocha --require @babel/register
ほとんどbabel7のものを使っていたけど、mochaのbabel-register
の部分も変えなきゃいけなかった、、
まあそりゃバージョン合わせようねってことだね
Author And Source
この問題について(babel7系 mocha5系のテストコマンド), 我々は、より多くの情報をここで見つけました https://qiita.com/uron/items/9ceef463c31a07b350eb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .