37 lines
1.1 KiB
JavaScript
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) |