diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index c049275..9449ba3 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,10 +1,13 @@ export default defineNuxtConfig({ modules: ['../src/module'], - - wideangle: { - siteId: "8D27G3B9ACA01F4241", - domain: "wideangle.local:3000", - fingerprint: true, - supressDnt: true + runtimeConfig: { + public: { + wideangle: { + siteId: "8D27G3B9ACA01F4241", + domain: "wideangle.local:3000", + fingerprint: true, + supressDnt: true + } + } } -}) +}); diff --git a/src/module.ts b/src/module.ts index e33ee84..95bc7b3 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,16 +1,17 @@ import { defineNuxtModule, addPlugin, addImports, createResolver, useLogger } from '@nuxt/kit' +import { defu } from 'defu' import { fileURLToPath } from 'url' const logger = useLogger('nuxt:wideangle') export interface ModuleOptions { siteId?: string - domain?: string - fingerprint?: boolean - supressDnt?: boolean - includeParams?: string[] - excludePaths?: string[] - ignoreHash?: boolean + domain: string + fingerprint: boolean + supressDnt: boolean + includeParams: string[] + excludePaths: string[] + ignoreHash: boolean } export default defineNuxtModule({ @@ -31,6 +32,12 @@ export default defineNuxtModule({ }, setup (options, nuxt) { const runtimeDir = fileURLToPath(new URL('./runtime', import.meta.url)) + + nuxt.options.runtimeConfig.public.wideangle = defu( + nuxt.options.runtimeConfig.public.wideangle, + options, + ) + nuxt.options.build.transpile.push(runtimeDir); const resolver = createResolver(import.meta.url);