# Changelog - fix typo in supressDnt to suppressDnt setting, - expose recordConsent and revokeConsent API calls, - expose Wide Angle API as `useWideAngle()` and remove obsolete `useWaaEvent` Reviewed-on: https://cloud.inputobjects.eu/forge/forge/wideangle/wideangle-nuxt/pulls/1 Co-authored-by: Jarek Rozanski <jrozanski@inputobjects.eu> Co-committed-by: Jarek Rozanski <jrozanski@inputobjects.eu>
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { defineNuxtModule, addPlugin, addImportsDir, createResolver, useLogger } from '@nuxt/kit'
|
|
import { defu } from 'defu'
|
|
|
|
const logger = useLogger('nuxt:wideangle')
|
|
|
|
export interface ModuleOptions {
|
|
siteId?: string
|
|
domain: string
|
|
fingerprint: boolean
|
|
suppressDnt: boolean
|
|
includeParams: string[]
|
|
excludePaths: string[]
|
|
ignoreHash: boolean
|
|
consentMarker: string
|
|
}
|
|
|
|
export default defineNuxtModule<ModuleOptions>({
|
|
meta: {
|
|
name: 'wideangle',
|
|
configKey: 'wideangle',
|
|
compatibility: {
|
|
nuxt: '>=3',
|
|
},
|
|
},
|
|
defaults: {
|
|
domain: 'stats.wideangle.co',
|
|
fingerprint: false,
|
|
suppressDnt: false,
|
|
includeParams: [],
|
|
excludePaths: [],
|
|
ignoreHash: false,
|
|
consentMarker: undefined,
|
|
},
|
|
setup(options, nuxt) {
|
|
const resolver = createResolver(import.meta.url)
|
|
nuxt.options.runtimeConfig.public.wideangle = defu(
|
|
nuxt.options.runtimeConfig.public.wideangle,
|
|
options,
|
|
)
|
|
|
|
nuxt.options.build.transpile.push(resolver.resolve('./runtime'))
|
|
|
|
logger.info('Adding Wide Angle Analytics (useWideAngle) import')
|
|
addImportsDir(resolver.resolve('./runtime/composables'))
|
|
|
|
logger.info('Adding Wide Angle Analytics runtime plugin')
|
|
addPlugin(resolver.resolve('./runtime/plugin.client'))
|
|
|
|
},
|
|
})
|