Files
2017-08-06 00:15:16 -05:00

83 lines
2.1 KiB
Plaintext

use 'sake-bundle'
use 'sake-linked'
use 'sake-outdated'
use 'sake-publish'
use 'sake-test'
use 'sake-version'
task 'clean', 'clean project', ->
exec 'rm -rf lib'
task 'build', 'build project', ->
bundle.write
entry: 'src/index.coffee'
compilers:
coffee:
version: 1
task 'build:min', 'build project for production', ['build'], ->
exec 'uglifyjs lib/hanzo-analytics.js -o lib/hanzo-analytics.min.js'
task 'coverage', 'Process coverage statistics', ->
exec '''
cat ./coverage/lcov.info | coveralls
cat ./coverage/coverage.json | codecov
rm -rf coverage/
'''
task 'watch', 'watch for changes and recompile project', ['build'], ->
watch 'src/*', -> invoke 'build'
task 'server', 'Run static server for tests', ->
connect = require 'connect'
server = connect()
server.use (require 'serve-static') './test'
server.listen process.env.PORT ? 3333
task 'selenium:install', 'Install selenium standalone', ->
exec 'node_modules/.bin/selenium-standalone install'
task 'test', 'Run tests', (options) ->
browserName = options.browser ? 'phantomjs'
invoke 'server'
selenium = require 'selenium-standalone'
selenium.start (err, child) ->
throw err if err?
exec "NODE_ENV=test
BROWSER=#{browserName}
node_modules/.bin/mocha
--compilers coffee:coffee-script/register
--reporter spec
--colors
--timeout 60000
test/test.coffee", (err) ->
child.kill()
process.exit 1 if err?
process.exit 0
task 'test-ci', 'Run tests on CI server', ->
invoke 'static-server'
browsers = require './test/ci-config'
tests = for {browserName, platform, version, deviceName, deviceOrientation} in browsers
"NODE_ENV=test
BROWSER=\"#{browserName}\"
PLATFORM=\"#{platform}\"
VERSION=\"#{version}\"
DEVICE_NAME=\"#{deviceName ? ''}\"
DEVICE_ORIENTATION=\"#{deviceOrientation ? ''}\"
node_modules/.bin/mocha
--compilers coffee:coffee-script/register
--reporter spec
--colors
--timeout 60000
test/test.coffee"
exec tests, (err) ->
process.exit 1 if err?
process.exit 0