diff --git a/package.json b/package.json index f48c144..80cf22a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,8 @@ "svelte" ], "dependencies": { - "@types/umami": "^2.10.1" + "@types/umami": "^2.10.1", + "loglevel": "^1.9.2" }, "publishConfig": { "registry": "https://gitea.auvem.com/api/packages/svelte-toolkit/npm/" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b36e55c..fbc7881 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@types/umami': specifier: ^2.10.1 version: 2.10.1 + loglevel: + specifier: ^1.9.2 + version: 1.9.2 devDependencies: '@eslint/compat': specifier: ^1.4.0 @@ -846,6 +849,10 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -1852,6 +1859,8 @@ snapshots: lodash.merge@4.6.2: {} + loglevel@1.9.2: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 diff --git a/src/lib/MetaPixel.svelte b/src/lib/MetaPixel.svelte index 8d3fe8f..e351021 100644 --- a/src/lib/MetaPixel.svelte +++ b/src/lib/MetaPixel.svelte @@ -39,18 +39,21 @@ loadMetaPixel(); // Load the Meta Pixel script } this._baseLoaded = true; + log.debug('Meta Pixel base script loaded.'); } /** Tells the Meta pixel that the user has given consent for tracking. */ static grantConsent() { this.loadGuard(); window.fbq?.('consent', 'grant'); + log.debug('Meta Pixel consent granted.'); } /** Tells the Meta pixel that the user has revoked consent for tracking. */ static revokeConsent() { this.loadGuard(); window.fbq?.('consent', 'revoke'); + log.debug('Meta Pixel consent revoked.'); } /** @@ -89,6 +92,7 @@ fireInit(advancedMatching?: AdvancedMatching, initOptions?: InitOptions): PixelControl { PixelControl.loadGuard(); window.fbq('init', this._pixelID, advancedMatching, initOptions); + log.debug(`Meta Pixel [${this._pixelID}] initialized.`); return this; } @@ -111,6 +115,9 @@ pageView() { if (!this.consentGuard()) return; window.fbq('track', 'PageView', undefined, { test_event_code: this._testEventCode }); + log.debug( + `Meta Pixel [${this._pixelID}] PageView event sent (test code: ${this._testEventCode}).` + ); } /** @@ -123,6 +130,9 @@ eventID, test_event_code: this._testEventCode }); + log.debug( + `Meta Pixel [${this._pixelID}] ${event} event sent (test code: ${this._testEventCode}).` + ); } /** @@ -135,6 +145,9 @@ eventID, test_event_code: this._testEventCode }); + log.debug( + `Meta Pixel [${this._pixelID}] ${event} custom event sent (test code: ${this._testEventCode}).` + ); } } @@ -154,6 +167,7 @@ import { loadMetaPixel } from './util/meta-pixel-loader.ts'; import { onNavigate } from '$app/navigation'; import { resolveGetter, type MaybeGetter } from './util/getter.ts'; + import log from 'loglevel'; interface Props { /** Meta Pixel ID */ diff --git a/src/lib/Umami.svelte b/src/lib/Umami.svelte index 760bc17..73e9da7 100644 --- a/src/lib/Umami.svelte +++ b/src/lib/Umami.svelte @@ -2,6 +2,7 @@ import { dev } from '$app/environment'; import { onMount } from 'svelte'; import type { TrackingManager } from './tracking.svelte.ts'; + import log from 'loglevel'; interface Props { /** @@ -27,11 +28,11 @@ const devConsoleTag = $derived(`[dev][consent: ${consentGranted ? 'granted' : 'revoked'}]`); const devOverride = { track: (...args: unknown[]): Promise | undefined => { - console.log(`${devConsoleTag}: Track called with:`, ...args); + log.debug(`${devConsoleTag}: Track called with:`, ...args); return undefined; }, identify: (...args: unknown[]): Promise => { - console.log(`${devConsoleTag}: Identify called with:`, ...args); + log.debug(`${devConsoleTag}: Identify called with:`, ...args); return Promise.resolve(); } }; @@ -61,7 +62,7 @@ } }); - if (dev) console.log('[dev]: Umami tracking disabled'); + if (dev) log.debug('[dev]: Umami tracking disabled'); onMount(() => { if (dev) { diff --git a/src/lib/index.ts b/src/lib/index.ts index 7530613..f81ee6d 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,7 +1,14 @@ // Reexport your entry components here -export * as fbq from './types/fbq.js'; +import { dev } from '$app/environment'; +import log from 'loglevel'; + export type * as fbq from './types/fbq.d.ts'; export { default as MetaPixel, PixelControl } from './MetaPixel.svelte'; export * from './tracking.svelte.ts'; export { default as Umami } from './Umami.svelte'; + +// set log level to debug if we're in dev mode +if (dev) { + log.setLevel('debug'); +}