|
|
@@ -9,8 +9,11 @@
|
|
|
* persistence layer. MemoryDB is an acceleration index built alongside them.
|
|
|
*/
|
|
|
|
|
|
+import { createRequire } from "node:module";
|
|
|
import { join } from "node:path";
|
|
|
|
|
|
+const require = createRequire(import.meta.url);
|
|
|
+
|
|
|
const FACT_SELECT_COLUMNS = `
|
|
|
id,
|
|
|
subject,
|
|
|
@@ -57,8 +60,7 @@ export class MemoryDB {
|
|
|
private db: any;
|
|
|
|
|
|
constructor(bookDir: string) {
|
|
|
- // Dynamic import to avoid crashing on Node 20 (node:sqlite requires Node 22+)
|
|
|
- // eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
|
+ // node:sqlite requires Node 22+; require() via createRequire for ESM compat
|
|
|
const { DatabaseSync } = require("node:sqlite");
|
|
|
const dbPath = join(bookDir, "story", "memory.db");
|
|
|
this.db = new DatabaseSync(dbPath);
|