# esbuild-plugin-imagemin

> An esbuild plugin for minimizing images using imagemin

Latest version **1.0.1** (published 2022-05-23) · 0 weekly downloads

## Install

```sh
npm install esbuild-plugin-imagemin
pnpm add esbuild-plugin-imagemin
yarn add esbuild-plugin-imagemin
bun add esbuild-plugin-imagemin
```

## Health

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

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2022-05-23 |
| First published | 2022-05-23 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 5 |
| Unpacked size | 9.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Olga Miasnikova |
| Maintainers | omyasn |
| Keywords | esbuild, esbuild-plugin, image, imagemin |

## Links

- npm: https://www.npmjs.com/package/esbuild-plugin-imagemin
- Repository: https://github.com/omyasn/esbuild-plugin-imagemin
- Homepage: https://github.com/omyasn/esbuild-plugin-imagemin#readme
- Issues: https://github.com/omyasn/esbuild-plugin-imagemin/issues
- npm.io page: https://npm.io/package/esbuild-plugin-imagemin

## Dependencies (5)

- [imagemin](https://npm.io/package/imagemin.md) ^8.0.1
- [imagemin-svgo](https://npm.io/package/imagemin-svgo.md) ^10.0.1
- [imagemin-mozjpeg](https://npm.io/package/imagemin-mozjpeg.md) ^10.0.0
- [imagemin-gifsicle](https://npm.io/package/imagemin-gifsicle.md) ^7.0.0
- [imagemin-pngquant](https://npm.io/package/imagemin-pngquant.md) ^9.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.0.1 (latest) — 2022-05-23
- 1.0.0 — 2022-05-23
- 0.0.1 — 2022-05-23

## README

# esbuild-plugin-imagemin

An [esbuild](https://esbuild.github.io/) plugin for minimizing images using [imagemin](https://github.com/imagemin/imagemin)

## Install

```bash
yarn add -D esbuild-plugin-imagemin
# or
npm install --save-dev esbuild-plugin-imagemin
```

## Usage

```js
const esbuild = require("esbuild");
const imageminPlugin = require("esbuild-plugin-imagemin");

esbuild.build({
  plugins: [imageminPlugin()],
});
```

ESM import is also included.

The plugin works with png, jpg, gif and svg.

By default this plugin uses:

- [imagemin-mozjpeg](https://github.com/imagemin/imagemin-mozjpeg)
- [imagemin-gifsicle](https://www.npmjs.com/package/imagemin-gifsicle)
- [imagemin-pngquant](https://www.npmjs.com/package/imagemin-pngquant)
- [imagemin-svgo](https://www.npmjs.com/package/imagemin-svgo)

## Configuration

```js
interface ImageminPluginOptions {
  disableDefaultPlugins?: {
    mozjpeg?: boolean,
    pngquant?: boolean,
    svgo?: boolean,
    gifsicle?: boolean,
  };
  defaultPluginsOptions?: {
    mozjpeg?: mozjpeg.Options,
    pngquant?: pngquant.Options,
    svgo?: svgo.Options,
    gifsicle?: gifsicle.Options,
  };
  plugins?: Array<(input: Buffer) => Promise<Buffer>>;
}
```

### disableDefaultPlugins

You can disable some(or even all) of default plugins by passing their names inside `disableDefaultPlugins` with true value

```js
// only svgo and pngquant will work
esbuild.build({
  plugins: [
    imageminPlugin({
      disableDefaultPlugins: {
        mozjpeg: true,
        gifsicle: true,
      },
    }),
  ],
});
```

### defaultPluginsOptions

You can pass options inside default plugins. You can find the options format in plugins documentation.

```js
esbuild.build({
  plugins: [
    imageminPlugin({
      defaultPluginsOptions: {
        mozjpeg: {
          quality: 50,
        },
      },
    }),
  ],
});
```

### plugins

You can pass any other imagemin plugins with options

```js
const imageminOptipng = require("imagemin-optipng");

esbuild.build({
  plugins: [
    imageminPlugin({
      plugins: [imageminOptipng({ optimizationLevel: 5 })],
    }),
  ],
});
```

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