@@ -9,7 +9,7 @@ var assetModuleList = {
99} ;
1010
1111var assetTypes = {
12- js : {
12+ scripts : {
1313 paths : [
1414 '' ,
1515 'providers/' ,
@@ -54,12 +54,14 @@ for(var moduleName in assetModuleList) {
5454}
5555
5656var doFor = function ( assetType , cb ) {
57+ var streamResults = [ ] ;
5758 for ( var moduleName in assetModuleList ) {
58- cb ( {
59+ streamResults . push ( cb ( {
5960 src : paths [ moduleName ] [ assetType ] ,
6061 dest : modulesRoot . dest + moduleName + '/'
61- } ) ;
62+ } ) ) ;
6263 }
64+ return streamResults ;
6365} ;
6466
6567var fs = require ( 'fs' ) ;
@@ -77,12 +79,16 @@ var uglify = require('gulp-uglify');
7779var clean = require ( 'gulp-clean' ) ;
7880var concat = require ( 'gulp-concat' ) ;
7981var rename = require ( 'gulp-rename' ) ;
82+ var sourcemaps = require ( 'gulp-sourcemaps' ) ;
83+ var replace = require ( 'gulp-replace' ) ;
84+ var es = require ( 'event-stream' ) ;
85+ var minifyCSS = require ( 'gulp-minify-css' ) ;
8086
8187// Define Tasks
8288gulp . task ( 'templates' , function ( ) {
8389
84- doFor ( 'templates' , function ( templatePaths ) {
85- gulp . src ( templatePaths . src )
90+ var mapped = doFor ( 'templates' , function ( templatePaths ) {
91+ return gulp . src ( templatePaths . src )
8692 . pipe ( htmlmin ( {
8793 collapseWhitespace : true ,
8894 caseSensitive : true ,
@@ -91,40 +97,63 @@ gulp.task('templates', function() {
9197 . pipe ( rename ( { suffix : '.min' } ) )
9298 . pipe ( gulp . dest ( templatePaths . dest ) ) ;
9399 } ) ;
100+
101+ return es . concat . apply ( null , mapped ) ;
94102} ) ;
95103
96- // Define Tasks
97- gulp . task ( 'js ' , function ( ) {
98- doFor ( 'js ' , function ( jsPaths ) {
99- gulp . src ( jsPaths . src )
104+
105+ gulp . task ( 'scripts ' , function ( ) {
106+ var mapped = doFor ( 'scripts ' , function ( scriptPaths ) {
107+ return gulp . src ( scriptPaths . src )
100108 . pipe ( ngmin ( ) )
101- . pipe ( uglify ( { outSourceMap : true } ) )
102- //.pipe(rename({suffix: '.min'}))
103- //.pipe(gulp.dest(jsPaths.dest))
104- //.pipe(concat('dist.min.js'))
105- . pipe ( gulp . dest ( jsPaths . dest ) ) ;
109+ . pipe ( concat ( 'dist.js' ) )
110+ . pipe ( gulp . dest ( scriptPaths . dest ) )
111+ . pipe ( sourcemaps . init ( ) )
112+ . pipe ( rename ( { suffix : '.min' } ) )
113+ . pipe ( uglify ( { outSourceMap : "dist.min.js" } ) )
114+ . pipe ( sourcemaps . write ( { inline : false , includeContent : false } ) )
115+ // HACK UNTIL GRUNT-UGLIFY HANDLES SOURCEMAPS CORRECTLY
116+ . pipe ( replace ( '"sources":["dist.min.js"]' , '"sources":["dist.js"]' ) )
117+ . pipe ( gulp . dest ( scriptPaths . dest ) ) ;
118+ } ) ;
119+
120+ return es . concat . apply ( null , mapped ) ;
121+ } ) ;
122+
123+
124+ gulp . task ( 'styles' , function ( ) {
125+ var mapped = doFor ( 'styles' , function ( stylePaths ) {
126+ return gulp . src ( stylePaths . src )
127+ . pipe ( concat ( 'dist.css' ) )
128+ . pipe ( gulp . dest ( stylePaths . dest ) )
129+ . pipe ( minifyCSS ( ) )
130+ . pipe ( rename ( { suffix : '.min' } ) )
131+ . pipe ( gulp . dest ( stylePaths . dest ) ) ;
106132 } ) ;
133+
134+ return es . concat . apply ( null , mapped ) ;
107135} ) ;
108136
109137gulp . task ( 'watch' , function ( ) {
110138
111139 doFor ( 'templates' , function ( templatePaths ) {
112- gulp . watch ( templatePaths , [ 'templates' ] ) ;
140+ gulp . watch ( templatePaths . src , [ 'templates' ] ) . on ( 'error' , function ( ) { } ) ;
113141 } ) ;
114-
115- doFor ( 'js' , function ( jsPaths ) {
116- gulp . watch ( jsPaths , [ 'js' ] ) ;
142+ doFor ( 'scripts' , function ( scriptPaths ) {
143+ gulp . watch ( scriptPaths . src , [ 'scripts' ] ) . on ( 'error' , function ( ) { } ) ;
144+ } ) ;
145+ doFor ( 'styles' , function ( stylesPaths ) {
146+ gulp . watch ( stylesPaths . src , [ 'styles' ] ) . on ( 'error' , function ( ) { } ) ;
117147 } ) ;
118-
119148} ) ;
120149
121150gulp . task ( 'clean' , function ( ) {
122151 return gulp . src ( modulesRoot . dest , { read : false } )
123152 . pipe ( clean ( ) ) ;
124153} ) ;
125154
126- gulp . task ( 'build' , /* ['clean'],*/ function ( ) {
127- gulp . start ( 'templates' , 'js ' ) ;
155+ gulp . task ( 'build' , [ 'clean' ] , function ( ) {
156+ return gulp . start ( 'scripts' , ' templates', 'styles ' ) ;
128157} ) ;
129158
130159gulp . task ( 'default' , [ 'build' ] ) ;
0 commit comments