UNPKG

@unlazy/nuxt

Version:

Nuxt lazy loading module for placeholder images

40 lines (36 loc) 966 B
import { defineNuxtModule, createResolver, extendViteConfig, addComponent } from '@nuxt/kit'; import { defu } from 'defu'; const name = "@unlazy/nuxt"; const version = "0.12.4"; const module = defineNuxtModule({ meta: { name, version, configKey: "unlazy", compatibility: { nuxt: ">=3.5" } }, defaults: { ssr: true, placeholderSize: 32 }, setup(options, nuxt) { const { resolve } = createResolver(import.meta.url); nuxt.options.runtimeConfig.public.unlazy = defu( // @ts-expect-error: Can be unknown nuxt.options.runtimeConfig.public.unlazy, options ); nuxt.options.build.transpile.push(resolve("runtime")); extendViteConfig((config) => { config.define ||= {}; config.define.__UNLAZY_HASH_DECODING__ = true; }); addComponent({ name: "UnLazyImage", filePath: resolve("runtime/components/UnLazyImage.vue") }); } }); export { module as default };