From 5badf8a8e3e3c82099237f526fc6511176ce2fc2 Mon Sep 17 00:00:00 2001 From: Richard Osborne Date: Thu, 15 Jan 2026 17:15:12 +0100 Subject: [PATCH] fix(backend): use absolute path for adapter import Fix module resolution when Electron runs from different cwd --- .../src/local-backend/LocalBackendServer.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/noodl-editor/src/main/src/local-backend/LocalBackendServer.js b/packages/noodl-editor/src/main/src/local-backend/LocalBackendServer.js index 919ba46..29ce9fd 100644 --- a/packages/noodl-editor/src/main/src/local-backend/LocalBackendServer.js +++ b/packages/noodl-editor/src/main/src/local-backend/LocalBackendServer.js @@ -12,6 +12,7 @@ */ const http = require('http'); +const path = require('path'); const EventEmitter = require('events'); // Using native http.IncomingMessage handling instead of Express for lighter weight @@ -58,8 +59,21 @@ class LocalBackendServer { * Initialize the database adapter */ async initAdapter() { - // Import adapter dynamically to avoid circular deps - const { LocalSQLAdapter } = require('../../../../noodl-runtime/src/api/adapters/local-sql'); + // Import adapter dynamically using absolute path to avoid resolution issues + const adapterPath = path.resolve( + __dirname, + '..', + '..', + '..', + '..', + '..', + 'noodl-runtime', + 'src', + 'api', + 'adapters', + 'local-sql' + ); + const { LocalSQLAdapter } = require(adapterPath); this.adapter = new LocalSQLAdapter(this.config.dbPath); await this.adapter.connect();