Brunch plugin using babel to turn latest ECMAScript standard code into vanilla ES5 with no runtime required.
All the .js
files in your project will be run through the babel compiler,
except those it is configured to ignore, unless you use the pattern
option.
Additionally, starting Brunch 2.7.3, babel-brunch will also compile NPM dependencies.
npm install --save babel-brunch
- No configuration is required by default.
es2015
andes2016
presets are included. - To add React preset:
- Execute
npm install --save-dev babel-preset-react
, then adjust thepresets
option inbrunch-config.js
: plugins: {babel: {presets: ['es2015', 'es2016', 'react']}}
- Execute
- Default behavior is to handle
js
files which are not dependencies andjsx
files if you enable React preset. - To specify preset options:
{presets: [['transform-es2015-template-literals', { spec: true }]]}
Set babel options in your brunch
config (such as brunch-config.js
) except for filename
and sourceMap
which are handled internally.
This plugin uses, by default, the es2015 and es2016 presets. To use no preset, set the configuration option to an empty array.
Additionally, you can set an ignore
value to specify which .js
files in
your project should not be compiled by babel. By default, ignore
is set to
/^(bower_components|vendor)/
.
You can also set pattern
to a regular expression that will match the file
paths you want compiled by babel, which will override the standard behavior of
compiling every .js
file.
plugins: {
babel: {
presets: ['es2015', 'es2016', 'react'], // es2015, es2016 are defaults
ignore: [
/^(bower_components|vendor)/,
'app/legacyES5Code/**/*'
],
pattern: /\.(es6|jsx)$/ // js and jsx are defaults.
}
}