The merging behavior of having both `plugins` and `env.test.plugins` in the Babel configuration is confusing and does not work how we would like (that is, disabling the idx Babel plugin in test environments.) There had been some [discussion about deprecating the `env` key in Babel](https://github.com/babel/babel/issues/5276) because of this behavior and recommending using conditional logic. The behavior has been modified in later versions of Babel, but still does not work as intended in our case. Change this to only add the idx plugin if we're in a non-test environment. |
||
---|---|---|
.. | ||
common_babel_parser_options.js | ||
common_preset.js | ||
node_preset.js | ||
package.json | ||
README.md | ||
webpack_preset.js |
@kbn/babel-preset
This package contains the shared bits of babel config that we use for transpiling our source code to code compatible with Node.JS and the various browsers we support.
usage
To use our presets add the following to the devDependencies section of your package.json:
"@kbn/babel-preset": "1.0.0",
Then run yarn kbn bootstrap
to properly link the package into your plugin/package.
Finally, add either @kbn/babel-preset/node_preset
or @kbn/babel-preset/webpack_preset
to your babel config.
@kbn/babel-preset/node_preset
is usually placed in a babel.config.js
file.
@kbn/babel-preset/webpack_preset
is usually placed directly in your webpack
configuration.
NOTE: If you're transpiling code that will be run in both the browser and node you must transpile your code twice, once for each target. Take a look at the build tasks for @kbn/i18n
to see how that can look.