use different babel preset when running mocha test

2019-06-27 10:31发布

问题:

My npm package build runs with babel and I configured a babel preset in my package.json with

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

I also configured a mocha test script with

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

However, I would like to run my tests using a different babel preset than that one specified for my build.

Is it possible? I would you achieve that?

回答1:

You could create a file named babel-hook.js and put in it:

require("babel-register")({
  presets: [ /* whatever values you want here */ ],
});

then run Mocha like this:

mocha --require babel-hook

This will register Babel and you can use any configuration option you want with it, separate from anything in package.json.



回答2:

Babel accommodates environment variables so you could set a test environment variable and alter your presets accordingly:

In your package.json:

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

Then, run your mocha command like so:

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


标签: npm mocha babel