// include gulp var gulp = require('gulp'); // include plug-ins var jshint = require('gulp-jshint'); var sass = require('gulp-sass'); var prefix = require('gulp-autoprefixer'); var rename = require('gulp-rename'); var cssmin = require('gulp-cssmin'); var watch = require('gulp-watch'); var imagemin = require('gulp-imagemin'); var pngcrush = require('imagemin-pngcrush'); // JS hint task gulp.task('jshint', function() { gulp.src('./scripts/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); // sass + watch gulp.task('sass', function() { gulp.src('./scss/*.scss') .pipe(watch()) .pipe(sass()) .pipe(prefix("last 2 versions", "ie 9")) .pipe(cssmin()) .pipe(rename({suffix: ".min"})) .pipe(gulp.dest('./css')) }); // image gulp.task('img', function() { gulp.src('src/img/*') .pipe(imagemin({ progressive: true, svgoPlugins: [{removeViewBox: false}], use: [pngcrush()] })) .pipe(gulp.dest('./img/')) }); // finalize gulp.task('final', function() { gulp.src('./scss/*.scss') .pipe(sass()) .pipe(prefix("last 2 versions", "ie 9")) .pipe(gulp.dest('./css')) .pipe(rename({suffix: ".min"})) .pipe(cssmin()) .pipe(gulp.dest('./css')) gulp.src('src/img/*') .pipe(imagemin({ progressive: true, svgoPlugins: [{removeViewBox: false}], use: [pngcrush()] })) .pipe(gulp.dest('./img/')) });