diff --git a/packages/element-web-module-api/package.json b/packages/element-web-module-api/package.json index d817ca4936..7898159820 100644 --- a/packages/element-web-module-api/package.json +++ b/packages/element-web-module-api/package.json @@ -18,22 +18,28 @@ "lint:ts": "tsc --noEmit" }, "devDependencies": { + "@matrix-org/react-sdk-module-api": "^2.5.0", "@types/node": "^22.10.7", "@types/semver": "^7.5.8", + "matrix-web-i18n": "^3.3.0", "semver": "^7.6.3", "typescript": "^5.7.3", "vite": "^6.0.11", "vite-plugin-dts": "^4.5.0" }, "peerDependencies": { - "@matrix-org/react-sdk-module-api": "^2.5.0", + "@matrix-org/react-sdk-module-api": "*", "@types/react": "*", "@types/react-dom": "*", + "matrix-web-i18n": "*", "react": "^18" }, "peerDependenciesMeta": { "@matrix-org/react-sdk-module-api": { "optional": true + }, + "matrix-web-i18n": { + "optional": true } } } diff --git a/packages/element-web-module-api/src/api.ts b/packages/element-web-module-api/src/api.ts index 73d1e23535..b016b796c9 100644 --- a/packages/element-web-module-api/src/api.ts +++ b/packages/element-web-module-api/src/api.ts @@ -37,7 +37,7 @@ const moduleExportSignature: Record = { type Type = "function" | "string" | "number" | "boolean" | "object"; -export function isInterface(obj: unknown, keys: Record): obj is T { +function isInterface(obj: unknown, keys: Record): obj is T { if (obj === null || typeof obj !== "object") return false; for (const key in keys) { if (typeof (obj as Record)[key] !== keys[key]) return false; diff --git a/packages/element-web-module-api/src/index.ts b/packages/element-web-module-api/src/index.ts index c739e9d24c..d105ffdb8a 100644 --- a/packages/element-web-module-api/src/index.ts +++ b/packages/element-web-module-api/src/index.ts @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE files in the repository root for full details. */ -export { ModuleLoader } from "./loader"; +export { ModuleLoader, ModuleIncompatibleError } from "./loader"; export type { Api, Module, ModuleFactory } from "./api"; export type * from "./legacy-modules"; export type * from "./legacy-customisations";