diff --git a/src/gulpfile.js b/src/gulpfile.js index c4165bed..2306ecaf 100644 --- a/src/gulpfile.js +++ b/src/gulpfile.js @@ -186,78 +186,72 @@ gulp.task('chat-styles', ['chat-styles-handlebars', 'chat-styles-js'], function( // Compile and concatenate handlebars files for all chat styles. gulp.task('chat-styles-handlebars', function() { - var promises = []; - fs.readdir(config.chatStylesPath, function(err, list){ - if(err) return done(err); - list.filter(function(path){ + fs.readdir(config.chatStylesPath, function(err, list) { + if(err) { + throw err; + } + + list.filter(function(path) { return fs.lstatSync(config.chatStylesPath + "/" + path).isDirectory(); - }).map(function(dir){ - promises.push(new Promise(function(resolve, reject){ - var pipeline = gulp.src(config.chatStylesPath + '/' + dir + '/templates_src/client_side/**/*.handlebars') - .pipe(handlebars({ - // Use specific version of Handlebars.js - handlebars: handlebarsEngine - })) - .pipe(wrapHandlebarsTemplate()) - .pipe(concat('templates.js')) - .pipe(uglify({preserveComments: 'some'})) - .pipe(header(config.compiledTemplatesHeader)) - .pipe(gulp.dest(config.chatStylesPath + '/' + dir + '/templates_compiled/client_side')); - pipeline.on('end', resolve); - pipeline.on('error', reject); - })); + }).forEach(function(dir) { + gulp.src(config.chatStylesPath + '/' + dir + '/templates_src/client_side/**/*.handlebars') + .pipe(handlebars({ + // Use specific version of Handlebars.js + handlebars: handlebarsEngine + })) + .pipe(wrapHandlebarsTemplate()) + .pipe(concat('templates.js')) + .pipe(uglify({preserveComments: 'some'})) + .pipe(header(config.compiledTemplatesHeader)) + .pipe(gulp.dest(config.chatStylesPath + '/' + dir + '/templates_compiled/client_side')); }); }); }); // Compile and concatenate js files for all chat styles. gulp.task('chat-styles-js', function() { - var promises = []; - fs.readdir(config.chatStylesPath, function(err, list){ - if(err) return done(err); - list.filter(function(path){ + fs.readdir(config.chatStylesPath, function(err, list) { + if(err) { + throw err; + } + + list.filter(function(path) { return fs.lstatSync(config.chatStylesPath + "/" + path).isDirectory(); - }).map(function(dir){ - promises.push(new Promise(function(resolve, reject){ - var pipeline = gulp.src(config.chatStylesPath + '/' + dir + '/js/source/**/*.js') - .pipe(concat('scripts.js')) - .pipe(uglify({preserveComments: 'some'})) - .pipe(gulp.dest(config.chatStylesPath + '/' + dir + '/js/compiled')); - pipeline.on('end', resolve); - pipeline.on('error', reject); - })); + }).forEach(function(dir) { + gulp.src(config.chatStylesPath + '/' + dir + '/js/source/**/*.js') + .pipe(concat('scripts.js')) + .pipe(uglify({preserveComments: 'some'})) + .pipe(gulp.dest(config.chatStylesPath + '/' + dir + '/js/compiled')); }); }); }); // Performs all job related with pages styles. gulp.task('page-styles', function() { - var promises = []; - fs.readdir(config.pageStylesPath, function(err, list){ - if(err) return done(err); - list.filter(function(path){ + fs.readdir(config.pageStylesPath, function(err, list) { + if(err) { + throw err; + } + + list.filter(function(path) { return fs.lstatSync(config.pageStylesPath + "/" + path).isDirectory(); - }).map(function(dir){ - promises.push(new Promise(function(resolve, reject){ - var pipeline = gulp.src(config.pageStylesPath + '/' + dir + '/templates_src/client_side/**/*.handlebars') - .pipe(handlebars({ - // Use specific version of Handlebars.js - handlebars: handlebarsEngine - })) - .pipe(wrapHandlebarsTemplate()) - .pipe(concat('templates.js')) - .pipe(uglify({preserveComments: 'some'})) - .pipe(header(config.compiledTemplatesHeader)) - .pipe(gulp.dest(config.pageStylesPath + '/' + dir + '/templates_compiled/client_side')); - pipeline.on('end', resolve); - pipeline.on('error', reject); - })); + }).forEach(function(dir) { + gulp.src(config.pageStylesPath + '/' + dir + '/templates_src/client_side/**/*.handlebars') + .pipe(handlebars({ + // Use specific version of Handlebars.js + handlebars: handlebarsEngine + })) + .pipe(wrapHandlebarsTemplate()) + .pipe(concat('templates.js')) + .pipe(uglify({preserveComments: 'some'})) + .pipe(header(config.compiledTemplatesHeader)) + .pipe(gulp.dest(config.pageStylesPath + '/' + dir + '/templates_compiled/client_side')); }); }); }); // Watch styles -gulp.task('watch', [], function(){ +gulp.task('watch', [], function() { gulp.watch(config.pageStylesPath + '/**/*.handlebars', ['page-styles']); gulp.watch(config.chatStylesPath + '/**/js/source/**/*.js', ['chat-styles-js']); gulp.watch(config.chatStylesPath + '/**/*.handlebars', ['chat-styles-handlebars']);