github mksglu/context-mode v1.0.4

latest releases: v1.0.53, v1.0.52, v1.0.51...
22 days ago

Fix: fd-level stderr redirect for native modules (cross-platform)

v1.0.3's process.stderr.write override was insufficient — native C++ modules (better-sqlite3) write directly to fd 2 at the OS level, bypassing Node.js streams entirely.

New approach: closeSync(2) + openSync(os.devNull, "w") — redirects fd 2 to /dev/null (Unix) or \\.\NUL (Windows) before any native modules load.

  • hooks/suppress-stderr.mjs: Shared module imported as the FIRST import in all 13 hook files. ESM evaluates imports depth-first in declaration order, so fd 2 is redirected before better-sqlite3 initializes.
  • cli.ts hookDispatch(): fd redirect before dynamic hook import (covers context-mode hook CLI path).

Verified: both node hooks/*.mjs and context-mode hook paths produce 0 bytes stderr.

Closes #68

Don't miss a new context-mode release

NewReleases is sending notifications on new releases.