From d22b076b2eeffd401cc6decb060f8eda8854562a Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 20 Oct 2021 14:07:15 -0400 Subject: [PATCH] feat: additional quality options for jpeg uploads, added quality and compression settings for png uploads --- src/image.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/image.js b/src/image.js index 998bd8dd92..d1bb1de23e 100644 --- a/src/image.js +++ b/src/image.js @@ -52,8 +52,24 @@ image.resizeImage = async function (data) { sharpImage.rotate(); // auto-orients based on exif data sharpImage.resize(data.hasOwnProperty('width') ? data.width : null, data.hasOwnProperty('height') ? data.height : null); - if (data.quality && metadata.format === 'jpeg') { - sharpImage.jpeg({ quality: data.quality }); + if (data.quality) { + switch (metadata.format) { + case 'jpeg': { + sharpImage.jpeg({ + quality: data.quality, + mozjpeg: true, + }); + break; + } + + case 'png': { + sharpImage.png({ + quality: data.quality, + compressionLevel: 9, + }); + break; + } + } } await sharpImage.toFile(data.target || data.path);