@@ -5,6 +5,7 @@ var bump = require('gulp-bump');
55var concat = require ( 'gulp-concat' ) ;
66var filter = require ( 'gulp-filter' ) ;
77var inject = require ( 'gulp-inject' ) ;
8+ var rename = require ( 'gulp-rename' ) ;
89var minifyCSS = require ( 'gulp-minify-css' ) ;
910var minifyHTML = require ( 'gulp-minify-html' ) ;
1011var plumber = require ( 'gulp-plumber' ) ;
@@ -39,6 +40,7 @@ var openResource = require('open');
3940
4041var tinylr = require ( 'tiny-lr' ) ( ) ;
4142var connectLivereload = require ( 'connect-livereload' ) ;
43+ var bowerFiles = require ( 'main-bower-files' ) ;
4244
4345
4446// --------------
@@ -198,6 +200,7 @@ gulp.task('build.index.dev', function () {
198200 var target = gulp . src ( injectableDevAssetsRef ( ) , { read : false } ) ;
199201 return gulp . src ( PATH . dest . dev . all + '/index.html' )
200202 . pipe ( inject ( target , { transform : transformPath ( 'dev' ) } ) )
203+ . pipe ( inject ( addBowerComponent ( PATH . dest . dev . lib ) , { name : 'bower' , relative : true } ) )
201204 . pipe ( template ( templateLocals ( ) ) )
202205 . pipe ( gulp . dest ( PATH . dest . dev . all ) ) ;
203206} ) ;
@@ -305,6 +308,7 @@ gulp.task('build.index.prod', function () {
305308 join ( PATH . dest . prod . all , '**/*.css' ) ] , { read : false } ) ;
306309 return gulp . src ( PATH . dest . prod . all + '/index.html' )
307310 . pipe ( inject ( target , { transform : transformPath ( 'prod' ) } ) )
311+ . pipe ( inject ( addBowerComponent ( PATH . dest . prod . lib ) , { name : 'bower' , relative : true } ) )
308312 . pipe ( template ( templateLocals ( ) ) )
309313 . pipe ( gulp . dest ( PATH . dest . prod . all ) ) ;
310314} ) ;
@@ -425,6 +429,30 @@ function registerBumpTasks() {
425429 } ) ;
426430}
427431
432+ function addBowerComponent ( path ) {
433+ var jsFilter = filter ( '*.js' ) ;
434+ var cssFilter = filter ( '*.css' ) ;
435+ return gulp . src ( bowerFiles ( ) )
436+ . pipe ( jsFilter )
437+ . pipe ( concat ( 'vendors.js' ) )
438+ . pipe ( gulp . dest ( path ) )
439+ . pipe ( uglify ( ) )
440+ . pipe ( rename ( {
441+ suffix : '.min'
442+ } ) )
443+ . pipe ( gulp . dest ( path ) )
444+ . pipe ( jsFilter . restore ( ) )
445+ . pipe ( cssFilter )
446+ . pipe ( concat ( 'vendors.css' ) )
447+ . pipe ( gulp . dest ( path ) )
448+ . pipe ( minifyCSS ( { keepBreaks :true } ) )
449+ . pipe ( rename ( {
450+ suffix : '.min'
451+ } ) )
452+ . pipe ( gulp . dest ( path ) )
453+ . pipe ( cssFilter . restore ( ) )
454+ }
455+
428456function serveSPA ( env ) {
429457 var app ;
430458 app = express ( ) . use ( APP_BASE , connectLivereload ( { port : LIVE_RELOAD_PORT } ) , serveStatic ( join ( __dirname , PATH . dest [ env ] . all ) ) ) ;
0 commit comments