Npm gains a lot from its large community, and the activity from node.js gives npm the largest set of active repositories. Since so many people already use npm, chances are the library you need has already been added to npm, and many new authors are writing their libraries with npm in mind.
Browserify's documentation assumes that you have some familiarity with Node before starting to work with it. Some methods are not explained very thoroughly and others are assumed to be already known by the developer. For example, Node's module.exports is not explained, it's just mentio...
Even though it's still in its early stages of development, security is one of the core values on which Yarn is built. It uses checksums to verify the integrity of every package before executing its code. This also helps avoiding errors related to faulty caching or captive portals. Further ste...
Still has to gain traction competing against npm, jspm etc. This means there is far fewer 3rd party learning resources available compared to the more popular options, and it may be more difficult to get help from the community.
As for common modules shared by multiple pages, duo.js cannot extract and put them into another bundle which is loaded commonly. On the other hand, modules modified rarely should put into another bundle so they can be still cached when other modules change.
Ender is another attempt at hijacking and using npm for downloading browser dependencies. But in doing so, it's using a registry and module specifications not made for the browser. This means that there will have to be some extra work to get them to work properly.
Component provides you with a flat dependency tree. This results in easy dependency management. A flat dependency tree is important for file size optimization, so you don't end up loading multiple copies of the same library, or deeply nested dependencies that bloat up.