1.6 KiB
Contributing
Adding a new plugin to support (when approved in the next ECMAScript version)
Update pluginFeatures.js
Example:
In you were going to add ** which is in ES2016:
Find the relevant entries on compat-table:
exponentiation (**) operator
Find the corresponding babel plugin:
transform-exponentiation-operator
Add add them in this structure:
// es2016
"transform-exponentiation-operator": {
features: [
"exponentiation (**) operator",
],
},
Update plugins.json
Until compat-table is a standalone npm module for data we are using the git url
"compat-table": "github:kangax/compat-table#gh-pages",
So we update and then run npm run build-data. If there are no changes, then plugins.json will be the same.
Writing Tests
General
All the tests for babel-preset-env exist in the test/fixtures folder. The
test setup and conventions are exactly the same as testing a Babel plugin, so
please read our documentation on writing tests.
Testing the debug option
Testing debug output to stdout is similar. Under the test/debug-fixtures,
create a folder with a descriptive name of your test, and add the following:
- Add a
options.jsonfile (just as the other tests, this is essentially a.babelrc) with the desired test configuration (required) - Add a
stdout.txtfile with the expected debug output. For added convenience, if there is nostdout.txtpresent, the test runner will generate one for you.