You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Node 14+ distribution requirement is already broken on main (pre-existing blocker) #4
README / AGENTS.md / docs claim the built dist/ccstatusline.js is compatible with Node.js 14+. In reality the shipped build fails on real Node 14.21.3 even on unmodified main — this is a pre-existing blocker, independent of the recent perf PRs (#2, #3), which deliberately kept their own changes Node14-syntax-safe and excluded this repair.
Evidence
From docs/performance-397-verification.md (on main):
Bun's bundler does not lower modern syntax; the build pipeline has no transpile step, so ??= and class fields survive into dist/.
Minimal repro (fails identically on baseline before any perf work):
bun run build
NODE14=/path/to/node-v14.21.3-darwin-x64/bin/node
printf'{"model":{"id":"claude-sonnet-4-5"}}'|"$NODE14" dist/ccstatusline.js
# dist chunk: var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : ...# SyntaxError: Unexpected token '??='
Installed manifests also set the floor higher than 14 regardless of bundling: chalk 6.0.0 requires Node ≥22, ink 6.2.0 requires ≥20.
Current state
bun test: 2374 pass / 0 fail on main; only Node 14 execution of the built dist is blocked.
The on-demand proxy modules were separately verified safe on real Node 14.21.3.
Repair options (deliberately out of scope so far)
Honest engines bump — declare Node ≥20 (simplest; matches ink's floor; chalk is bundled so its ≥22 manifest does not directly apply to the standalone dist).
Keep 14 for real — add a transpile step (esbuild/babel with a real target) and pin transitive deps to 14-compatible versions; needs a dependency policy the manifest currently lacks.
Split bundled vs external builds and document different floors per artifact.
This issue tracks the decision and the repair; perf PRs intentionally did not touch it.
Activity
fix(dist): declare honest Node 18+ floor instead of broken Node 14 cl…
fix(dist): declare honest Node 18+ floor instead of broken Node 14 cl…