/*global require:true, console:true */ var gulp = require('gulp'); var nodemon = require('gulp-nodemon'); var jshint = require('gulp-jshint'); var uglify = require('gulp-uglify'); var minifyHTML = require('gulp-minify-html'); var minifycss = require('gulp-minify-css'); var concat = require('gulp-concat'); var del = require('del'); var hintTask = function () { gulp.src(['*.js', './src/js/**/*.js']) .pipe(jshint('.jshintrc')) .pipe(jshint.reporter('jshint-stylish')); }; gulp.task('hint', function() { hintTask(); }); var cleanTask = function () { console.log('CLEAN: Clean Complete'); return del([ 'app/**/*', '!app/img/', '!app/css/', '!app/fonts/', '!app/js/', ]); }; gulp.task('clean', function() { cleanTask(); }); var buildTask = function() { gulp.src('./src/app.js') .pipe(gulp.dest('./app')); gulp.src('./src/index.html') .pipe(minifyHTML()) .pipe(gulp.dest('./app')); gulp.src('./src/img/*') .pipe(gulp.dest('./app/img')); gulp.src(['./src/css/main.css']) .pipe(concat('style.min.css')) .pipe(minifycss()) .pipe(gulp.dest('./app/css')); gulp.src([]) .pipe(concat('vendor.min.js')) .pipe(uglify()) .pipe(gulp.dest('./app/js')); gulp.src(['./src/js/script.js']) .pipe(concat('script.min.js')) .pipe(uglify()) .pipe(gulp.dest('./app/js')); console.log('BUILD: Build Complete'); }; gulp.task('build', function() { buildTask(); }); var nodemonTask = function() { nodemon({ tasks: ['watch'], script: 'app.js', verbose: true, env: { 'NODE_ENV': 'development' }, watch: ['./src/'], ext: 'css js html' }); }; gulp.task('run', function () { nodemonTask(); });