22
33var gulp = require ( 'gulp' )
44 , purescript = require ( 'gulp-purescript' )
5+ , run = require ( 'gulp-run' )
56 , runSequence = require ( 'run-sequence' )
67 ;
78
8- var paths = {
9- src : 'src/**/*.purs' ,
10- bowerSrc : [
11- 'bower_components/purescript-*/src/**/*.purs' ,
12- 'bower_components/purescript-*/src/**/*.purs.hs'
13- ] ,
14- dest : '' ,
15- docs : {
16- 'Control.Lens' : {
17- dest : 'src/Control/README.md' ,
18- src : 'src/Control/Lens.purs'
19- } ,
20- 'Control.Lens.*' : {
21- dest : 'src/Control/Lens/README.md' ,
22- src : 'src/Control/Lens/*.purs'
23- }
24- }
25- } ;
9+ var paths =
10+ { src : 'src/**/*.purs'
11+ , bowerSrc : [ 'bower_components/purescript-*/src/**/*.purs'
12+ ]
13+ , dest : ''
14+ , docs : { 'Control.Lens' : { dest : 'src/Control/README.md'
15+ , src : 'src/Control/Lens.purs'
16+ }
17+ , 'Control.Lens.*' : { dest : 'src/Control/Lens/README.md'
18+ , src : 'src/Control/Lens/*.purs'
19+ }
20+ }
21+ , test : 'test/**/*.purs'
22+ } ;
2623
27- var options = { } ;
24+ var options =
25+ { test : { main : 'Test.Control.Lens'
26+ , verboseErrors : true
27+ }
28+ } ;
2829
29- var compile = function ( compiler ) {
30- var psc = compiler ( options ) ;
30+ var compile = function ( compiler , src , opts ) {
31+ var psc = compiler ( opts ) ;
3132 psc . on ( 'error' , function ( e ) {
3233 console . error ( e . message ) ;
3334 psc . end ( ) ;
3435 } ) ;
35- return gulp . src ( [ paths . src ] . concat ( paths . bowerSrc ) )
36+ return gulp . src ( src . concat ( paths . bowerSrc ) )
3637 . pipe ( psc )
3738 . pipe ( gulp . dest ( paths . dest ) ) ;
3839} ;
@@ -51,11 +52,11 @@ function docs (target) {
5152}
5253
5354gulp . task ( 'make' , function ( ) {
54- return compile ( purescript . pscMake ) ;
55+ return compile ( purescript . pscMake , [ paths . src ] , { } ) ;
5556} ) ;
5657
5758gulp . task ( 'browser' , function ( ) {
58- return compile ( purescript . psc ) ;
59+ return compile ( purescript . psc , [ paths . src ] , { } ) ;
5960} ) ;
6061
6162gulp . task ( 'docs-Control.Lens' , docs ( 'Control.Lens' ) ) ;
@@ -71,4 +72,9 @@ gulp.task('watch-make', function() {
7172 gulp . watch ( paths . src , function ( ) { runSequence ( 'make' , 'docs' ) } ) ;
7273} ) ;
7374
75+ gulp . task ( 'test' , function ( ) {
76+ return compile ( purescript . psc , [ paths . src , paths . test ] , options . test )
77+ . pipe ( run ( 'node' ) . exec ( ) ) ;
78+ } ) ;
79+
7480gulp . task ( 'default' , function ( ) { runSequence ( 'make' , 'docs' ) } ) ;
0 commit comments