nuxt3-notifications
Version:
<p> <a href="https://www.npmjs.com/package/nuxt3-notifications" target="_blank"><img src="https://img.shields.io/npm/v/nuxt3-notifications" alt="Version"></a> <a href="https://www.npmjs.com/package/nuxt3-notifications" target="_blank"><img src="https:
39 lines (36 loc) • 1.12 kB
JavaScript
import { fileURLToPath } from 'node:url';
import { pascalCase } from 'scule';
import { defineNuxtModule, useLogger, createResolver, addImportsDir, addPlugin, addComponent } from '@nuxt/kit';
const PACKAGE_NAME = "nuxt-notifications";
const module = defineNuxtModule({
meta: {
name: PACKAGE_NAME,
configKey: "nuxtNotifications",
compatibility: {
nuxt: ">=3.0.0"
}
},
defaults: {
componentName: "NuxtNotifications"
},
async setup(options) {
const logger = useLogger(PACKAGE_NAME);
let { componentName } = options;
componentName = pascalCase(componentName);
logger.info("Starting setup");
const { resolve } = createResolver(import.meta.url);
const runtimeDir = fileURLToPath(new URL("./runtime", import.meta.url));
addImportsDir(resolve("./runtime/composables"));
addPlugin({
src: resolve(runtimeDir, "plugin")
});
await addComponent({
name: componentName,
filePath: "@kyvg/vue3-notification",
export: "Notifications",
global: true
});
logger.success("Setup end");
}
});
export { module as default };