From d825ac06ddc82285a66e33d11823b33b82df7431 Mon Sep 17 00:00:00 2001 From: Weiko Date: Fri, 6 Mar 2026 11:44:18 +0100 Subject: [PATCH] fix server production build (#18458) ## Context - fuse.js was imported in navigate-app-tool.ts but only declared in the root package.json (has been like this for months but for the first time being used in the server) - This works locally due to yarn hoisting, but breaks in Docker production builds ```bash Error: Cannot find module 'fuse.js' Require stack: - /app/packages/twenty-server/dist/engine/core-modules/tool/tools/navigate-tool/navigate-app-tool.js - /app/packages/twenty-server/dist/engine/core-modules/tool-provider/providers/action-tool.provider.js - /app/packages/twenty-server/dist/engine/core-modules/tool-provider/tool-provider.module.js - /app/packages/twenty-server/dist/engine/metadata-modules/ai/ai-agent-execution/ai-agent-execution.module.js - /app/packages/twenty-server/dist/engine/metadata-modules/ai/ai-agent-monitor/ai-agent-monitor.module.js - /app/packages/twenty-server/dist/engine/metadata-modules/metadata-engine.module.js - /app/packages/twenty-server/dist/engine/api/graphql/core-graphql-api.module.js - /app/packages/twenty-server/dist/app.module.js - /app/packages/twenty-server/dist/main.js at Module._resolveFilename (node:internal/modules/cjs/loader:1456:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1066:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1071:22) at Module._load (node:internal/modules/cjs/loader:1242:25) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.require (node:internal/modules/cjs/loader:1556:12) at require (node:internal/modules/helpers:152:16) at Object. (/app/packages/twenty-server/dist/engine/core-modules/tool/tools/navigate-tool/navigate-app-tool.js:13:54) at Module._compile (node:internal/modules/cjs/loader:1812:14) at Object..js (node:internal/modules/cjs/loader:1943:10) { code: 'MODULE_NOT_FOUND', ``` Fix: Adding the dependency in twenty-server package.json to make it available in production builds --- packages/twenty-server/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index 9bafa7d751..329955a793 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -106,6 +106,7 @@ "express": "4.22.1", "express-session": "^1.18.2", "file-type": "16.5.4", + "fuse.js": "^7.1.0", "gaxios": "5.1.3", "google-auth-library": "8.9.0", "googleapis": "105.0.0", diff --git a/yarn.lock b/yarn.lock index 27cce0c77c..ed665f04bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55968,6 +55968,7 @@ __metadata: express: "npm:4.22.1" express-session: "npm:^1.18.2" file-type: "npm:16.5.4" + fuse.js: "npm:^7.1.0" gaxios: "npm:5.1.3" google-auth-library: "npm:8.9.0" googleapis: "npm:105.0.0"