@unlazy/nuxt
Version:
Nuxt lazy loading module for placeholder images
40 lines (36 loc) • 966 B
JavaScript
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 };