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)
