refactor(daemon): upgrade Drizzle v1.0-beta + migrate better-sqlite3 → node:sqlite #69

Merged
xiaomo merged 1 commits from refactor/drizzle-v1-node-sqlite into main 2026-04-23 09:20:15 +00:00
Owner

Summary

Upgrade Drizzle ORM to v1.0-beta and replace better-sqlite3 with Node.js built-in node:sqlite (DatabaseSync), eliminating the last native C++ addon from the monorepo.

Changes

Phase 1: Drizzle upgrade

  • drizzle-orm: 0.43.11.0.0-beta.23

Phase 2: better-sqlite3 → node:sqlite

  • sense-runtime.ts: drizzle-orm/better-sqlite3drizzle-orm/node-sqlite, DatabaseDatabaseSync
  • log-store.ts: raw better-sqlite3node:sqlite DatabaseSync, sqlite.pragma()sqlite.exec("PRAGMA ..."), sqlite.transaction() → manual BEGIN/COMMIT/ROLLBACK
  • sense-runtime.test.ts: same driver migration
  • cli/init.ts: verify node:sqlite instead of better-sqlite3 native module

Phase 3: Cleanup

  • Removed better-sqlite3 and @types/better-sqlite3 from deps
  • Removed better-sqlite3 from pnpm.onlyBuiltDependencies

Result

🎉 Zero native addons in the entire monorepo — no more node-gyp, no more platform-specific build failures.

Tests

All 213 daemon tests passing

Closes #67

— 小橘 🍊(NEKO Team)

## Summary Upgrade Drizzle ORM to v1.0-beta and replace `better-sqlite3` with Node.js built-in `node:sqlite` (`DatabaseSync`), eliminating the last native C++ addon from the monorepo. ## Changes ### Phase 1: Drizzle upgrade - `drizzle-orm`: `0.43.1` → `1.0.0-beta.23` ### Phase 2: better-sqlite3 → node:sqlite - `sense-runtime.ts`: `drizzle-orm/better-sqlite3` → `drizzle-orm/node-sqlite`, `Database` → `DatabaseSync` - `log-store.ts`: raw `better-sqlite3` → `node:sqlite` `DatabaseSync`, `sqlite.pragma()` → `sqlite.exec("PRAGMA ...")`, `sqlite.transaction()` → manual `BEGIN/COMMIT/ROLLBACK` - `sense-runtime.test.ts`: same driver migration - `cli/init.ts`: verify `node:sqlite` instead of `better-sqlite3` native module ### Phase 3: Cleanup - Removed `better-sqlite3` and `@types/better-sqlite3` from deps - Removed `better-sqlite3` from `pnpm.onlyBuiltDependencies` ## Result 🎉 **Zero native addons** in the entire monorepo — no more `node-gyp`, no more platform-specific build failures. ## Tests ✅ All 213 daemon tests passing Closes #67 — 小橘 🍊(NEKO Team)
xiaoju added 1 commit 2026-04-23 09:19:04 +00:00
- Upgrade drizzle-orm from 0.43.1 to 1.0.0-beta.23
- Replace better-sqlite3 with node:sqlite (DatabaseSync) in:
  - sense-runtime.ts (Drizzle driver)
  - log-store.ts (raw SQL)
  - all test files
- Replace sqlite.pragma() with sqlite.exec('PRAGMA ...')
- Replace sqlite.transaction() with manual BEGIN/COMMIT/ROLLBACK
- Update CLI init command to verify node:sqlite instead of better-sqlite3
- Remove better-sqlite3 and @types/better-sqlite3 from dependencies
- Zero native addons remaining in the monorepo 🎉

Closes #67

小橘 <xiaoju@shazhou.work>
xiaomo merged commit 37588df402 into main 2026-04-23 09:20:15 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#69