adfab-gulp-boilerplate
Version:
Adfab's boilerplate. Helps you kick-start a front-end project within minutes.
28 lines (24 loc) • 1.2 kB
JavaScript
module.exports = function(configName) {
const gulp = require('gulp');
const plumber = require('gulp-plumber');
const notify = require('gulp-notify');
const htmlmin = require('gulp-htmlmin');
const browserSync = require('browser-sync');
const gulpif = require('gulp-if');
const util = require('gulp-util');
const config = util.env.boilerplate.config;
const viewsConfig = config.tasks[configName];
const isWatching = ['serve', 'watch'].indexOf(process.argv[2]) >= 0;
return gulp.src(viewsConfig.source, {cwd: config.sourceRoot})
.pipe(plumber({errorHandler: notify.onError({
message: '<%= error.message %> in <%= error.fileName %>',
title: 'Views Error'
})}))
.pipe(gulpif(viewsConfig.minifyHTML, htmlmin({collapseWhitespace: true})))
.pipe(gulp.dest(config.destinationRoot + viewsConfig.destination))
.pipe(gulpif(isWatching, browserSync.stream({once: true})))
.pipe(notify({ message: 'Successfully compiled Views', onLast: true}))
.on('error', function() {
this.emit('error', new Error('Views compilation Error'));
});
};