From 938a03d0c1e05267b2af4326f073aaa91a5c5a6f Mon Sep 17 00:00:00 2001 From: fkwp Date: Fri, 17 Apr 2026 18:21:48 +0200 Subject: [PATCH] address review comments --- package.json | 2 +- src/vitest.setup.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++ vitest.config.ts | 2 +- vitest.setup.ts | 51 --------------------------------------------- 4 files changed, 52 insertions(+), 53 deletions(-) delete mode 100644 vitest.setup.ts diff --git a/package.json b/package.json index 8225419b..9dbc7e73 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "livekit-client": "^2.18.1", "lodash-es": "^4.17.21", "loglevel": "^1.9.1", - "matrix-js-sdk": "matrix-org/matrix-js-sdk#ca5655bced1cbb215ac1c18e179384a069d98b0a", + "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop", "matrix-widget-api": "^1.16.1", "node-stdlib-browser": "^1.3.1", "normalize.css": "^8.0.1", diff --git a/src/vitest.setup.ts b/src/vitest.setup.ts index f3f5928b..ca65006e 100644 --- a/src/vitest.setup.ts +++ b/src/vitest.setup.ts @@ -51,3 +51,53 @@ window.matchMedia = global.matchMedia = (): MediaQueryList => addEventListener: () => {}, removeEventListener: () => {}, }) as Partial as MediaQueryList; + +const storage: Record = {}; +const localStoragePolyfill = { + getItem(key: string) { + return Object.prototype.hasOwnProperty.call(storage, key) + ? storage[key] + : null; + }, + setItem(key: string, value: string) { + storage[key] = String(value); + }, + removeItem(key: string) { + delete storage[key]; + }, + clear() { + for (const key in storage) { + delete storage[key]; + } + }, + key(index: number) { + const keys = Object.keys(storage); + return keys[index] ?? null; + }, + get length() { + return Object.keys(storage).length; + }, +} as unknown as Storage; + +if ( + typeof globalThis.localStorage === "undefined" || + typeof globalThis.localStorage.clear !== "function" +) { + Object.defineProperty(globalThis, "localStorage", { + value: localStoragePolyfill, + writable: true, + configurable: true, + }); +} + +if ( + typeof window !== "undefined" && + (typeof window.localStorage === "undefined" || + typeof window.localStorage.clear !== "function") +) { + Object.defineProperty(window, "localStorage", { + value: localStoragePolyfill, + writable: true, + configurable: true, + }); +} \ No newline at end of file diff --git a/vitest.config.ts b/vitest.config.ts index 7f449f45..90082f58 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -13,7 +13,7 @@ export default defineConfig((configEnv) => classNameStrategy: "non-scoped", }, }, - setupFiles: ["vitest.setup.ts"], + setupFiles: ["src/vitest.setup.ts"], include: ["src/**/*.test.ts", "src/**/*.test.tsx"], coverage: { reporter: ["html", "json"], diff --git a/vitest.setup.ts b/vitest.setup.ts deleted file mode 100644 index cff3a234..00000000 --- a/vitest.setup.ts +++ /dev/null @@ -1,51 +0,0 @@ -const storage: Record = {}; -const localStoragePolyfill = { - getItem(key: string) { - return Object.prototype.hasOwnProperty.call(storage, key) - ? storage[key] - : null; - }, - setItem(key: string, value: string) { - storage[key] = String(value); - }, - removeItem(key: string) { - delete storage[key]; - }, - clear() { - for (const key in storage) { - delete storage[key]; - } - }, - key(index: number) { - const keys = Object.keys(storage); - return keys[index] ?? null; - }, - get length() { - return Object.keys(storage).length; - }, -} as unknown as Storage; - -if ( - typeof globalThis.localStorage === "undefined" || - typeof globalThis.localStorage.clear !== "function" -) { - Object.defineProperty(globalThis, "localStorage", { - value: localStoragePolyfill, - writable: true, - configurable: true, - }); -} - -if ( - typeof window !== "undefined" && - (typeof window.localStorage === "undefined" || - typeof window.localStorage.clear !== "function") -) { - Object.defineProperty(window, "localStorage", { - value: localStoragePolyfill, - writable: true, - configurable: true, - }); -} - -import "./src/vitest.setup.ts";