83 lines
2.1 KiB
Plaintext
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
|