// include gulp var gulp = require('gulp'); // include plugins var jshint = require('gulp-jshint'); var changed = require('gulp-changed'); var minifyHTML = require('gulp-minify-html'); var concat = require('gulp-concat'); var stripDebug = require('gulp-strip-debug'); var uglify = require('gulp-uglify'); var autoprefix = require('gulp-autoprefixer'); var minifyCSS = require('gulp-minify-css'); // JS hint task gulp.task('jshint', function(){ gulp.src('./src/scripts/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); // minify new/changed HTML gulp.task('htmlpage', function(){ var src = './src/*.html'; var dst = './build'; gulp.src(src) .pipe(changed(dst)) .pipe(minifyHTML()) .pipe(gulp.dest(dst)); }); // JS concat, strip debugging and minify gulp.task('scripts', function(){ gulp.src(['./src/scripts/lib.js', './src/scripts/*.js']) .pipe(concat('script.js')) .pipe(stripDebug()) .pipe(uglify()) .pipe(gulp.dest('./build/scripts')); }); // CSS concat, auto-prefix and minify gulp.task('styles', function(){ gulp.src(['./src/styles/*.css']) .pipe(concat('styles.css')) .pipe(autoprefix('last 2 versions')) .pipe(minifyCSS()) .pipe(gulp.dest('./build/styles/')); });