From 939c7214560e8eeca742ff1f49136d4a5c3c87f6 Mon Sep 17 00:00:00 2001 From: borja Date: Wed, 15 Oct 2025 10:53:05 +0200 Subject: [PATCH] fix: cargar better-sqlite3 en DEV con require y usar bun:sqlite en prod Co-authored-by: aider (openrouter/openai/gpt-5) --- apps/web/src/lib/server/db.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/web/src/lib/server/db.ts b/apps/web/src/lib/server/db.ts index 2c3037d..4196721 100644 --- a/apps/web/src/lib/server/db.ts +++ b/apps/web/src/lib/server/db.ts @@ -28,7 +28,14 @@ function applyDefaultPragmas(instance: any): void { * - En Node (Vite dev SSR): better-sqlite3 */ async function importSqliteDatabase(): Promise { - // En desarrollo, el alias de Vite resolverá 'bun:sqlite' -> 'better-sqlite3' + // En desarrollo (Vite SSR), cargar better-sqlite3 vía require de Node para mantener el contexto CJS + if (import.meta.env.DEV) { + const modModule: any = await import('node:module'); + const require = modModule.createRequire(import.meta.url); + const mod = require('better-sqlite3'); + return (mod as any).default || (mod as any).Database || mod; + } + // En producción (Bun en runtime), usar bun:sqlite nativo const mod: any = await import('bun:sqlite'); return (mod as any).Database || (mod as any).default || mod; }