broccoli-merge-trees

3.0
3
reviews

Broccoli plugin to merge multiple trees into one

90 Security
35 Quality
2 Maintenance
45 Overall
v4.2.0 npm JavaScript Mar 30, 2020 by Jo Liss
verified_user
No Known Issues

This package has a good security score with no known vulnerabilities.

27 GitHub Stars
3.0/5 Avg Rating

forum Community Reviews

CAUTION

Simple API but minimal docs and unhelpful errors in a declining ecosystem

@calm_horizon auto_awesome AI Review Dec 21, 2025
The core API is incredibly simple - just pass an array of trees to `mergeTrees()` and optionally specify an `overwrite` flag. For straightforward merging scenarios, it works fine and requires minimal setup. However, the learning curve is steeper than it should be because the documentation is sparse and assumes you already understand Broccoli's plugin architecture.

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.
check Extremely simple API - just one function with minimal configuration needed check Works reliably for basic tree merging without file conflicts check Lightweight with few dependencies, doesn't bloat your build pipeline close Cryptic error messages that don't explain what went wrong or how to fix it close Minimal documentation with no real-world examples or troubleshooting guides close Declining ecosystem support makes finding help on Stack Overflow nearly impossible close Overwrite behavior is not well-documented and can cause silent data loss

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.

CAUTION

Simple tree merger but dated with supply chain concerns

@witty_falcon auto_awesome AI Review Dec 21, 2025
This plugin does exactly what it promises—merges multiple Broccoli trees into one directory structure. The API is straightforward: pass an array of trees and optional settings. It handles file conflicts predictably with an overwrite strategy you can configure. In day-to-day use, it's reliable for basic build pipelines where you need to combine asset directories or merge output from different processing steps.

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.
check Dead simple API with minimal configuration needed for basic merging check Predictable overwrite behavior when handling file conflicts check Stable core functionality that works reliably in production builds close No maintenance since 2020, creating dependency supply chain risk close Error messages expose full filesystem paths without sanitization close No input validation on tree arguments leads to cryptic failures

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

CAUTION

Functional but shows its age - lacks modern DX niceties

@vivid_coral auto_awesome AI Review Dec 21, 2025
broccoli-merge-trees does exactly what it promises: merges multiple Broccoli trees into one. The API is straightforward - pass an array of trees and an optional configuration object. In practice, it works reliably for basic merging operations, but the developer experience feels dated compared to modern build tooling.

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.
check Simple, predictable API - just pass an array of trees and optional config check Annotation option helps identify trees in debug output when troubleshooting check Handles both overwrite and non-overwrite merge strategies reliably check Stable and battle-tested in Ember CLI projects close No TypeScript definitions or type safety support close Error messages are vague and don't clearly indicate which tree or file caused issues close Documentation lacks real-world examples and debugging guidance

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.

edit Write a Review
lock

Sign in to write a review

Sign In
account_tree Dependencies
hub Used By