Tracks native/version debt from #66 after the logically passing bunx Angular marker is removed.\n\nCurrent reported Node compatibility is inconsistent across build metadata, process.version, runtime environment, npm user-agent, N-API, and child execution paths.\n\nAcceptance criteria:\n- define one authoritative reported Node compatibility version\n- propagate it to process.version, process.versions.node, package-manager user-agent, N-API, and spawned child environments\n- choose a version only after the corresponding compatibility surface is implemented\n- add deterministic local engines.node and CLI identity tests without depending on moving latest network packages\n- keep the full bunx corpus green\n\nParent tracker: #66
Bun parity: centralize reported Node compatibility version for bunx and child execution
#432Completed the Home-owned Node compatibility identity work in b4ddf3056.
One build option now pins the Bun 1.4.0 engine identity at Node 26.3.0 and feeds both runtime environment namespaces, the reduced JSC process.version / process.versions.node, N-API napi_get_node_version, package-script npm_config_user_agent, and publish metadata.
Deterministic local coverage now serves a real npm tarball declaring engines.node: ">=26.0.0"; its bunx executable rejects anything except v26.3.0 and asserts process.versions.node, process.release.name, and the full child user agent. Package-script children independently assert the same exact user agent. Debug and ReleaseFast regressions pass, the focused reduced-JSC unit passes, and the real copied Angular Node-24+ bunx case passes in ReleaseFast.
The strict complete bunx file has no Home-only failure. Its one nonpass is moving github:piuccio/cowsay help output; pinned Bun fails the identical assertion today. That external corpus drift is split into #674 with explicit no-workaround acceptance. The stale Angular expected-failure marker is removed.
Parent status remains #66.
Sign in to comment on this issue.