Load Bower packages into Broccoli
JavaScript
Latest commit a87469f May 17, 2014 @joliss Merge pull request #7 from rjackson/use-unwatched-tree-from-package
Extract `UnwatchedTree` into stand-alone package.

README.md

broccoli-bower

Proof-of-concept plugin for loading Bower packages into Broccoli.

Warning

This is pre-alpha software!

At the moment, it's not well-specified where to pick up source files from Bower packages. The top level is probably wrong; lib is often a good guess; the main property in bower.json points at files too. This plugin uses heuristics to pick the lib directory and/or main files, and returns an array of trees-(hopefully)-containing-the-source-code for each bower package found.

Because of that, this plugin should be regarded as a pre-alpha proof of concept to demonstrate what might be possible when we combine Bower with a build system sitting on top.

You should not rely on its behavior for your production apps, and you should not rely on its behavior to distribute your libraries.

There will be many cases where the current heuristic results in broken or undesirable behavior. Also, library authors will sometimes update their bower packages, randomly breaking things that previously worked with this plugin. This is acceptable!

Please do not send pull requests to change the behavior, either to this repo, or to other people's bower packages, as fixing one edge case will just open up another.

The way forward is to write a mini spec for a configuration syntax to specify where in a bower package source files should be picked up, such as { mainDir: 'lib' }. This configuration might be part of bower.json, or might live in a separate file.

Installation

npm install --save-dev broccoli-bower

Usage

var findBowerTrees = require('broccoli-bower');

var bowerTrees = findBowerTrees();

Then pass bowerTrees into other plugins to have the files in your bower packages picked up by them.