From 09b66887f14d6fbade9875f8d353b2fdbbac3113 Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Fri, 16 Jan 2026 01:47:21 +1100 Subject: [PATCH] fix(plausible): use consistent window reference in clientInit stub Fixes #543 The clientInit stub was using bare `plausible` identifier mixed with `window.plausible`, which can cause issues in ES module scope. Updated to use consistent `window` reference throughout, matching the pattern used by Google Analytics. Co-Authored-By: Claude Opus 4.5 --- src/runtime/registry/plausible-analytics.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/runtime/registry/plausible-analytics.ts b/src/runtime/registry/plausible-analytics.ts index 9a955032..17ac9c95 100644 --- a/src/runtime/registry/plausible-analytics.ts +++ b/src/runtime/registry/plausible-analytics.ts @@ -181,12 +181,14 @@ export function useScriptPlausibleAnalytics(_op use() { return { plausible: window.plausible } }, - clientInit() { - // @ts-expect-error untyped - // eslint-disable-next-line @typescript-eslint/no-unused-expressions,@stylistic/max-statements-per-line,prefer-rest-params - window.plausible = window.plausible || function () { (plausible.q = plausible.q || []).push(arguments) }, plausible.init = plausible.init || function (i) { plausible.o = i || {} } - window.plausible.init(initOptions) - }, + clientInit: import.meta.server + ? undefined + : () => { + const w = window as any + w.plausible = w.plausible || function () { (w.plausible.q = w.plausible.q || []).push(arguments) } + w.plausible.init = w.plausible.init || function (i: PlausibleInitOptions) { w.plausible.o = i || {} } + w.plausible.init(initOptions) + }, }, } }, _options)