Возможно не совсем понял твой вопрос, как то хитро-мудро ты его задал, но вот у примеру я все на builds отправляю в виде 2 файлов: main.js и vendor.js, в принципе то ж самое и со стилями. Что касательно таска, то вот пример моего какого-то (библиотеки не принципиально):
// ~ Compile JS ~
var jsFilter = gulpFilter('**/*.js');
// Concat vendor JS (uglify for production)
gulp.task('js:vendor', function() {
gulp.src(mainBowerFiles({
"overrides": {
"jquery": {
"main": "./dist/jquery.min.js"
},
"bootstrap": {
"main": "./dist/js/bootstrap.min.js"
},
"magnific-popup": {
"main": "./dist/jquery.magnific-popup.min.js"
}
}
}))
.pipe(jsFilter)
.pipe(concat('vendor.js'))
.pipe(gulpIf(env !== 'dev', uglify()))
.pipe(gulp.dest(outputDir + 'js'))
});
// Concat own JS (uglify for production)
gulp.task('js', function() {
gulp.src(src.js)
.pipe(jsHint())
.pipe(jsHint.reporter('default'))
.pipe(concat('script.js'))
.pipe(gulpIf(env !== 'dev', uglify()))
.pipe(gulp.dest(outputDir + 'js'))
.pipe(connect.reload());
});
настройки осуществляю в зависимости от production или development версии