sharp

sharp converts and compresses images to WebP, AVIF, PNG, and JPEG formats using the high-performance sharp library.

Installation

npm install @node-minify/core @node-minify/sharp

Usage

import { readFileSync } from 'node:fs';
import { minify } from '@node-minify/core';
import { sharp } from '@node-minify/sharp';

// Convert PNG to WebP
const result = await minify({
  compressor: sharp,
  content: readFileSync('image.png'),
  options: {
    format: 'webp',
    quality: 80
  }
});

Multi-format Output

Convert to multiple formats simultaneously:

const result = await minify({
  compressor: sharp,
  content: readFileSync('image.png'),
  options: {
    formats: ['webp', 'avif'],
    quality: 80
  }
});

Options

OptionTypeDefaultDescription
format'webp' | 'avif' | 'png' | 'jpeg''webp'Output format for single conversion
formatsArray<'webp' | 'avif'>-Multiple output formats
qualitynumber80Quality setting (1-100)
losslessbooleanfalseUse lossless compression
effortnumber4CPU effort/compression level (0-9 for AVIF/PNG, 0-6 for WebP)

Check all options