Bug
codeburn status shows zero data for SQLite-based providers (OpenCode, Cursor) even when data exists.
Root Cause
dist/cli.js has "type": "module" in package.json, so Node runs it as ESM. But loadDriver() in src/sqlite.ts uses:
const mod = eval("require")("node:sqlite");
In ESM, require is not defined, so this throws ReferenceError: require is not defined. The error is silently caught, loadDriver() returns false, and all SQLite-based providers (OpenCode, Cursor) are skipped with no output.
Fix
Replace eval("require") with createRequire:
import { createRequire } from "module";
const require = createRequire(import.meta.url);
// ...
const mod = require("node:sqlite");
Environment
- codeburn v0.7.3
- Node v25.8.0
- macOS (arm64)
- OpenCode with data in
~/.local/share/opencode/opencode.db (17k+ messages)
Workaround
Patch dist/cli.js manually: add import { createRequire } from "module"; var __require = createRequire(import.meta.url); after the shebang, and replace eval("require") with __require.
Bug
codeburn statusshows zero data for SQLite-based providers (OpenCode, Cursor) even when data exists.Root Cause
dist/cli.jshas"type": "module"inpackage.json, so Node runs it as ESM. ButloadDriver()insrc/sqlite.tsuses:In ESM,
requireis not defined, so this throwsReferenceError: require is not defined. The error is silently caught,loadDriver()returnsfalse, and all SQLite-based providers (OpenCode, Cursor) are skipped with no output.Fix
Replace
eval("require")withcreateRequire:Environment
~/.local/share/opencode/opencode.db(17k+ messages)Workaround
Patch
dist/cli.jsmanually: addimport { createRequire } from "module"; var __require = createRequire(import.meta.url);after the shebang, and replaceeval("require")with__require.