feat: embed daemon JS in binary, eliminate npm install of camoufox-browser
The daemon JS files (daemon.js, server.js, browser.js, protocol.js, snapshot.js, ipc.js) are now EMBEDDED in the compiled Rust binary via include_dir! and extracted to ~/.gyandoot/daemon/ on first run. This eliminates the need to npm install -g camoufox-browser@0.1.0, which bundles an incompatible camoufox-js@0.9.3 that caused: - 'Cannot open database' errors - Re-downloading 298MB browser on every navigation - Circular install/remove/install loops Now the daemon imports camoufox-js from the global npm install (v0.11.0) which is installed by install.sh. Clean, no bundled deps, no conflicts. Also removed: is_npm_package_installed(), install_npm_package(), find_daemon_js() — all replaced by gyandoot_browser::daemon::extract_daemon()
This commit is contained in:
16
crates/gyandoot-browser/daemon/daemon.js
Normal file
16
crates/gyandoot-browser/daemon/daemon.js
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Daemon entrypoint (spawned by CLI).
|
||||
*
|
||||
* Listens on a per-session IPC endpoint (Unix socket or Windows localhost TCP).
|
||||
* The CLI communicates via JSON-line protocol.
|
||||
*/
|
||||
import { DaemonServer } from "./server.js";
|
||||
async function main() {
|
||||
const server = new DaemonServer();
|
||||
await server.start();
|
||||
}
|
||||
main().catch((err) => {
|
||||
process.stderr.write(`[camoufox-browser] Fatal: ${err?.message ?? String(err)}\n`);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user