From cddb42234d6d0961e461b747a7817b0ed03b8511 Mon Sep 17 00:00:00 2001 From: Dmitry Golubev Date: Mon, 9 Feb 2026 20:46:46 +0000 Subject: [PATCH] Add support for sharpResizeOptions --- src/global-options.js | 1 + src/image.js | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/global-options.js b/src/global-options.js index d451965..88de10b 100644 --- a/src/global-options.js +++ b/src/global-options.js @@ -28,6 +28,7 @@ export const DEFAULTS = { sharpPngOptions: {}, // options passed to the Sharp png output method sharpJpegOptions: {}, // options passed to the Sharp jpeg output method sharpAvifOptions: {}, // options passed to the Sharp avif output method + sharpResizeOptions: {}, // options passed to the Sharp resize method formatHooks: { svg: svgHook, diff --git a/src/image.js b/src/image.js index 66dc977..d4f2e2e 100644 --- a/src/image.js +++ b/src/image.js @@ -415,7 +415,8 @@ export default class Image { "sharpWebpOptions", "sharpPngOptions", "sharpJpegOptions", - "sharpAvifOptions" + "sharpAvifOptions", + "sharpResizeOptions" ].sort(); let hashObject = {}; @@ -710,9 +711,9 @@ export default class Image { if(!isTransformResize) { if(stat.width < sharpMetadata.width || (this.options.svgAllowUpscale && sharpMetadata.format === "svg")) { - let resizeOptions = { - width: stat.width - }; + let resizeOptions = Object.assign({ + width: stat.width, + }, this.options.sharpResizeOptions); if(sharpMetadata.format !== "svg" || !this.options.svgAllowUpscale) { resizeOptions.withoutEnlargement = true;