#!/usr/bin/env node var Codesurgeon = require('codesurgeon').Codesurgeon; var surgeon = new Codesurgeon; var path = require('path'); var root = path.join(__dirname, '..'); var lib = path.join(root, 'lib', 'director'); // // Distill and package the browser version. // surgeon // .configure({ package: root + '/package.json', owner: 'Nodejitsu, Inc (Using Codesurgeon).' }) .read( path.join(lib, 'browser.js') ) // // we want everything so far. specify extract with no // parameters to get everything into the output buffer. // .extract() // // clear the input so far, but don't clear the output. // .clear('inputs') // // read the `router.js` file // .read( path.join(lib, 'router.js') ) // // the current input buffer contains stuff that we dont // want in the browser build, so let's cherry pick from // the buffer. // .extract( '_every', '_flatten', '_asyncEverySeries', 'paramifyString', 'regifyString', 'Router.prototype.configure', 'Router.prototype.param', 'Router.prototype.on', 'Router.prototype.dispatch', 'Router.prototype.invoke', 'Router.prototype.traverse', 'Router.prototype.insert', 'Router.prototype.insertEx', 'Router.prototype.extend', 'Router.prototype.runlist', 'Router.prototype.mount' ) // // wrap everything that is in the current buffer with a // closure so that we dont get any collisions with other // libraries // .wrap() // // write the debuggable version of the file. This file will // get renamed to include the version from the package.json // .write(root + '/build/director.js') // // now lets make a minified version for production use. // .uglify() .write(root + '/build/director.min.js') ;