// images import gulp from 'gulp'; import imagemin from 'gulp-imagemin'; import imageminPngquant from 'imagemin-pngquant'; import imageminWebp from 'imagemin-webp'; import changed from 'gulp-changed'; import gulpif from 'gulp-if'; import rename from 'gulp-rename'; import pathConfig from '../paths.js' const copyImages = () => ( gulp.src(`${pathConfig.src.img}/**/*`) .pipe(changed(pathConfig.assets.img)) .pipe(gulpif(pathConfig.isProd, imagemin([ imagemin.mozjpeg({ quality: 80 }), imageminPngquant({ quality: [0.8, 0.9] }), imagemin.svgo(), ]))) .pipe(gulp.dest(pathConfig.assets.img)) ); const convertImagesToWebp = () => ( gulp.src(`${pathConfig.src.img}/**/*.{jpg,png}`) .pipe(changed(pathConfig.assets.img, { extension: '.webp' })) .pipe(imagemin([ imageminWebp({ quality: 80 }), ])) .pipe(rename({ extname: '.webp', })) .pipe(gulp.dest(pathConfig.assets.img)) ); export const imagesBuild = gulp.parallel(copyImages, convertImagesToWebp); export const imagesDevelop = () => gulp.watch(`${pathConfig.src.img}/*`, imagesBuild)