Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 56 lines (48 sloc) 1.596 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fs = require 'fs'
{exec, spawn} = require 'child_process'
{series} = require 'async'

sh = (command) -> (k) ->
  console.log "Executing #{command}"
  exec command, (err, sout, serr) ->
    console.log err if err
    console.log sout if sout
    console.log serr if serr
    do k

getVersion = ->
  packageJson = JSON.parse fs.readFileSync "#{__dirname}/package.json", 'utf-8'
  packageJson.version

task 'doc', 'generate documentation for *.coffee files', ->
  series [
    (sh "docco-husky src")
  ]

task 'doc_copy', 'copy documentation to gh-pages branch', ->
  series [
    (sh "docco-husky src")
    (sh "mv docs docs_tmp")
    (sh "git checkout gh-pages")
    (sh "mv docs_tmp/* docs")
    (sh "git add docs/*")
    (sh "git commit -m 'updating documentation from master'")
    (sh "git checkout master")
  ]

task 'build', 'generate unified JavaScript file for whole Hallo', ->
  version = do getVersion
  console.log version
  series [
    (sh "cp -R src tmp")
    (sh "sed -i 's/{{ VERSION }}/#{version}/' #{__dirname}/tmp/hallo.coffee")
    (sh "coffee -o examples -j hallo.js -c `find tmp -type f -name '*.coffee'`")
    (sh "rm -r tmp")
  ]

task 'min', 'minify the generated JavaScript file', ->
  version = do getVersion
  console.log version
  series [
    (sh "cp -R src tmp")
    (sh "sed -i 's/{{ VERSION }}/#{version}/' #{__dirname}/tmp/hallo.coffee")
    (sh "coffee -o examples -j hallo.js -c `find tmp -type f -name '*.coffee'`")
    (sh "uglifyjs examples/hallo.js > examples/hallo-min.js")
    (sh "rm -r tmp")
  ]

task 'bam', 'build and minify Hallo', ->
  invoke 'min'
Something went wrong with that request. Please try again.