Statement
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.
Statement
README / AGENTS.md / docs claim the built
dist/ccstatusline.jsis 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):??=and class fields survive intodist/.Current state
bun test: 2374 pass / 0 fail on main; only Node 14 execution of the built dist is blocked.Repair options (deliberately out of scope so far)
This issue tracks the decision and the repair; perf PRs intentionally did not touch it.