Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Resolves and concatenates CommonJS module dependencies for use in the browser.
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
assets
lib
.gitignore
LICENSE
README.markdown
TODO.markdown
main.js
package.json

README.markdown

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'], // defaults to ['.']
  root: 'path/to/package/root/' // defaults to process.cwd()
  minify: true,                 // defaults to false
  resolveIdentifiers: true,     // defaults to false
  environment: 'prod' // or 'dev', defaults to undefined
}, callback);

// Dump the output to `main.js`.
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.

Something went wrong with that request. Please try again.