and for c. — that's where komponent comes in.

- Conflicing version of libraries
- Specifying dependencies (component.json, bower.json, package.json)
- Creating re-usable components (Aura, component, etc.)

Bower and Component work under the assumption that it is possible to:

> Specify a flat dependency structure, with one version of each library,
> and still have all dependencies work together.

to which I have the following objections:

- Locking ourselves into a subset of the tools available won't work.
- We can't rely on package authors to stay in sync and agree on
standards


[Write more about how bundles can be kept small thanks to deduping]

After following the recent developments in dependency management and
bundling of client-side JavaScript, along with experiencing npm's
superior approach to dependency managemtn.

Differences from Component:

- We don't re-invent package management or start a new registry - i.e.
you can use e.g. Backbone without creating a wrapper component for it.
- Supports CoffeeScript, LESS, Stylus, etc - since we only require that
all assets are build upon running `npm prepublish`, it's up to you to
use whatever you liked.
- Templates are automatically included in the resulting `build/index.js` file

