From 5fab6a5594c51667a73223b8f07d3b24edfd7c1b Mon Sep 17 00:00:00 2001 From: Jarek Rozanski Date: Wed, 13 Sep 2023 14:19:43 +0000 Subject: [PATCH] Fix for handling default values --- playground/nuxt.config.ts | 17 ++++++++++------- src/module.ts | 19 +++++++++++++------ 2 files changed, 23 insertions(+), 13 deletions(-) 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);