2021-03-27 22:45:57 +03:00

37 lines
1.1 KiB
JavaScript

// 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)