From 98c2a38bc3cdeae37c34cd895e5a48967a8e031a Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 13 Apr 2026 10:03:25 +0100 Subject: [PATCH] fix(matrix): mirror runtime deps for docker builds (cherry picked from commit 1c843552b775a0f29c72192843e267148cd198b8) --- extensions/matrix/package.json | 3 +++ extensions/matrix/src/manifest.test.ts | 22 +++++++++++++++++++ package.json | 1 + ...in-sdk-package-contract-guardrails.test.ts | 1 + 4 files changed, 27 insertions(+) create mode 100644 extensions/matrix/src/manifest.test.ts diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json index db815d89c66..8b2a9649ad4 100644 --- a/extensions/matrix/package.json +++ b/extensions/matrix/package.json @@ -47,6 +47,9 @@ "defaultChoice": "npm", "minHostVersion": ">=2026.4.10", "allowInvalidConfigRecovery": true + }, + "bundle": { + "stageRuntimeDependencies": true } } } diff --git a/extensions/matrix/src/manifest.test.ts b/extensions/matrix/src/manifest.test.ts new file mode 100644 index 00000000000..3c76a08ca4a --- /dev/null +++ b/extensions/matrix/src/manifest.test.ts @@ -0,0 +1,22 @@ +import fs from "node:fs"; +import { describe, expect, it } from "vitest"; + +type MatrixPackageManifest = { + dependencies?: Record; + openclaw?: { + bundle?: { + stageRuntimeDependencies?: boolean; + }; + }; +}; + +describe("matrix package manifest", () => { + it("opts into staging bundled runtime dependencies", () => { + const packageJson = JSON.parse( + fs.readFileSync(new URL("../package.json", import.meta.url), "utf8"), + ) as MatrixPackageManifest; + + expect(packageJson.dependencies?.["fake-indexeddb"]).toBeDefined(); + expect(packageJson.openclaw?.bundle?.stageRuntimeDependencies).toBe(true); + }); +}); diff --git a/package.json b/package.json index 69f31bc7bba..d31be497329 100644 --- a/package.json +++ b/package.json @@ -1461,6 +1461,7 @@ "optionalDependencies": { "@discordjs/opus": "^0.10.0", "@matrix-org/matrix-sdk-crypto-nodejs": "^0.4.0", + "fake-indexeddb": "^6.2.5", "openshell": "0.1.0" }, "overrides": { diff --git a/src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts b/src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts index 98a048bdebf..8793ebd21ce 100644 --- a/src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts +++ b/src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts @@ -311,6 +311,7 @@ describe("plugin-sdk package contract guardrails", () => { for (const dep of [ "@matrix-org/matrix-sdk-crypto-wasm", "@matrix-org/matrix-sdk-crypto-nodejs", + "fake-indexeddb", "matrix-js-sdk", ]) { expect(rootRuntimeDeps.get(dep)).toBe(matrixRuntimeDeps.get(dep));