Commit Graph

6 Commits

Author SHA1 Message Date
Simon Klee fa14b96ad4 node: support Node.js 26.4 and later (#1410)
Keep 26.4.0 as the minimum supported version while allowing later
releases.
2026-08-23 06:56:30 +02:00
Simon Klee a0b9064076 ci: update Node.js to 26.4.0 (#1234) 2026-07-07 13:54:29 +02:00
Simon Klee c79845fa68 build: require preinstalled Node.js 26.3.0
Require callers and CI jobs to select the supported Node.js version
instead of downloading a private copy on demand.
2026-06-08 12:20:40 +02:00
Simon Klee e9f451edc2 core(ffi): update Node.js 26.3 compatibility
Node.js 26.3 expects FFI signatures to use the current argument and return
field names.
2026-06-08 12:20:40 +02:00
Simon Klee 6e3f91dd8f keymap: smoke-test packed dist from Node
Pack the dist artifacts, install them into a fresh Node project, and
import every public entrypoint to verify the published shape. Wire the
script into the keymap CI workflow and both npm release jobs so packed
consumers are validated before npm sees them.

Clarify the runtime split in the docs: import-only use is Node-safe,
while creating a native renderer still requires Node 26 with
--experimental-ffi.
2026-06-08 12:20:40 +02:00
Simon Klee a70f18026a core: port test suite and runtime to Node.js
The test suite was tightly coupled to Bun-specific APIs (bun:test,
Bun.sleep) making it impossible to validate behavior on other
runtimes. A module hook now rewrites bun:test imports for Node's
test runner, and fake clocks replace wall-clock delays so tests
run deterministically everywhere.

Fix FFI type mismatches and boolean normalization that caused
silent failures on non-Bun runtimes. Correct bundled asset
resolution so published packages load without a TypeScript loader.

Reorganize the example menu with themed sections, two-panel focus
management, and proper tree-sitter cleanup to prevent worker leaks.
2026-06-08 12:20:40 +02:00