Reputation: 3007
I have an array of objects that looks like the following.
var bundles = [
{
src: 'js/my-component/*.js',
bundleName: 'my-component.js'
},
{
src: 'js/my-other-component/*.js',
bundleName: 'my-other-component.js'
}
]
I want the gulp task to process/concat every entry in the array, but it doesn't seem to work.
gulp.task('bundlejs', function(){
return bundles.forEach(function(obj){
return gulp.src(obj.src)
.pipe(concat(obj.bundleName))
.pipe(gulp.dest('js/_bundles'))
});
});
Upvotes: 10
Views: 7294
Reputation: 10104
You should probably be merging the streams and returning the result, so that the task will complete at the appropriate time:
var es = require('event-stream');
gulp.task('bundlejs', function () {
return es.merge(bundles.map(function (obj) {
return gulp.src(obj.src)
.pipe(concat(obj.bundleName))
.pipe(gulp.dest('js/_bundles'));
}));
});
Upvotes: 13
Reputation: 3007
This solution does work, I had the wrong directory name. Doh.
https://github.com/adamayres/gulp-filelog helped me find the problem.
Upvotes: 0