Parts of my gulp file are not doing anything, I get no errors, but the needed file is not showing up (or being modified).
The full gulpFile is below; and while gulp task 'vendor' does what it's supposed to do - (creates files in 'build' dir)... the gulp tasks 'js' and 'build' DO NOT create the expected 'app.js' in 'build' dir.
Since 'js' and 'build' use 'event-stream' and function getTemplateStream(), I suspect the issue is there
to confirm; if I remove those elements, this works:
gulp.task( 'x', function() {
    gulp.src( source.js.src )
        .pipe( concat( 'app.js' ) )
        .pipe( gulp.dest( 'build' ) )
}); 
I cannot seem to console.log() or get an error - so I am at a loss Any help - greatly appreciated
/*
    GULP BUILD SYSTEM
    -Will watch and compress files, as needed, restart server on change in dev mode
    -Will create a single "vendor.js" uglified file for any JS files specified in the "app.scripts.json" file
    -will move condensed files to "build"
*/
var es = require( 'event-stream' );
var gulp = require( 'gulp' );
var concat = require( 'gulp-concat' );
var connect = require( 'gulp-connect' );
var templateCache = require( 'gulp-angular-templatecache' );
var ngAnnotate = require( 'gulp-ng-annotate' );
var uglify = require( 'gulp-uglify' );
var gutil = require( 'gulp-util' );
var fs = require( 'fs' );
var _ = require( 'lodash' );
var scripts = require( './app.scripts.json' ); // for vendor.js
var source = {
    js: {
        main: 'app/main.js',
        src: [  'app.config.js',
                'app/main.js',
                'app/app.js',
                'app/**/module.js',
                'app/**/!(module)*.js' ],
        tpl: 'app/**/*.tpl.html'
    }
};
var destinations = {
    js: 'build'
};
// FUNCTIONS
var swallowError = function( error ) {
    console.error.bind( error.toString() );
    this.emit( 'end' );
};
var getTemplateStream = function () {
    return
    gulp.src( source.js.tpl )
        .pipe( templateCache( {
            root: 'app/',
            module: 'app'
        } ) )
};
// GULP TASKS
gulp.task( 'build', function() {
    return
    es.merge( gulp.src( source.js.src ) , getTemplateStream() )
        .pipe( ngAnnotate() )
        .pipe( uglify() )
        .pipe( concat( 'app.js' ) )
        .on( 'error', swallowError )
        .pipe( gulp.dest( destinations.js ) );
});
gulp.task( 'js', function() {
    return
    es.merge( gulp.src( source.js.src ) , getTemplateStream() )
        .pipe( concat( 'app.js' ) )
        .on( 'error', swallowError )
        .pipe( gulp.dest( destinations.js ) );
});
gulp.task( 'vendor', function() {
    _.forIn( scripts.chunks, function( chunkScripts, chunkName ) {
        var paths = [];
        chunkScripts.forEach( function( script ) {
            var scriptFileName = scripts.paths[script];
            if ( !fs.existsSync( __dirname + '/' + scriptFileName ) ) {
                throw console.error( 'Required path doesn\'t exist: ' + __dirname + '/' + scriptFileName, script );
            }
            paths.push( scriptFileName );
            //console.log( 'vendor file ' + scriptFileName + ' added to vendor.js.' );
        });
        gulp.src( paths )
            .pipe( concat( chunkName + '.js' ) )
            .on( 'error', swallowError )
            .pipe( gulp.dest( destinations.js ) )
    });
});
gulp.task( 'watch', function() {
    gulp.watch( source.js.src, ['js'] );
    gulp.watch( source.js.tpl, ['js'] );
});
gulp.task( 'connect', function() {
    connect.server({
        port: 8888
    });
});
gulp.task( 'prod', ['vendor', 'build'] );
gulp.task( 'dev', ['vendor', 'js', 'watch', 'connect'] );
gulp.task( 'default', ['dev'] );
// END GULP TASKS
