From 95d076209ac391a53e0be7752ff121292903e005 Mon Sep 17 00:00:00 2001 From: Damian Glowala Date: Wed, 25 Feb 2026 13:41:02 +0100 Subject: [PATCH 1/4] fix: allow overriding `format`, `screens`, and `densities` module options --- src/module.ts | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/module.ts b/src/module.ts index 96ece6f38..6c5796eb4 100644 --- a/src/module.ts +++ b/src/module.ts @@ -31,20 +31,10 @@ export default defineNuxtModule({ dir: nuxt.options.dir.public, dirs: [], presets: {}, - domains: [] as string[], + domains: [], sharp: {}, - format: ['webp'], - // https://tailwindcss.com/docs/breakpoints - screens: { - 'sm': 640, - 'md': 768, - 'lg': 1024, - 'xl': 1280, - '2xl': 1536, - }, providers: {}, alias: {}, - densities: [1, 2], }), meta: { name: '@nuxt/image', @@ -97,12 +87,20 @@ export default defineNuxtModule({ if (options.provider) { options[options.provider as keyof ImageProviders] = options[options.provider as keyof ImageProviders] || {} } - options.densities = options.densities || [] - // Deduplicate format array (defu merges arrays, causing duplicates) - if (options.format && Array.isArray(options.format)) { - options.format = [...new Set(options.format)] - } + options.densities = options.densities || [1, 2] + + options.format = [...new Set(options.format || ['webp'])] + + options.screens = options.screens || + // https://tailwindcss.com/docs/breakpoints + { + 'sm': 640, + 'md': 768, + 'lg': 1024, + 'xl': 1280, + '2xl': 1536, + } const imageOptions: Omit = pick(options, [ 'screens', From 4cfca91295fac62e2e9661197066770e9668a55e Mon Sep 17 00:00:00 2001 From: Damian Glowala Date: Wed, 25 Feb 2026 13:45:47 +0100 Subject: [PATCH 2/4] lint --- src/module.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/module.ts b/src/module.ts index 6c5796eb4..7672c17c8 100644 --- a/src/module.ts +++ b/src/module.ts @@ -92,15 +92,15 @@ export default defineNuxtModule({ options.format = [...new Set(options.format || ['webp'])] - options.screens = options.screens || - // https://tailwindcss.com/docs/breakpoints - { - 'sm': 640, - 'md': 768, - 'lg': 1024, - 'xl': 1280, - '2xl': 1536, - } + options.screens = options.screens + // https://tailwindcss.com/docs/breakpoints + || { + 'sm': 640, + 'md': 768, + 'lg': 1024, + 'xl': 1280, + '2xl': 1536, + } const imageOptions: Omit = pick(options, [ 'screens', From 891d766f8c865c75f9c481cb3c13a12f614fd932 Mon Sep 17 00:00:00 2001 From: Damian Glowala Date: Wed, 25 Feb 2026 14:00:03 +0100 Subject: [PATCH 3/4] restore previously merged defaults in playground --- playground/nuxt.config.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index 9e9db4485..e6ceae83b 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -16,8 +16,15 @@ export default defineNuxtConfig({ 'https://images.unsplash.com', 'https://upload.wikimedia.org', ], + format: ['webp', 'jpg', 'jpeg'], + densities: [1, 2, 3, 4], screens: { - 750: 750, + 'sm': 640, + '750': 750, + 'md': 768, + 'lg': 1024, + 'xl': 1280, + '2xl': 1536, }, none: {}, ipx: { From dac3aefcefa8f72f1423677b2f6ecd3514084a16 Mon Sep 17 00:00:00 2001 From: Damian Glowala Date: Wed, 25 Feb 2026 14:07:13 +0100 Subject: [PATCH 4/4] revert unintentional changes --- playground/nuxt.config.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index e6ceae83b..896015e37 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -16,8 +16,6 @@ export default defineNuxtConfig({ 'https://images.unsplash.com', 'https://upload.wikimedia.org', ], - format: ['webp', 'jpg', 'jpeg'], - densities: [1, 2, 3, 4], screens: { 'sm': 640, '750': 750,