Need help with gulp-image?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

1000ch
217 Stars 22 Forks MIT License 302 Commits 13 Opened issues

Description

Optimize PNG, JPEG, GIF, SVG images with gulp task.

Services available

!
?

Need anything else?

Contributors list

# 39,528
imagemi...
vuejs
HTML
Electro...
247 commits
# 690,395
JavaScr...
Gulp
2 commits
# 371,962
gitlab-...
android...
JavaScr...
Gulp
1 commit
# 337,966
C++
Gulp
C
3d-tile...
1 commit
# 139,987
PHP
GraphQL
Gulp
vector-...
1 commit
# 642,639
Python
JavaScr...
Gulp
1 commit
# 52,317
Gulp
Swift
iOS
Markdow...
1 commit
# 195,802
C++
Google
tensorl...
a3c
1 commit

gulp-image GitHub Actions Status

Optimize PNG, JPEG, GIF, SVG images with gulp task.

gulp-image result

Install

$ npm install --save-dev gulp-image

External Dendencies

  • brew install libjpeg libpng
    on macOS
  • apt-get install -y libjpeg libpng
    on Ubuntu
  • npm install -g windows-build-tools
    on Windows

Usage

This is an example of

gulpfile.js
.
const gulp = require('gulp');
const image = require('gulp-image');

gulp.task('image', function () { gulp.src('./fixtures/*') .pipe(image()) .pipe(gulp.dest('./dest')); });

gulp.task('default', ['image']);

You can pass an object to

image()
as argument such as following:
gulp.task('image', () => {
  gulp.src('./fixtures/*')
    .pipe(image({
      pngquant: true,
      optipng: false,
      zopflipng: true,
      jpegRecompress: false,
      mozjpeg: true,
      gifsicle: true,
      svgo: true,
      concurrent: 10,
      quiet: true // defaults to false
    }))
    .pipe(gulp.dest('./dest'));
});

Set

false
for optimizers which you don't want to apply. And you can set
concurrent
option to limit the max concurrency in execution. You can also set
quiet
to avoid logging out results for every image processed.

You can configure parameters applied to each optimizers such as following:

gulp.task('image', () => {
  gulp.src('./fixtures/*')
    .pipe(image({
      optipng: ['-i 1', '-strip all', '-fix', '-o7', '-force'],
      pngquant: ['--speed=1', '--force', 256],
      zopflipng: ['-y', '--lossy_8bit', '--lossy_transparent'],
      jpegRecompress: ['--strip', '--quality', 'medium', '--min', 40, '--max', 80],
      mozjpeg: ['-optimize', '-progressive'],
      gifsicle: ['--optimize'],
      svgo: ['--enable', 'cleanupIDs', '--disable', 'convertColors']
    }))
    .pipe(gulp.dest('./dest'));
});

License

MIT © Shogo Sensui

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.