1
0
mirror of https://github.com/mgerb/mywebsite synced 2026-01-12 18:52:50 +00:00
Files
mywebsite/node_modules/broadway/bin/build
2016-01-04 12:25:28 -05:00

67 lines
1.5 KiB
JavaScript
Executable File

#!/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', 'broadway');
//
// Distill and package the browser version.
//
surgeon
//
.configure({
package: root + '/package.json',
owner: 'Nodejitsu, Inc (Using Codesurgeon).'
})
.read(
path.join(root, 'node_modules', 'eventemitter2', 'lib', 'eventemitter2.js'),
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 `app.js` file
//
.read(
path.join(lib, 'app.js')
)
//
// the current input buffer contains stuff that we dont
// want in the browser build, so let's cherry pick from
// the buffer.
//
.extract(
'App.prototype.init',
'App.prototype.use',
'App.prototype.remove',
'App.prototype.inspect'
)
//
// 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/broadway.js')
//
// now lets make a minified version for production use.
//
.uglify()
.write(root + '/build/broadway.min.js')
;