bux23
7/21/2017 - 12:36 PM

gulpfile setup

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']);