Freedom251 › Build Automation Software
Broccoli

What Broccoli is
Broccoli is a free, MIT-licensed asset pipeline for browser applications. It runs on Node and is backend-agnostic, with build definitions expressed in project files. A Brocfile.js exports a function that returns a tree describing the build; ES modules and CommonJS are supported. Brocfile.ts files can be parsed through ts-node, and Broccoli provides types for the build options object. Plugins generate transformed trees, with packages published under the broccoli-plugin npm keyword. The project describes constant-time rebuilds and compact build definitions. Through broccoli-cli, users can run broccoli build or broccoli serve. The Builder API builds a graph of Broccoli nodes into an artifact and returns a Promise when complete. Listed integrations include broccoli-timepiece, grunt-broccoli, and grunt-broccoli-build. The README recommends precompiling assets for web-server delivery and warns against running broccoli serve on production servers.
Who it suits
Broccoli is for developers building browser application assets with Node-based, code-defined pipelines and plugins.
What it does well
- Free and open source
- MIT license
- Constant-time rebuild support
- JavaScript and TypeScript build files
- Programmatic Builder API
What to know first
- Node runtime required
- Production serving needs precompilation
- General support uses GitHub issues
- Plugin questions go to plugin repositories
Verdict
Broccoli provides a code-based browser asset pipeline with rebuilds, plugins, CLI commands, and a programmatic API. Its guidance separates development serving from production asset delivery.
Facts from Broccoli's own pages
- Build configuration
- A project can specify its build in a Brocfile.js that exports a function returning a tree. · github.com, 5 Oct 2026
- Build definitions
- A Brocfile.js in the project root exports a function that returns a tree describing the build. · github.com, 11 Oct 2026
- Builds
- It is a fast, reliable asset pipeline that supports constant-time rebuilds and compact build definitions. · github.com, 11 Oct 2026
- CLI
- The separate broccoli-cli package provides broccoli build and broccoli serve commands. · github.com, 11 Oct 2026
- Command line
- The project documents broccoli build and broccoli serve commands through broccoli-cli. · github.com, 5 Oct 2026
- Integrations
- The README lists broccoli-timepiece, grunt-broccoli, and grunt-broccoli-build for running Broccoli directly or through other tools. · github.com, 5 Oct 2026
- Intended users
- The README describes Broccoli as comparable in scope to the Rails asset pipeline and intended for browser application assets. · github.com, 11 Oct 2026
- JavaScript support
- Brocfile.js supports ES modules and CommonJS syntax. · github.com, 5 Oct 2026
- License
- Broccoli is licensed under the MIT license. · github.com, 11 Oct 2026
- Plugins
- Broccoli uses plugins to generate transformed trees, and the project points users to the broccoli-plugin keyword on npm to find them. · github.com, 11 Oct 2026
- Programmatic API
- The Builder API can build a graph of Broccoli nodes into a build artifact and returns a Promise when the build completes. · github.com, 5 Oct 2026
- Programmatic use
- The Builder class can build output from a graph of Broccoli nodes and returns a Promise when operations complete. · github.com, 11 Oct 2026
- Purpose
- Broccoli is a browser compilation library and asset pipeline for applications that run in the browser. · github.com, 11 Oct 2026
- Rebuilds
- The project describes Broccoli as supporting constant-time rebuilds and compact build definitions. · github.com, 5 Oct 2026
- Runtime
- Broccoli runs on Node and is backend-agnostic. · github.com, 11 Oct 2026
- Security guidance
- The project advises against running broccoli serve on a production server and recommends precompiling assets with broccoli build for a web server to serve. · github.com, 11 Oct 2026
- Support
- The README directs users to GitHub issues for general questions or the relevant plugin repository for plugin questions. · github.com, 11 Oct 2026
- TypeScript
- Broccoli supports Brocfile.ts files and provides type information for the build options object. · github.com, 11 Oct 2026
- TypeScript support
- A Brocfile.ts can be parsed through ts-node, and Broccoli provides types for the build options object. · github.com, 5 Oct 2026
- Who it is for
- The project describes itself as an asset pipeline for applications that run in the browser. · github.com, 5 Oct 2026
Where Broccoli stands on Freedom251
- Build Automation Software#20 of 42