Welcome to Broccoli.js
So what is Broccoli? ⚭
Why choose Broccoli? ⚭
Blazing fast ⚡️
Broccoli's incremental rebuild system gives you sub-second compile times even when you're working with hundreds of files.
Less (code) is more 📉
Broccoli's ecosystem of high-quality plugins means you only have to write a few lines of code for most common tasks.
Use Broccoli by itself, or as part of a larger system like Grunt, Rails, ember-cli, or even make. Broccoli don't care, it just builds what it's told.
Broccoli simply orchestrates file transformations via plugins. Plugins perform the actual work and operate on files, Broccoli coordinates the inputs and output of plugins.
Example pipeline ⚭
/* Brocfile.js */ const compileSass = require('broccoli-sass-source-maps')(require('sass')); const babel = require('broccoli-babel-transpiler'); const merge = require('broccoli-merge-trees'); const appRoot = 'app'; const styles = compileSass([appRoot], 'styles/app.scss', 'assets/app.css'); const scripts = babel(appRoot); module.exports = merge([styles, scripts]);