UNPKG

quality-tools

Version:

Biblioteca com ferramentas de qualidade e manipulação de imagem

33 lines (27 loc) 895 B
import sharp from 'sharp'; import path from 'path'; import fs from 'fs'; /** * Converte qualquer imagem para .webp * @param inputPath Caminho da imagem original * @param outputPath Caminho para salvar a imagem .webp (opcional) * @param quality Qualidade da imagem (0-100), padrão: 80 * @returns Caminho da imagem convertida */ export async function convertToWebp( inputPath: string, outputPath?: string, quality: number = 80 ): Promise<string> { if (!fs.existsSync(inputPath)) { throw new Error(`Arquivo não encontrado: ${inputPath}`); } const ext = path.extname(inputPath); const baseName = path.basename(inputPath, ext); const dir = path.dirname(inputPath); const finalOutput = outputPath || path.join(dir, `${baseName}.webp`); await sharp(inputPath) .webp({ quality }) .toFile(finalOutput); return finalOutput; }