diff --git a/extensions/matrix/src/matrix/probe.runtime.ts b/extensions/matrix/src/matrix/probe.runtime.ts new file mode 100644 index 00000000000..d247a59d2a9 --- /dev/null +++ b/extensions/matrix/src/matrix/probe.runtime.ts @@ -0,0 +1,4 @@ +import { createMatrixClient } from "./client.js"; + +// Keep probe's runtime seam narrow so tests can mock it without loading the full client barrel. +export { createMatrixClient }; diff --git a/extensions/matrix/src/matrix/probe.test.ts b/extensions/matrix/src/matrix/probe.test.ts index 9d6f3e3c1ff..b01d78caee9 100644 --- a/extensions/matrix/src/matrix/probe.test.ts +++ b/extensions/matrix/src/matrix/probe.test.ts @@ -3,8 +3,11 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; const createMatrixClientMock = vi.fn(); const isBunRuntimeMock = vi.fn(() => false); -vi.mock("./client.js", () => ({ +vi.mock("./probe.runtime.js", () => ({ createMatrixClient: (...args: unknown[]) => createMatrixClientMock(...args), +})); + +vi.mock("./client/runtime.js", () => ({ isBunRuntime: () => isBunRuntimeMock(), })); diff --git a/extensions/matrix/src/matrix/probe.ts b/extensions/matrix/src/matrix/probe.ts index 9795a601563..f90cf5a8074 100644 --- a/extensions/matrix/src/matrix/probe.ts +++ b/extensions/matrix/src/matrix/probe.ts @@ -3,13 +3,13 @@ import type { SsrFPolicy } from "../runtime-api.js"; import type { BaseProbeResult } from "../runtime-api.js"; import { isBunRuntime } from "./client/runtime.js"; -type MatrixProbeRuntimeDeps = Pick; +type MatrixProbeRuntimeDeps = Pick; let matrixProbeRuntimeDepsPromise: Promise | undefined; async function loadMatrixProbeRuntimeDeps(): Promise { - matrixProbeRuntimeDepsPromise ??= import("./client.js").then((clientModule) => ({ - createMatrixClient: clientModule.createMatrixClient, + matrixProbeRuntimeDepsPromise ??= import("./probe.runtime.js").then((runtimeModule) => ({ + createMatrixClient: runtimeModule.createMatrixClient, })); return await matrixProbeRuntimeDepsPromise; }