gulpfile setup
var gulp = require('gulp');
const path = require('path');
var sass = require('gulp-sass');
var uglify = require('gulp-uglify');
var pump = require('pump');
var imagemin = require('gulp-imagemin');
var plumber = require('gulp-plumber');
var notify = require('gulp-notify');
var autoprefixer = require('gulp-autoprefixer');
var cleanCSS = require('gulp-clean-css');
var concat = require('gulp-concat');
var concatCss = require('gulp-concat-css');
var rename = require('gulp-rename');
var gutil = require('gulp-util');
var plumberErrorHandler = { errorHandler: notify.onError({
title: 'Gulp',
message: 'Error: <%= error.message %>'
})
};
var sassFiles = [
'../assets/components/bootstrap/css/bootstrap.min.css',
'../assets/components/sweetalert/dist/sweetalert2.min.css',
'../assets/components/slickslider/slick.css',
'../assets/components/slickslider/slick-theme.scss',
'../assets/components/formvalidation/css/formValidation.min.css',
'../assets/css/sass/normalize.scss',
'../assets/css/sass/bootstrap-checkbox.scss',
'../assets/css/sass/hover-min.scss',
'../assets/css/sass/animate.scss',
'../assets/css/sass/main.scss'
];
var jsFiles = [
'../assets/js/jquery-3.1.1.min.js',
'../assets/js/jquery-ui.min.js',
'../assets/components/bootstrap/js/bootstrap.min.js',
'../assets/js/js.cookie.js',
'../assets/js/es6-promise.auto.min.js',
'../assets/components/sweetalert/dist/sweetalert2.min.js',
'../assets/js/cookieconsent.js',
'../assets/js/jquery.matchHeight-min.js',
'../assets/js/wow.min.js',
'../assets/components/slickslider/slick.min.js',
'../assets/components/formvalidation/js/formValidation.min.js',
'../assets/components/formvalidation/js/framework/bootstrap.min.js',
'../assets/components/formvalidation/addons/reCaptcha2.min.js',
'../assets/js/main.js',
'../assets/js/wopti-login.js'
]
gulp.task('sass', function () {
gulp.src(sassFiles)
.pipe(plumber(plumberErrorHandler))
.pipe(sass())
.pipe(concatCss('main.min.css'))
.pipe(autoprefixer())
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest('../assets/css/min'));
});
gulp.task('js', function (cb) {
pump([
gulp.src(jsFiles),
concat('main.min.js'),
uglify(),
gulp.dest('../assets/js/min')
],
cb
);
});
gulp.task('img', function () {
let plumberErrorHandler = (err) => {
console.log('Plumber Err', err);
};
var sourcePath = '../assets/img/';
var endPath;
return gulp.src(sourcePath + '**/src/**/*.{jpg,png}')
.pipe(plumber(plumberErrorHandler))
.pipe(imagemin({
optimizationLevel: 6,
progressive: true
}))
.pipe(rename(function(file) {
file.dirname = path.dirname(file.dirname);
file.basename = file.basename;
return file;
}))
.pipe(gulp.dest(sourcePath))
});
gulp.task('watch', function() {
gulp.watch('css/src/*.scss', ['sass']);
gulp.watch('js/src/*.js', ['js']);
});
gulp.task('default', ['sass', 'js', 'img']);