UNPKG

nuxt-applicationinsights

Version:
52 lines (49 loc) 1.45 kB
import { defineNuxtModule, createResolver, addPlugin, addServerPlugin } from '@nuxt/kit'; import { resolvePath } from 'mlly'; import { defu } from 'defu'; const module = defineNuxtModule({ meta: { name: "nuxt-applicationinsights", configKey: "applicationinsights", compatibility: { nuxt: ">=3", bridge: false } }, // Default configuration options of the Nuxt module defaults: { serverEnabled: true, clientEnabled: true }, async setup(options, nuxt) { const resolver = createResolver(import.meta.url); if (options.connectionString) { nuxt.options.runtimeConfig = defu(nuxt.options.runtimeConfig, { public: { applicationinsights: { connectionString: options.connectionString } }, applicationinsights: { connectionString: options.connectionString } }); } if (options.serverEnabled) { nuxt.options.nitro.modules ||= []; nuxt.options.nitro.modules.push(await resolvePath("nitro-applicationinsights")); addPlugin({ src: resolver.resolve("./runtime/app/plugin.server"), mode: "server" }); addServerPlugin(resolver.resolve("./runtime/server/plugins/setup")); } if (options.clientEnabled) { addPlugin({ src: resolver.resolve("./runtime/app/plugin.client"), mode: "client" }); } } }); export { module as default };