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, babel-brunch
will also compile NPM dependencies.
npm install --save-dev babel-brunch
babel-preset-env (a Babel preset that can automatically determine the plugins and polyfills you need based on your supported environments) is used by default.
The default behavior without options runs all transforms (behaves the same as babel-preset-latest).
Optionally, you can configure the preset for your needs:
module.exports.plugins = {
babel: {
presets: [['env', {
targets: {
browsers: ['last 2 versions', 'safari >= 7']
}
}]]
}
}
Read more about env
's options.
Install a plugin:
npm install --save-dev babel-preset-react
Then, make sure Brunch sees it:
module.exports.plugins = {
// ...
babel: {
presets: ['env', 'react']
}
}
module.exports.plugins = {
// ...
babel: {
ignore: [
/^node_modules/,
'app/legacyES5Code/**/*'
]
}
}
module.exports.plugins = {
// ...
babel: {
pattern: /\.(js|vue)$/ // By default, JS|JSX|ES6 are used.
}
}
Set Babel options in your Brunch
config (such as brunch-config.js
) except for filename
and sourceMap
which are handled internally.