0.1.0 • Published 2 years ago

@devbaze/imagemin v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@devbaze/imagemin

Minify images seamlessly while preserving directory structure

Based on imagemin but preserves directory structure. Inspired by imagemin-dir.

Install

$ npm install @devbaze/imagemin

Usage

const imagemin = require('@devbaze/imagemin'); // alternative to imagemin
const imageminJpegtran = require('imagemin-jpegtran');
const imageminPngquant = require('imagemin-pngquant');

(async () => {
	const files = await imagemin(['images/*.{jpg,png}'], {
		destination: 'build/images',
		plugins: [
			imageminJpegtran(),
			imageminPngquant({
				quality: [0.6, 0.8]
			})
		]
	});

	console.log(files);
	//=> [{data: <Buffer 89 50 4e …>, destinationPath: 'build/images/foo.jpg'}, …]
})();

Destination Path Examples

input: 'assets/_images/**/*'
destination: 'assets/images'

assets/_images/foo.jpg -> assets/images/foo.jpg
assets/_images/foo/bar.jpg -> assets/images/foo/bar.jpg
assets/_images/foo/bar/baz.jpg -> assets/images/foo/bar/baz.jpg

input: ['source/**/*.{jpg,png,svg}', 'assets/**/*.{jpg,png,svg}']
destination: 'dist/assets'

source/images/foo.jpg -> dist/assets/images/foo.jpg
source/images/foo.png -> dist/assets/images/foo.png
source/svg/foo.svg -> dist/assets/svg/foo.svg
assets/images/bar.jpg -> dist/assets/images/bar.jpg
assets/images/bar.png -> dist/assets/images/bar.png
assets/svg/bar.svg -> dist/assets/svg/bar.svg

API

@devbaze/imagemin maintains the same API as imagemin. See https://github.com/imagemin/imagemin.