From 51e8a54f065e2ffa9413ec6078e8f57a7e957239 Mon Sep 17 00:00:00 2001 From: itzzavdhesh Date: Sat, 6 Jun 2026 10:50:52 +0530 Subject: [PATCH] ** ix: resolve localStorage.clear crash in Vitest test suite for Node.js 20+ / Bun environments** --- vitest.setup.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/vitest.setup.ts b/vitest.setup.ts index d2973f28..fe2c426f 100644 --- a/vitest.setup.ts +++ b/vitest.setup.ts @@ -14,3 +14,20 @@ Object.defineProperty(window, 'matchMedia', { dispatchEvent: () => false, }), }) + +if (typeof window !== 'undefined') { + if (!window.localStorage || typeof window.localStorage.clear !== 'function') { + let store: Record = {}; + const mockLocalStorage = { + getItem: (key: string) => store[key] || null, + setItem: (key: string, value: string) => { store[key] = String(value); }, + removeItem: (key: string) => { delete store[key]; }, + clear: () => { store = {}; }, + length: 0, + key: (index: number) => Object.keys(store)[index] || null, + }; + Object.defineProperty(window, 'localStorage', { value: mockLocalStorage, writable: true }); + Object.defineProperty(globalThis, 'localStorage', { value: mockLocalStorage, writable: true }); + } +} +