modulr
Resolves and concatenates CommonJS module dependencies for use in the browser. It's a port of modulr
from Ruby to node.js and is based on module-grapher
, a node module which resolves dependencies through recursive static analysis.
Install
modulr
is available as an NPM module.
$ npm install modulr
Usage
modulr
accepts the main module's identifier and an optional config object as arguments which get passed to module-grapher
. It returns a result object whose output
property is a string containing a small runtime and the concatenated modules sources. Optionally, this output can be minified and the module identifiers resolved server-side.
require('modulr').build('foo', {
paths: ['./lib', './vendor'],
root: 'path/to/package/root/'
minify: true,
resolveIdentifiers: true,
environment: 'prod'
}, callback);
function callback (err, result) {
if (err) { throw err; }
require('fs').writeFileSync('/path/to/main.js', result.output, 'utf8');
}
modulr
can also accepts a CommonJS package or its package.json
file as argument. In which case it uses the JSON file's main
value as entry point, the package's dir as root, and picks the rest of its options from the JSON file's modulr
namespace.
require('modulr').buildFromPackage('path/to/package', callback);
License
Your choice of MIT or Apache, Version 2.0 licenses. modulr
is copyright 2010 Tobie Langel.