Repeat this for all of the dependencies that are available on npm and you end up with something like: Browserify does exactly what it says it does and it does it well. Its plugin architecture contributed towards its popularity. FuseBox is a bundler focusing on speed.
A good example of this is jQuery and its plugins. Compared to Grunt, you have a clearer idea of what's going on. Now recursively bundle up all the required modules starting at main. Just remove Bower from your dependencies and start building on your new stack. Grunt Grunt Grunt was the first famous task runner for frontend developers.
It can become hard to understand what's going on under the hood. They tend to rely on many hefty libraries.
With a private npm registry like npm Enterprise or Sonatype Nexus , you can publish and depend upon these modules with minimal hassle. The Browserify ecosystem is composed of a lot of small modules. It supports Hot Module Replacement out of the box. Here's an example from Grunt documentation. Bundlers Task runners are great tools on a high level. It makes the structure and modularity of our code rock.