# gulp-optimize-images

> Compress and resize images using gulp and sharp.

Latest version **1.1.5** (published 2022-12-08) · ISC license · 0 weekly downloads

## Install

```sh
npm install gulp-optimize-images
pnpm add gulp-optimize-images
yarn add gulp-optimize-images
bun add gulp-optimize-images
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.5 |
| Published | 2022-12-08 |
| First published | 2022-12-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 19.1 KB |
| Known vulnerabilities | 0 (+3 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Gleb Vidyakin |
| Maintainers | qumi |
| Keywords | gulp, sharp, responsive, images, compress, resize |

## Links

- npm: https://www.npmjs.com/package/gulp-optimize-images
- Repository: https://github.com/QumiQumi/gulp-optimize-images
- Homepage: https://github.com/QumiQumi/gulp-optimize-images#readme
- Issues: https://github.com/QumiQumi/gulp-optimize-images/issues
- npm.io page: https://npm.io/package/gulp-optimize-images

## Dependencies (3)

- [sharp](https://npm.io/package/sharp.md) ^0.31.2
- [vinyl](https://npm.io/package/vinyl.md) ^3.0.0
- [through2](https://npm.io/package/through2.md) ^4.0.2

## Alternatives

- [exif-parser](https://npm.io/package/exif-parser.md) — 3.8M weekly downloads
- [vite-plugin-compression](https://npm.io/package/vite-plugin-compression.md) — 569.5K weekly downloads
- [pica](https://npm.io/package/pica.md) — 442.4K weekly downloads
- [@reportportal/client-javascript](https://npm.io/package/@reportportal/client-javascript.md) — 408.8K weekly downloads
- [@tldraw/state](https://npm.io/package/@tldraw/state.md) — 316.0K weekly downloads

## Recent versions

- 1.1.5 (latest) — 2022-12-08
- 1.1.4 — 2022-12-08
- 1.1.3 — 2022-12-08
- 1.1.2 — 2022-12-08
- 1.1.1 — 2022-12-07
- 1.1.0 — 2022-12-07
- 1.0.10 — 2022-12-07
- 1.0.9 — 2022-12-07
- 1.0.8 — 2022-12-07
- 1.0.7 — 2022-12-07
- 1.0.6 — 2022-12-07
- 1.0.5 — 2022-12-07
- 1.0.4 — 2022-12-07
- 1.0.3 — 2022-12-07

## README

# [gulp](http://gulpjs.com)-optimize-images 

> Generates images at different sizes <br>
> Optimize images with given options

## Installation

`gulp-optimize-images` depends on [sharp](https://github.com/lovell/sharp).



```sh
$ npm install --save-dev gulp-optimize-image
```

## Usage

```js
const { dest, series, src } =require("gulp");
const optimizeImages =require("../dist/index");

const srcDir = "src";
const destDir = "dest";


const sizes = [360, 720];

// https://sharp.pixelplumbing.com/api-constructor
const sharpOptions = {
	limitInputPixels: false
}
// https://sharp.pixelplumbing.com/api-output
const compressOptions = {
    jpeg: {
        quality: 80,
        progressive: true,
    },
    png: {
        quality: 90,
        progressive: true,
        compressionLevel: 6,
    },
    webp: {
        quality: 80,
    },
};

function sharpImages() {
    return src(srcDir + "/**/*")
        .pipe(optimizeImages({
			sharpOptions,
			compressOptions,
			sizes
		}))
        .pipe(dest(destDir));
}
exports.default = series(sharpImages);

```

## API

### responsive([options])

##### options.sharpOptions
Type: `Object`
Default: `{}` - Merged with default sharp constructor options

Sharp options available on https://sharp.pixelplumbing.com/api-constructor 
##### options.compressOptions

Type: `Object` 
Default: `{}` - Merged with default sharp image options
```ts
const compressOptions = {
	jpeg?: Object;
	png?: Object;
	webp?: Object;
	gif?: Object;
	tiff?: Object;
	avif?: Object;
	heif?: Object;
}
```
Object containing options for each image format. <br>
Available formats available on https://sharp.pixelplumbing.com/api-output. <br>
If not provided uses default sharp settings

##### options.sizes
Type: `number[]` 
Default: `[]`

Number array of width sizes. If provided, outputs images in this sizes including original size.

---
_Source: https://npm.io/package/gulp-optimize-images · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
