1 | mocha = require 'gulp-mocha'
|
2 | webpackStream = require 'webpack-stream'
|
3 | runSequence = require 'run-sequence'
|
4 | karmaServer = require('karma').Server
|
5 |
|
6 | module.exports = (gulp) ->
|
7 |
|
8 | gulp.task 'specs', (done) ->
|
9 | runSequence 'specs:server', 'specs:client', done
|
10 |
|
11 |
|
12 | gulp.task 'specs:client', (done) ->
|
13 | runSequence 'specs:client:build', 'specs:client:run', done
|
14 |
|
15 |
|
16 | gulp.task 'specs:server', ->
|
17 | gulp.src [
|
18 | 'src/spec_setup.coffee'
|
19 | 'src/**/*.coffee'
|
20 | ]
|
21 | .pipe mocha()
|
22 |
|
23 |
|
24 | gulp.task 'specs:client:build', ->
|
25 | webpackConfig = require('./webpack_config').getDefaultConfiguration()
|
26 | webpackConfig.output =
|
27 | filename: 'specs.js'
|
28 |
|
29 | gulp.src [
|
30 | 'src/spec_setup.coffee'
|
31 | 'src/**/*.coffee'
|
32 | ]
|
33 | .pipe webpackStream webpackConfig
|
34 | .pipe gulp.dest 'dist/specs'
|
35 |
|
36 |
|
37 | gulp.task 'specs:client:run', (done) ->
|
38 | new karmaServer(
|
39 | configFile: "#{__dirname}/../karma.conf.js"
|
40 | , done).start()
|