@@ -4,7 +4,7 @@ var gulp = require('gulp'),
44 map = require ( 'map-stream' ) ,
55 del = require ( 'del' ) ,
66 minimist = require ( 'minimist' ) ,
7- wiredep = require ( 'wiredep' ) . stream ,
7+ wiredep = require ( 'wiredep' ) ,
88 plugins = require ( 'gulp-load-plugins' ) ( ) ,
99 bs = require ( 'browser-sync' ) . create ( ) ,
1010 config = require ( './config.json' ) ,
@@ -84,8 +84,36 @@ gulp.task('wiredep', function () {
8484 exclude : config . bower . exclude
8585 } ;
8686
87+ // inject Bower dependencies to Karma config
88+
89+ var extend = require ( 'util' ) . _extend ;
90+ var testOptions = extend ( options , {
91+ src : './karma.conf.js' ,
92+ fileTypes : {
93+ js : {
94+ block : / ( ( [ \t ] * ) \/ \/ \s * b o w e r : * ( \S * ) ) ( \n | \r | .) * ?( \/ \/ \s * e n d b o w e r ) / gi,
95+ detect : {
96+ js : / [ ' \' ] ( [ ^ ' \' ] + \. j s ) [ ' \' ] , ? / gi,
97+ css : / [ ' \' ] ( [ ^ ' \' ] + \. j s ) [ ' \' ] , ? / gi
98+ } ,
99+ replace : {
100+ js : '{ pattern: "{{filePath}}", watched: false },' ,
101+ css : '"{{filePath}}",'
102+ }
103+ }
104+ } ,
105+ } ) ;
106+
107+ var fs = require ( 'fs' ) ;
108+ fs . stat ( 'karma.conf.js' , function ( err , stat ) {
109+ if ( err && err . code === 'ENOENT' ) {
110+ fs . writeFileSync ( 'karma.conf.js' , fs . readFileSync ( 'karma.conf.default.js' ) ) ;
111+ }
112+ wiredep ( testOptions ) ;
113+ } ) ;
114+
87115 return gulp . src ( config . paths . html )
88- . pipe ( wiredep ( options ) )
116+ . pipe ( wiredep . stream ( options ) )
89117 . pipe ( gulp . dest ( config . build ) ) ;
90118} ) ;
91119
0 commit comments