diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index 9e9db4485..896015e37 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -17,7 +17,12 @@ export default defineNuxtConfig({ 'https://upload.wikimedia.org', ], screens: { - 750: 750, + 'sm': 640, + '750': 750, + 'md': 768, + 'lg': 1024, + 'xl': 1280, + '2xl': 1536, }, none: {}, ipx: { diff --git a/src/module.ts b/src/module.ts index 96ece6f38..7672c17c8 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',