11var gulp = require ( 'gulp' ) ;
2- var browserify = require ( 'browserify' ) ;
3- var source = require ( 'vinyl-source-stream' ) ;
4- var del = require ( 'del' ) ;
5- var mocha = require ( 'gulp-mocha' ) ;
6- var webserver = require ( 'gulp-webserver' ) ;
72
83const BUILD_DIR = './dist/' ;
9-
4+ const COVERAGE_DIR = 'coverage' ;
105
116gulp . task ( 'default' , [ 'clean' , 'build' ] ) ;
127
138/**
14- * Empties BUILD_DIR
9+ * Empties BUILD_DIR and all generated files
1510 */
1611gulp . task ( 'clean' , function ( cb ) {
17- del ( [ BUILD_DIR + '*' ] , cb ) ;
12+ var del = require ( 'del' ) ;
13+ del ( [ BUILD_DIR + '*' , COVERAGE_DIR ] , cb ) ;
1814} ) ;
1915
2016/**
2117 * Generates browser-ready version for API in BUILD_DIR
2218 * File will be named as api.js
2319 */
2420gulp . task ( 'build' , function ( ) {
21+ var browserify = require ( 'browserify' ) ;
22+ var source = require ( 'vinyl-source-stream' ) ;
2523 return browserify (
2624 './src/api.js' ,
2725 {
@@ -35,6 +33,7 @@ gulp.task('build', function() {
3533
3634
3735gulp . task ( 'serve' , function ( ) {
36+ var webserver = require ( 'gulp-webserver' ) ;
3837 gulp . src ( './' )
3938 . pipe ( webserver ( {
4039 hostname : 'localhost' ,
@@ -46,7 +45,32 @@ gulp.task('serve', function() {
4645} ) ;
4746
4847
49- gulp . task ( 'test' , function ( ) {
48+ var runMocha = function ( ) {
49+ var mocha = require ( 'gulp-mocha' ) ;
5050 return gulp . src ( 'test/**/*Spec.js' , { read : false } )
5151 . pipe ( mocha ( { } ) ) ;
52+ } ;
53+
54+ gulp . task ( 'test' , runMocha ) ;
55+
56+ gulp . task ( 'test-coverage' , function ( cb ) {
57+ var mocha = require ( 'gulp-mocha' ) ;
58+ var istanbul = require ( 'gulp-istanbul' ) ;
59+
60+ gulp . src ( [ 'src/**/*.js' ] )
61+ . pipe ( istanbul ( ) ) // Covering files
62+ . pipe ( istanbul . hookRequire ( ) ) // Force `require` to return covered files
63+ . on ( 'finish' , function ( ) {
64+ runMocha ( )
65+ . pipe ( istanbul . writeReports ( ) ) // Creating the reports after tests runned
66+ . on ( 'end' , cb ) ;
67+ } ) ;
5268} ) ;
69+
70+ gulp . task ( 'test-coveralls' , function ( ) {
71+ var coveralls = require ( 'gulp-coveralls' ) ;
72+ return gulp . src ( COVERAGE_DIR + '/lcov.info' )
73+ . pipe ( coveralls ( ) ) ;
74+ } ) ;
75+
76+ gulp . task ( 'test-ci' , [ 'clean' , 'test-coverage' , 'test-coveralls' ] ) ;
0 commit comments