Skip to content

vHeemstra/imagemin-oxipng

Repository files navigation

imagemin-oxipng

imagemin plugin using oxipng to minify PNG images.

Install

$ npm install --save @vheemstra/imagemin-oxipng

Usage

import imagemin from 'imagemin';
import imageminOxipng from '@vheemstra/imagemin-oxipng';

(async () => {
	await imagemin(['images/*.png'], {
		destination: 'build/images',
		plugins: [
			imageminOxipng()
		]
	});

	console.log('Images minified!');
})();

API

imageminOxipng(options?)(buffer)

Returns a Promise<Buffer> with the converted image.

buffer

Type: Buffer

Buffer to optimize.

options

Type: object

For more information on options, see also oxipngs documentation.

options.optimization

Type: number | 'max'
Default: 2

Optimization level - [possible values: 0, 1, 2, 3, 4, 5, 6, 'max'].

NOTE: Manually specifying a compression option (options.zc, options.filters, etc.) will override the optimization preset, regardless of the order you write the arguments.

options.preserve

Type: boolean

Preserve file attributes if possible.

options.check

Type: boolean

Do not run any optimization passes.

options.strip *

Type: 'safe' | 'all' | string[]

Strip metadata objects ['safe', 'all' or list].

* Only either options.strip or options.keep option can be set.

options.keep *

Type: string[]

Strip all optional metadata except objects in the list.

* Only either options.strip or options.keep option can be set.

options.alpha

Type: boolean

Perform additional alpha optimizations.

options.interlace

Type: number

PNG interlace type [possible values: 0, 1].

options.fast

Type: boolean

Use fast filter evaluation.

options.filters

Type: number[]
Default: [0,5]

PNG delta filters (0-9).

number PNG delta filters
0None
1Sub
2Up
3Average
4Paeth
number Heuristic filter selection strategy
5MinSumMinimum sum of absolute differences
6EntropyHighest Shannon entropy
7BigramsLowest count of distinct bigrams
8BigEntHighest Shannon entropy of bigrams
9BruteSmallest compressed size (slow)

options.zc

Type: number
Default: 11

zlib compression level (1-12).

options.nb

Type: boolean

No bit depth reduction.

options.nc

Type: boolean

No color type reduction.

options.np

Type: boolean

No palette reduction.

options.ng

Type: boolean

No grayscale reduction.

options.nx

Type: boolean

No reductions.

options.nz

Type: boolean

No IDAT recoding unless necessary.

options.fix

Type: boolean

Enable error recovery.

options.force

Type: boolean

Write the output even if it is larger than the input.

options.timeout

Type: number

Maximum amount of time, in seconds, to spend on optimizations.

options.zopfli

Type: boolean

Use the slower but better compressing Zopfli algorithm.

License

MIT © Imagemin
MIT © OxiPNG by Josh Holmer
This package is made by Philip van Heemstra