plugin-features.js
Example:
If you were going to add **
which is in ES2016:
Find the relevant entries on compat-table:
exponentiation (**) operator
Find the corresponding babel plugin:
@babel/plugin-transform-exponentiation-operator
And add them in this structure:
// es2016
"@babel/plugin-transform-exponentiation-operator": {
features: [
"exponentiation (**) operator",
],
},
built-in-features.js
Example:
In case you want to add Object.values
which is in ES2017:
Find the relevant feature and subfeature on compat-table
and split it with /
:
Object static methods / Object.values
Find the corresponding module on core-js:
es7.object.values.js
Find required ES version in built-in-features.js
and add the new feature:
const es2017 = {
//...
"es7.object.values": "Object static methods / Object.values"
}
plugins.json
Until compat-table
is a standalone npm module for data we are using the git url
"compat-table": "kangax/compat-table#[latest-commit-hash]"
,
So we update and then run npm run build-data
. If there are no changes, then plugins.json
will be the same.
npm test
npm run coverage
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.
debug
optionTesting 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:
options.json
file (just as the other tests, this is essentially a
.babelrc
) with the desired test configuration (required)stdout.txt
file with the expected debug output. For added
convenience, if there is no stdout.txt
present, the test runner will
generate one for you.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.