mirror of
https://github.com/hanzoai/jslib-boilerplate.git
synced 2026-10-30 18:33:08 +00:00
105 lines
2.7 KiB
Plaintext
105 lines
2.7 KiB
Plaintext
use 'sake-bundle'
|
|
use 'sake-outdated'
|
|
use 'sake-publish'
|
|
use 'sake-version'
|
|
|
|
option '-b', '--browser [browser]', 'browser to use for tests'
|
|
option '-g', '--grep [filter]', 'test filter'
|
|
option '-t', '--test [test]', 'specify test to run'
|
|
option '-v', '--verbose', 'enable verbose test logging'
|
|
|
|
task 'clean', 'clean project', ->
|
|
exec 'rm -rf lib'
|
|
|
|
task 'build', 'build js', ['build:static'], ->
|
|
bundle.write
|
|
entry: 'src/index.coffee'
|
|
compilers:
|
|
coffee:
|
|
version: 1
|
|
# quiet: false
|
|
# details: true
|
|
external: false
|
|
commonjs: true
|
|
|
|
task 'build:web', 'build js', ->
|
|
bundle.write
|
|
entry: 'src/index.coffee'
|
|
external: false
|
|
browser: false
|
|
# details: true
|
|
# quiet: false
|
|
commonjs: true
|
|
format: 'web'
|
|
sourceMap: false
|
|
compilers:
|
|
coffee: version: 1
|
|
|
|
task 'build:min', 'build js for production', ['build', 'build:web'], ->
|
|
yield exec 'uglifyjs coin.js -o coin.min.js'
|
|
yield exec 'cp lib/theme.css theme.css'
|
|
|
|
task 'build:static', 'build static assets', ->
|
|
exec 'bebop compile'
|
|
|
|
server = do require 'connect'
|
|
|
|
task 'server', 'Run static server for tests', (cb) ->
|
|
port = process.env.PORT ? 3333
|
|
|
|
server.use (require 'serve-static') './test/fixtures'
|
|
server = require('http').createServer(server).listen port, cb
|
|
|
|
task 'test', 'Run tests', ['server'], (opts) ->
|
|
bail = opts.bail ? true
|
|
coverage = opts.coverage ? false
|
|
grep = opts.grep ? ''
|
|
test = opts.test ? 'test/**/*.coffee'
|
|
verbose = opts.verbose ? ''
|
|
|
|
bail = '--bail' if bail
|
|
grep = "--grep #{opts.grep}" if grep
|
|
verbose = 'DEBUG=nightmare VERBOSE=true CROWDSTART_DEBUG=1' if verbose
|
|
|
|
if coverage
|
|
bin = 'istanbul --print=none cover _mocha --'
|
|
else
|
|
bin = 'mocha'
|
|
|
|
{status} = yield exec.interactive "NODE_ENV=test CROWDSTART_KEY='' CROWDSTART_ENDPOINT='' #{verbose}
|
|
#{bin}
|
|
--colors
|
|
--reporter spec
|
|
--timeout 10000000
|
|
--require coffee-script/register
|
|
--require co-mocha
|
|
--require postmortem/register
|
|
#{bail}
|
|
#{grep}
|
|
#{test}"
|
|
|
|
process.exit status
|
|
|
|
task 'test:ci', 'Run tests', (opts) ->
|
|
invoke 'test', bail: true, coverage: true
|
|
|
|
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 'watch:test', 'watch for changes and re-run tests', ->
|
|
invoke 'watch'
|
|
|
|
require('vigil').watch __dirname, (filename, stats) ->
|
|
if /^src/.test filename
|
|
invoke 'test'
|
|
|
|
if /^test/.test filename
|
|
invoke 'test', test: filename
|