feat: migrate runtime from Node.js to Bun

- Replace better-sqlite3 with bun:sqlite (native, no native addon build)
- Change all spawn('node') to spawn('bun') for agent processes
- Update package.json scripts: node→bun, tsx→bun, npm→bun
- Add bun-types for tsc compatibility
- Add bun:sqlite→better-sqlite3 shim for vitest (tests run on Node.js)
- Update Dockerfile: install bun alongside Node.js (CLIs need Node)
- Update setup/platform.ts: getNodePath() resolves bun binary
- Remove better-sqlite3 from production dependencies (devDep only for tests)
This commit is contained in:
Eyejoker
2026-03-30 23:58:54 +09:00
parent 3e2954ebcf
commit 0112f5a2d6
18 changed files with 713 additions and 77 deletions

View File

@@ -1,6 +1,6 @@
import { describe, it, expect, beforeEach } from 'vitest';
import Database from 'better-sqlite3';
import { Database } from 'bun:sqlite';
/**
* Tests for the register step.
@@ -9,7 +9,7 @@ import Database from 'better-sqlite3';
* apostrophe in names, .env updates.
*/
function createTestDb(): Database.Database {
function createTestDb(): Database {
const db = new Database(':memory:');
db.exec(`CREATE TABLE IF NOT EXISTS registered_groups (
jid TEXT NOT NULL,
@@ -29,7 +29,7 @@ function createTestDb(): Database.Database {
}
describe('parameterized SQL registration', () => {
let db: Database.Database;
let db: Database;
beforeEach(() => {
db = createTestDb();