@chialab/babel-preset
Babel preset for Chialab projects
A custom set of plugins, based on the @babel/preset-env
, which includes:
-
@babel/plugin-proposal-class-properties
Support for class private and public fields -
@babel/plugin-proposal-decorators
for decorators support -
@babel/plugin-syntax-dynamic-import
for dynamicimport()
syntax support -
babel-plugin-transform-inline-environment-variables
:process.env
replacements -
babel-plugin-istanbul
: code coverage -
@babel/plugin-transform-react-jsx
: transpile JSX -
babel-plugin-jsx
: auto import JSX pragma -
babel-plugin-jsx-template
: auto export a function with a JSX template -
babel-plugin-assertions
: polyfill assertion statements with Chai -
babel-plugin-transform-commonjs
: try to convert CommonJS modules to ES6 modules
Install
npm install @chialab/babel-preset -D
# or
yarn add @chialab/babel-preset -D
Usage
Add to the .babelrc
file the preset:
{
"presets": [
["@chialab/babel-preset", { ... }]
],
"plugins": [ ... ]
}
Options
The preset inherits all the @babel/preset-env
options, available here.
Name | Accepts | Default | Description |
---|---|---|---|
env |
Boolean |
true |
Should use @babel/preset-env . |
pragma |
String |
- | The JSX pragma. |
pragmaModule |
String |
- | The module path which exports the pragma. |
pragmaDefault |
Boolean |
false |
Import pragma as default member. |
assertions |
Boolean |
false |
Polyfill assertion statements with Chai. |
coverage |
Boolean |
false |
Should enable code coverage. |
coverageInclude |
Array |
[] |
A list of files to include in the coverage. |
coverageExclude |
Array |
[] |
A list of files to exclude from the coverage. |
transformCommonjs |
Boolean |
false |
Should convert CommonJS modules. |
transformCommonjsCache |
Boolean |
false |
A Map instance to use as cache for the tranformer. |