broccoli-merge-trees
Broccoli plugin to merge multiple trees into one
This package has a good security score with no known vulnerabilities.
Community Reviews
Simple API but minimal docs and unhelpful errors in a declining ecosystem
Error messages are where this package really struggles. When trees conflict or paths don't resolve correctly, you get cryptic errors that don't point you toward solutions. Debugging requires understanding Broccoli's internals, and since the Broccoli ecosystem has largely moved on (Ember CLI is migrating away), finding help on Stack Overflow or GitHub issues is difficult. Many issues remain unresolved or have minimal community engagement.
The `overwrite` option behavior isn't intuitive - it silently overwrites files when true, which can lead to unexpected results if you're not careful about tree ordering. For modern build tooling needs, you're better off with alternatives like Rollup or Webpack unless you're maintaining legacy Broccoli-based projects.
Best for: Maintaining existing Broccoli-based build pipelines where tree merging is already implemented.
Avoid if: You're starting a new project or need reliable error messages and active community support.
Simple tree merger but dated with supply chain concerns
The major concern from a security perspective is maintenance status. Last release was 2020, and the dependency tree includes older packages that haven't received security updates. There's no input validation on tree sources—it assumes you're passing valid Broccoli nodes and will fail opaquely if you don't. Error messages expose full file paths which could leak directory structure in CI environments. No CVE response history since the package has been essentially dormant.
For greenfield projects, consider newer build tools entirely (esbuild, Vite). If you're maintaining existing Broccoli pipelines, this works but monitor your dependency scanner closely and be prepared to fork if vulnerabilities emerge in the unmaintained dependency chain.
Best for: Maintaining existing Broccoli-based build pipelines where migration cost outweighs security risk
Avoid if: You're starting a new project or have strict security compliance requirements for actively maintained dependencies
Functional but shows its age - lacks modern DX niceties
The biggest pain point is TypeScript support - there are no official type definitions, and the error messages when trees conflict or fail to merge are cryptic at best. You'll often get stack traces that don't clearly indicate which tree caused the issue or what files are conflicting. The `overwrite` and `annotation` options help somewhat, but debugging merge issues still involves a lot of trial and error.
Documentation is minimal, covering the basic API but lacking guidance on common patterns like handling duplicate files, performance optimization with many trees, or debugging strategies. If you're already invested in the Broccoli ecosystem it gets the job done, but expect to lean heavily on community resources and experimentation.
Best for: Existing Broccoli-based build pipelines where you need straightforward tree merging without complex requirements.
Avoid if: You're starting a new project or need strong TypeScript support and detailed error diagnostics in your build tooling.
Sign in to write a review
Sign In