运行mocha测试时使用不同的babel预设

时间:2017-05-10 05:08:25

标签: npm mocha babel

我的npm包构建与babel一起运行,我在package.json中使用

配置了一个babel预设

"babel": { "presets": ["es2015"] }

我还用

配置了一个mocha测试脚本

"test": "mocha --compilers js:babel-core/register"

但是,我想使用不同于我的构建指定的babel预设来运行我的测试。

有可能吗?我能帮到你吗?

2 个答案:

答案 0 :(得分:6)

Babel accommodates environment variables因此您可以设置test环境变量并相应地更改预设:

package.json

"babel": {
    "env": {
      "test": {
        "presets": [/* your test presets */]
      }
    },
    "presets": [/* your usual presets */]
}

然后,像这样运行你的mocha命令:

"test: BABEL_ENV=test mocha --compilers js:babel-core/register"

答案 1 :(得分:1)

关于在package.json中配置babel的答案部分正确。 我需要添加单独的env条目以使其起作用,否则否则env外部的配置将始终运行。 因此最终的配置示例如下所示:

"babel": {
    "env": {
      "test-console": {
        "presets": ["@babel/preset-env"],
        "plugins": ["@babel/plugin-proposal-class-properties"]
      }
    ,
      "test": {
        "presets": ["@babel/preset-env"],
        "plugins": ["@babel/plugin-proposal-class-properties", "transform-remove-console"]
      }
    }

和脚本:

 "scripts": {
    "test-console-log": "BABEL_ENV=test-console mocha || TRUE",
    "test": "BABEL_ENV=test mocha || TRUE"
  }