var gulp = require('gulp'), uglify = require('gulp-uglify'), concat = require('gulp-concat'), rename = require("gulp-rename"), autoprefixer = require('gulp-autoprefixer'), cssmin = require('gulp-cssmin'), newer = require('gulp-newer'); gulp.task('make-vendor-js', function () { gulp.src([ 'static/client/js/plugins.js', 'static/client/js/plugins/select2.min.js', 'static/client/js/plugins/select2_locale_ru.js', 'static/client/js/jquery.ui.datepicker-ru.js', 'static/client/js/jquery.mousewheel.min.js', 'static/client/js/idangerous.swiper-2.4.min.js', 'static/client/js/jquery.mCustomScrollbar.concat.min.js', 'static/client/lib/fancybox/jquery.fancybox.js', 'static/client/js/jquery.placeholder.js', 'static/client/js/jquery.phototag.js', 'static/client/js/dna0.4.4.min.js', 'static/client/js/social-likes.js', 'static/client/js/main.js', 'static/client/js/scripts.js', 'static/client/js/Base64.js' ]) .pipe(concat('vendor.js')) .pipe(gulp.dest('static/client/js/')) .pipe(uglify()) .pipe(rename('vendor.min.js')) .pipe(gulp.dest('static/client/js_min/')) }); gulp.task('make-vendor-css', function () { gulp.src([ 'static/client/css/normalize.min.css', 'static/client/css/idangerous.swiper.css', 'static/client/css/jquery.mCustomScrollbar.min.css', 'static/client/css/jquery-ui-1.10.3.custom.css', 'static/client/css/jquery.mousewheel.min.js', 'static/client/lib/fancybox/jquery.fancybox.css', 'static/client/css/phototag.css', 'static/client/css/regions.css', 'static/client/css/select2.css', 'static/client/css/social-likes_flat.css' ]) .pipe(concat('vendor.css')) .pipe(gulp.dest('static/client/css/')) .pipe(cssmin()) .pipe(rename('vendor.min.css')) .pipe(gulp.dest('static/client/css_min/')) }); gulp.task('main-css', function () { gulp.src('static/client/css/main.css') .pipe(newer('static/client/css_min/')) .pipe(autoprefixer({ browsers:['> 1%', 'Opera > 11', 'Explorer >= 8', 'Firefox >20', 'Chrome > 20'] })) .pipe(gulp.dest('static/client/css/')) .pipe(cssmin()) .pipe(rename('main.min.css')) .pipe(gulp.dest('static/client/css_min/')) }); gulp.task('minify-modules', function () { gulp.src('static/client/js/_modules/*.js') .pipe(newer('static/client/js_min/_modules')) .pipe(uglify()) .pipe(rename({extname: ".min.js"})) .pipe(gulp.dest('static/client/js_min/_modules')) }); gulp.task('production',['make-vendor-js','make-vendor-css','main-css','minify-modules']); gulp.task('watch-js', function () { gulp.watch("static/client/js/_modules/*.js", ["minify-modules"]); }); gulp.task('watch-css', function () { gulp.watch("static/client/css/main.css", ["main-css"]); }); gulp.task('watch-workflow', function (callback) { gulp.watch(["static/client/css/main.css","static/client/js/_modules/*.js"], ["main-css","minify-modules"]); callback(); });