fs = require 'fs' CoffeeScript = require 'coffee-script' nodeunit = require 'nodeunit' UglifyJS = require 'uglify-js' task 'build', 'build the JavaScript files from CoffeeScript source', build = (cb) -> source = fs.readFileSync 'src/ipaddr.coffee' fs.writeFileSync 'lib/ipaddr.js', CoffeeScript.compile source.toString() invoke 'test' invoke 'compress' task 'test', 'run the bundled tests', (cb) -> nodeunit.reporters.default.run ['test'] task 'compress', 'uglify the resulting javascript', (cb) -> result = UglifyJS.minify('lib/ipaddr.js') fs.writeFileSync('ipaddr.min.js', result.code)