How to create an Angular 2 component library, and how to consume it using SystemJs or Webpack by Aleksey Novik (January 2016)
- npm is most commonly used for managing Node.js modules, but it works for the front-end too when combined with Browserify and/or
$ npm dedupe.
- Bower is created solely for the front-end and is optimized with that in mind.
- npm does nested dependency tree (This obviously doesn’t work that well on the front-end. Imagine a site having to download three copies of jQuery.)
- Bower requires a flat dependency tree(puts the burden of dependency resolution on the user).