Recs.
Updated
Created by browserling, browserify allows you to use node.js style requires by crawling through all your dependencies, and compiling it into a single package.
Specs
Pros
Pro Simple to use dependency management
To require a file, just use the require() function.
var foo = require('./foo.js');
These files may have dependencies of their own. Browserify will build a dependency graph and bundle it into a single file that you just have to put in a script tag.
<html>
<body>
<script src="bundle.js"></script>
</body>
</html>
Pro Friendly plugin interface
Writing plugins is relatively easy and straight forward as each file, you can run a function that gives a file name and path, based on that you can decide if you want to do something like parse, transform, modify etc the file or skip it.
Cons
Recommendations
Comments
Flagged Pros + Cons
Con Not all javascript libraries have an npm version
While it's not too hard to create npm package for an existing library, it means maintaining it when the library updates. While most libraries are now on npm, many client side specific libraries are not.
It's possible to require local files instead, at the expense of not having npm managed version control.
Pro Dynamic loading is possible via ajax
With Browserify-loader2, It's possible to load modules dynamically via ajax(file protocol is not supported). But it is impossible to do something like this:
var mod = require('path/'+name+'.js');
Con Semantically incorrect
It's NODE package manager. Your client-side app is built for a browser, not Node.js
Pro Supports source maps for easier debugging
Source maps allow for easier debugging, because they allow you to find the problems within the origin files instead of the output file.