Recs.
Updated
Created by the fine people at 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>
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.
Con No dynamic loading
With Browserify it is impossible to do something like this:
var mod = require('path/'+name+'.js');