var gulp = require('gulp') var cleanCSS = require('gulp-clean-css') var htmlmin = require('gulp-htmlmin') var htmlclean = require('gulp-htmlclean') var imagemin = require('gulp-imagemin') var uglifyjs = require('terser') var composer = require('gulp-uglify/composer') var pump = require('pump') var minify = composer(uglifyjs, console)
gulp.task('compress', function(cb) { var options = {} pump([ gulp.src(['./public/**/*.js', '!./public/**/*.min.js']), minify(options), gulp.dest('./public') ], cb ) })
gulp.task('minify-css', () => { return gulp.src('./public/**/*.css') .pipe(cleanCSS()) .pipe(gulp.dest('./public')) })
gulp.task('minify-html', () => { return gulp.src('./public/**/*.html') .pipe(htmlclean()) .pipe(htmlmin({ removeComments: true, collapseWhitespace: true, collapseBooleanAttributes: true, removeEmptyAttributes: true, removeScriptTypeAttributes: true, removeStyleLinkTypeAttributes: true, minifyJS: true, minifyCSS: true, minifyURLs: true })) .pipe(gulp.dest('./public')) })
gulp.task('minify-images', async() => { gulp.src('./public/img/**/*.*') .pipe(imagemin({ optimizationLevel: 5, progressive: true, interlaced: false, multipass: false })) .pipe(gulp.dest('./public/img')) })
gulp.task('minify-images2', async() => { gulp.src('./public/allimgs/**/*.*') .pipe(imagemin({ optimizationLevel: 5, progressive: true, interlaced: false, multipass: false })) .pipe(gulp.dest('./public/allimgs')) })
gulp.task('minify-images3', async() => { gulp.src('./public/2*/**/*@(.jpg|.png|.svg|.PNG|.SVG|.JPG)') .pipe(imagemin({ optimizationLevel: 5, progressive: true, interlaced: false, multipass: false })) .pipe(gulp.dest('./public')) })
gulp.task('default', gulp.parallel( 'compress', 'minify-css', 'minify-html', 'minify-images', 'minify-images2', 'minify-images3' ))
|