Natasha Kapur on Unsplash

This is an old post. Information here may be out-dated, or the post may reĀ­ļ¬‚ect opinĀ­ions or beĀ­liefs I no longer share.

From lookĀ­ing at Gruntā€™s pages-long conĀ­ļ¬gĀ­uĀ­raĀ­tion (shudĀ­der) to writĀ­ing a Gulp buildĀ­ļ¬le (exĀ­asĀ­perĀ­ated sigh), Brunch felt like a much needed breath of fresh air.

Here are some things I love about this less talked about build tool.

Easy To Grasp

It takes apĀ­proxĀ­iĀ­mately 15 minĀ­utes to get started with Brunch and dig straight into your proĀ­ject. Wait - wasĀ­nā€™t that a sellĀ­ing point for React not so long ago? Let us cerĀ­tainly sell a build-tool, then.

Just Works

Plugins

npm install --save-dev uglifyjs-brunch cleancss-brunch html-pages-brunch imageoptmizer-brunch
npm run build

That is all it takes to minify and opĀ­tiĀ­mize all your source asĀ­sets and get them ready for proĀ­ducĀ­tion. Of course, this is deĀ­penĀ­dent on the pluĀ­gin auĀ­thor havĀ­ing put in the efĀ­fort to have that work out for you - I hope the comĀ­muĀ­nity does not deĀ­tract from this ideal! That said, some pluĀ­gĀ­ins may not work with zero conĀ­ļ¬g. I havenā€™t found any.

Live Reload

A maĀ­jor headache in Gulp was getĀ­ting a quick and easy live-reĀ­load setup goĀ­ing. Brunch does that for you out of the box!

Conļ¬g Reload

If you have the server runĀ­ning, adding in an npm packĀ­age doesĀ­nā€™t reĀ­quire you to restart it - Brunch is smart enough to pick up the changes and reĀ­load on its own.

Skeletons

Lots of skeleĀ­tons to help you get started even faster! Or just use pluĀ­gĀ­ins to cook your own meal.

Sassy Documentation

If your tagline is Seeing your build tool in nightĀ­mares? Try Brunch!, youā€™ve sold your prodĀ­uct halfway within the ļ¬rst 5 secĀ­onds of your ofĀ­ļ¬Ā­cial pitch. The getĀ­ting started guide is no less, mind you!

Deploying is Adventurous

Are you faĀ­milĀ­iar with rsync? Thatā€™s all I needed to know to deĀ­ploy it to my VPS over SSH! Personally, I donā€™t mind this bit of conĀ­ļ¬gĀ­uĀ­raĀ­tion at all - itā€™s quite fun to do afĀ­ter havĀ­ing to do nothĀ­ing anyĀ­where else.

Hereā€™s a snapĀ­shot from my package.json:

{
"scripts": {
"deploy": "rsync -avH public/* -e ssh user@host.com:/path/to/www"
}
}

Convinced? Head over to brunch.io and give it a try.

At the end of the day, reĀ­memĀ­ber to use the right tools for the job! Brunch may solve some of your headaches, perĀ­haps not all.