diff --git a/apps/daemon/src/server.ts b/apps/daemon/src/server.ts index 646eab80e..b76a48cde 100644 --- a/apps/daemon/src/server.ts +++ b/apps/daemon/src/server.ts @@ -70,7 +70,8 @@ import { const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); export function resolveProjectRoot(moduleDir: string): string { - const daemonDir = path.basename(moduleDir) === 'dist' + const base = path.basename(moduleDir); + const daemonDir = base === 'dist' || base === 'src' ? path.dirname(moduleDir) : moduleDir; return path.resolve(daemonDir, '../..'); diff --git a/apps/daemon/tests/server-paths.test.ts b/apps/daemon/tests/server-paths.test.ts index 9559ec981..e43497861 100644 --- a/apps/daemon/tests/server-paths.test.ts +++ b/apps/daemon/tests/server-paths.test.ts @@ -14,4 +14,10 @@ describe('resolveProjectRoot', () => { expect(resolveProjectRoot(path.join(root, 'apps', 'daemon', 'dist'))).toBe(root); }); + + it('resolves the repository root from the daemon src directory (tsx entry)', () => { + const root = path.resolve(import.meta.dirname, '../../..'); + + expect(resolveProjectRoot(path.join(root, 'apps', 'daemon', 'src'))).toBe(root); + }); });