Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
gulp.task('images', function() {
return gulp
.src(path.join(config.build.source, config.path.images, '**', '*.*')) // i.e.: public/images/**/*.*
.pipe(
imagemin([
imagemin.gifsicle(config.gifsicle),
imagemin.jpegtran(config.jpegtran),
imagemin.optipng(config.optipng),
imagemin.svgo(config.svgo)
])
)
.pipe(gulp.dest(path.join(config.build.target, config.path.images))) // i.e.: public/images
})
export const images = done => {
if (!config.get('tasks.images')) {
log(`Skipping 'images' task`);
return done();
}
return pump([
src(config.get('tasks.images.src')),
imagemin([
imagemin.jpegtran({
progressive: true,
}),
imagemin.svgo({
plugins: [
{ removeViewBox: false },
],
}),
]),
dest(config.get('tasks.images.dist')),
], done);
};
gulp.task('compress-images', ['compress-webp'], () => {
return gulp.src(dirs.src + '/img/**/*.{jpg,png,svg}')
.pipe(imagemin([
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
]))
.pipe(gulp.dest(dirs.dest + '/img/'));
});
return function() {
return gulp
.src([`${configs.paths.src}/img/**/*`, `!${configs.paths.src}/img/{icons,icons/**}`])
.pipe(plumber({ errorHandler: notify.onError('Hata: <%= error.message %>') }))
.pipe(newer('.tmp/img'))
.pipe(
imagemin([
imagemin.gifsicle({ interlaced: true }),
imagemin.jpegtran({ progressive: true }),
imagemin.optipng({ optimizationLevel: 5 }),
imagemin.svgo({ plugins: [{ removeDimensions: true }] }),
]),
)
.pipe(gulp.dest('.tmp/img'));
};
}
export default (config, gulp) => {
const options = config.options || [
imagemin.gifsicle(),
imagemin.jpegtran({
progressive: true,
}),
imagemin.optipng(),
imagemin.svgo({
plugins: [{
removeViewBox: false,
}],
}),
];
return () => gulp.src(config.src, { dot: true })
.pipe(imagemin(options))
.pipe(gulp.dest(config.dest));
};
export default function imgTask (done) {
src(img.src)
.pipe(newer(img.dest))
.pipe(imagemin([
imagemin.jpegtran({progressive: true}),
imagemin.gifsicle({interlaced: true}),
imagemin.svgo({
multipass: true,
plugins: [
{removeUselessDefs: false},
{removeHiddenElems: false},
{removeViewBox: false},
{cleanupIDs: false}
]
})
]))
.pipe(dest(img.dest))
.on('end', reload);
done();
gulp.task('images-build', () => {
gulp.src('./src/img/**/**')
.pipe(imagemin([
imagemin.gifsicle({interlaced: true}),
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
imagemin.svgo()
]))
.pipe(gulp.dest('./public/assets/img'))
})
gulp.series(function minizingImages() {
return gulp
.src('assets/img/**/*')
.pipe(
imagemin([
imagemin.gifsicle({ interlaced: true }),
imagemin.jpegtran({ progressive: true }),
imagemin.optipng({ optimizationLevel: 5 }),
imagemin.svgo({
plugins: [{ removeViewBox: true }, { cleanupIDs: false }]
})
])
)
.pipe(gulp.dest('./public/img'));
})
);
gulp.task('compress-images', ['compress-webp'], () => {
return gulp.src(dirs.src + '/img/**/*.{jpg,png,svg}')
.pipe(imagemin([
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
]))
.pipe(gulp.dest(dirs.dest + '/img/'));
});