UNPKG

@samk-dev/nuxt-vcalendar

Version:
57 lines (53 loc) 1.57 kB
import { defineNuxtModule, createResolver, addPlugin, addComponent } from '@nuxt/kit'; const name = "@samk-dev/nuxt-vcalendar"; const version = "1.0.4"; const module = defineNuxtModule({ meta: { name, version, configKey: "vcalendar", compatibility: { bridge: false, nuxt: "^3.0.0" } }, defaults: { prefix: "V", defaultCss: true, autoImports: { DatePicker: true, Calendar: true } }, setup(moduleOptions, nuxt) { const resolver = createResolver(import.meta.url); const nuxtOptions = nuxt.options; nuxtOptions.runtimeConfig.public.vcalendar ||= {}; nuxtOptions.runtimeConfig.public.vcalendar = moduleOptions.calendarOptions; nuxtOptions.build.transpile ||= []; nuxtOptions.build.transpile.push("vcalendar"); nuxtOptions.build.transpile.push("@popperjs/core"); addPlugin(resolver.resolve("runtime/plugin.client")); if (moduleOptions.defaultCss) { nuxtOptions.css ||= []; nuxtOptions.css.push(`v-calendar/style.css`); } if (moduleOptions.cssPath) { nuxtOptions.css ||= []; nuxtOptions.css.push(moduleOptions.cssPath); } if (moduleOptions.autoImports.DatePicker) addComponent({ name: `${moduleOptions.prefix}DatePicker`, export: "DatePicker", filePath: "v-calendar" }); if (moduleOptions.autoImports.Calendar) addComponent({ name: `${moduleOptions.prefix}Calendar`, export: "Calendar", filePath: "v-calendar" }); } }); export { module as default };