var gulp = require('gulp'), uglify = require("gulp-uglify"), postcss = require('gulp-postcss'), sourcemaps = require('gulp-sourcemaps'), rename = require("gulp-rename"), cssNano = require('cssnano'), postcssImport = require('postcss-import'), plumber = require('gulp-plumber'), cssNext = require('postcss-cssnext'); gulp.task('css', function() { var preProcessors = [ postcssImport(), cssNext() ]; return gulp.src('./src/css/**.pcss') .pipe(plumber()) .pipe(postcss(preProcessors)) .pipe(sourcemaps.init()) .pipe(postcss([cssNano])) .pipe(rename('app.min.css')) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./docs/css')) .pipe(gulp.dest('./assets/css')); }); gulp.task('js:base', function() { return gulp.src('./src/js/**.js') .pipe(plumber()) .pipe(gulp.dest('./assets/js')); }); gulp.task('js:min', ['js:base'], function() { return gulp.src('./src/js/common.js') .pipe(plumber()) .pipe(uglify()) .pipe(rename('common.min.js')) .pipe(gulp.dest('./docs/js')) .pipe(gulp.dest('./assets/js')); }); gulp.task('js', ['js:base', 'js:min']); /** * watch */ gulp.task('watch', function(){ gulp.watch('./src/css/**/**/**.pcss', function(event) { gulp.run('css'); }); gulp.watch('./src/js/**.js', function(event) { gulp.run('js'); }); }); gulp.task('default', function(){ gulp.run('watch'); });