Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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.

Using React or any other plugin

Install a plugin:

npm install --save-dev babel-preset-react

Then, make sure Brunch sees it:

module.exports.plugins = {
  // ...
  babel: {
    presets: ['env', 'react']

Ignoring node modules

module.exports.plugins = {
  // ...
  babel: {
    ignore: [

Changing which files would be compiled by Babel

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.

Change Log

See release notes page on GitHub