'use strict'; var autoprefixer = require('gulp-autoprefixer'), path = require('path'), minify = require('gulp-minify'), cleanCss = require('gulp-clean-css'), debug = require('gulp-debug'), csso = require('gulp-csso'), concatCss = require('gulp-concat-css'), concatJs = require('gulp-concat'), sourcemaps = require('gulp-sourcemaps'), jshint = require('gulp-jshint'), del = require('del'), gulp = require('gulp'), uglify = require('gulp-uglify'); const AUTOPREFIXER_BROWSERS = [ 'ie >= 10', 'ie_mob >= 10', 'ff >= 30', 'chrome >= 34', 'safari >= 7', 'opera >= 23', 'ios >= 7', 'android >= 4.4', 'bb >= 10' ]; var basePath = path.dirname(__filename); var staticPath = basePath + '/static/'; gulp.task('clean', gulp.series(function () { return del([ staticPath + 'css/build.css', staticPath + 'js/build.js', staticPath + 'js/build-min.js' ]); })); gulp.task('minstyles', gulp.series(function () { return del([staticPath + 'css/build.css']) }, function () { return gulp.src(['static/css/**/*.css'], {base: basePath}) .pipe(autoprefixer({browsers: AUTOPREFIXER_BROWSERS})) .pipe(concatCss('build.css')) .pipe(sourcemaps.init()) .pipe(cleanCss()) .pipe(csso()) .pipe(sourcemaps.write()) .pipe(gulp.dest('static/css/', {base: basePath})); })); gulp.task('minscripts', gulp.series(gulp.series(function () { return del([staticPath + 'js/build.js']) }, function () { return gulp.src([ 'node_modules/jquery/dist/jquery.js', 'node_modules/jquery-ui-dist/jquery-ui.js', 'node_modules/magnific-popup/dist/jquery.magnific-popup.js', 'node_modules/jquery-bar-rating/dist/jquery.barrating.min.js', 'node_modules/bootstrap/dist/js/bootstrap.js', 'node_modules/jquery-autocomplete/jquery.autocomplete.js', 'static/js/**/*.js' ], {base: basePath}) .pipe(jshint()) .pipe(jshint.reporter('default')) .pipe(uglify()) .pipe(sourcemaps.init()) .pipe(concatJs('build.js')) .pipe(sourcemaps.write()) .pipe(minify()) .pipe(gulp.dest('static/js/', {base: basePath})); }))); gulp.task('default', gulp.series('minstyles', 'minscripts'));