{"id":15319,"library":"emberjs-build","title":"Ember.js Legacy Build Pipeline","description":"Emberjs-build was an early, foundational build pipeline for Ember.js applications, primarily used before the widespread adoption of Ember CLI. It leveraged `Brocfile.js` and the Broccoli build system to compile and optimize Ember applications. This package (version 0.20.1) represents a period of Ember's build tooling evolution that has since been largely superseded. Modern Ember applications universally utilize Ember CLI, which provides a comprehensive command-line interface, project structure, and build orchestration, now increasingly integrating with Vite as its underlying build system for improved performance and developer experience. Ember.js itself follows a 6-week release cycle, with the current stable version being 6.11.0, and has made significant advancements in its build tooling far beyond what emberjs-build offered. Consequently, `emberjs-build` is no longer maintained and is not suitable for contemporary Ember development.","status":"abandoned","version":"0.20.1","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/emberjs/emberjs-build","tags":["javascript","ember.js","ember"],"install":[{"cmd":"npm install emberjs-build","lang":"bash","label":"npm"},{"cmd":"yarn add emberjs-build","lang":"bash","label":"yarn"},{"cmd":"pnpm add emberjs-build","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"This package relies on the Broccoli.js build system, as indicated by the use of `Brocfile.js`.","package":"broccoli","optional":false}],"imports":[{"note":"This package uses CommonJS `require` syntax. It does not support ES modules and cannot be imported with `import` statements.","wrong":"import EmberBuild from 'emberjs-build';","symbol":"EmberBuild","correct":"const EmberBuild = require('emberjs-build');"}],"quickstart":{"code":"// Brocfile.js\n\n// Ensure your packages definition aligns with the Ember.js source structure of the era.\n// Example: https://github.com/emberjs/ember.js/blob/master/lib/packages.js\nvar packages = require('./lib/packages');\nvar EmberBuild = require('emberjs-build');\n\nvar emberBuild = new EmberBuild({\n  packages: packages\n});\n\nmodule.exports = emberBuild.getDistTrees();","lang":"javascript","description":"This `Brocfile.js` demonstrates how to use `emberjs-build` to configure and generate the distribution trees for an Ember.js application in its historical context."},"warnings":[{"fix":"Migrate your project to Ember CLI (using `ember new` for new projects or `ember-cli-build.js` for existing ones) or the newer Vite integration for Ember 6.8+.","message":"The entire `emberjs-build` pipeline is functionally incompatible with modern Ember.js applications (Ember 2.x and later, especially Ember CLI-based apps). Attempting to use it will lead to fundamental build failures, module resolution errors, and an inability to process contemporary Ember features or addons.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Avoid using this package for any new development. For existing legacy projects, consider a migration path to modern Ember CLI tooling.","message":"`emberjs-build` has been superseded by Ember CLI and its subsequent evolutions, including the move towards Vite as the default build system in Ember 6.8. The package itself has not seen updates since 2017.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"If maintaining a legacy application with `emberjs-build`, ensure your development environment uses compatible Node.js versions (e.g., Node.js 0.10.x or 0.12.x, as suggested by old Travis configs) and avoid modern JavaScript syntax. Prioritize migration.","message":"Projects using `emberjs-build` are likely tied to very old Node.js versions and JavaScript syntax (pre-ES2015). Compatibility with current Node.js runtimes and modern JavaScript features is severely limited or non-existent, requiring specific environments or extensive polyfilling.","severity":"gotcha","affected_versions":"<=0.20.1"},{"fix":"For any performance-critical Ember application, migrating to Ember CLI (especially with Embroider or Vite) is essential to leverage modern build optimizations.","message":"Performance of legacy build tools like `emberjs-build` (and early Ember CLI versions) can be significantly slower than modern alternatives. Issues like slow initial builds and rebuilds were common, particularly for larger applications.","severity":"gotcha","affected_versions":"<=0.20.1"}],"env_vars":null,"last_verified":"2026-04-21T00:00:00.000Z","next_check":"2026-07-20T00:00:00.000Z","problems":[{"fix":"Verify Node.js version compatibility for the specific `emberjs-build` version. Check `Brocfile.js` and `package.json` for syntax errors or missing Broccoli plugins. This error often necessitates a deeper dive into the Broccoli build graph.","cause":"This generic error often indicates a fundamental incompatibility or misconfiguration in the old Broccoli pipeline, frequently related to Node.js versions, missing dependencies, or syntax errors not handled by the older transpilers.","error":"Build failed. { \"status\": 3, \"message\": \"...\""},{"fix":"Ensure `emberjs-build` is listed in `package.json` and `npm install` has been run. If encountered in a modern Ember project, remove any references to `emberjs-build` and use `ember-cli-build.js` instead.","cause":"The package is not installed or `require()` path is incorrect. More commonly, it indicates an attempt to use this package in a context where it's not expected (e.g., a modern Ember CLI app).","error":"Error: Cannot find module 'emberjs-build'"}],"ecosystem":"npm"}