chore(deps): drop better-sqlite3 and its desktop packaging support

The SQLite write into OpenCode's database was the only consumer of
better-sqlite3 in the repository. Everything that existed to ship its native
binary went with it:

- the dependency in @openchamber/web and @openchamber/electron
- the afterPack hook staging better_sqlite3.node into app.asar.unpacked
- a dedicated @electron/rebuild pass (onlyModules) and its binary assertion,
  so desktop packaging now runs one native rebuild instead of two
- the bundler external entry and the AppImage required-native-module check

Desktop packaging, the AppImage verification tests, and the extension bundle
were re-validated after a clean reinstall, so no stale module could satisfy a
missed import.
This commit is contained in:
Bohdan Triapitsyn
2026-08-03 23:38:01 +03:00
parent 4c0fc25ac8
commit 56f2b972f0
10 changed files with 6 additions and 47 deletions
@@ -21,7 +21,7 @@ const createPayload = () => {
].join('\n'));
writeElf(path.join(root, 'openchamber'), 'x64');
writeElf(path.join(root, 'resources/opencode-cli/opencode'), 'x64');
for (const name of ['better_sqlite3.node', 'pty.node', 'sherpa-onnx.node']) {
for (const name of ['pty.node', 'sherpa-onnx.node']) {
writeElf(path.join(root, 'resources/app.asar.unpacked/node_modules', name), 'x64');
}
return root;
@@ -53,7 +53,7 @@ test('verifies identity, version, and native payload architecture', () => {
expectedOpenCodeVersion: '1.17.18',
runCliVersion: () => '1.17.18',
});
assert.equal(result.nativeModuleCount, 3);
assert.equal(result.nativeModuleCount, 2);
} finally {
fs.rmSync(root, { recursive: true, force: true });
}