diff --git a/packages/image-engine/src/operations/compress.ts b/packages/image-engine/src/operations/compress.ts index 3d119f90..a24fdcef 100644 --- a/packages/image-engine/src/operations/compress.ts +++ b/packages/image-engine/src/operations/compress.ts @@ -21,9 +21,10 @@ export async function compress(image: Sharp, options: CompressOptions): Promise< const { quality, targetSizeBytes, format } = options; const metadata = await image.metadata(); - const outputFormat = format - ? (FORMAT_MAP[format] as keyof import("sharp").FormatEnum) - : ((metadata.format as keyof import("sharp").FormatEnum) ?? "jpeg"); + const detected = metadata.format ?? "jpeg"; + const outputFormat = ( + FORMAT_MAP[format ?? ""] ?? FORMAT_MAP[detected] ?? detected + ) as keyof import("sharp").FormatEnum; if (targetSizeBytes !== undefined) { if (targetSizeBytes <= 0) {