docs: refresh Node.js compatibility status + document .js compilation#5148
Conversation
Audit and update of the documentation after the recent Node.js parity sprint (PRs ~#4900–#5040+). Brings the public docs in line with current behavior: - README: new "Node.js compatibility" section (~97% of Node's own test suite, ~95% overall) and a note that Perry compiles .js/.cjs/.mjs/.jsx source directly; fix the stale "Decorators: not supported" row (legacy TS decorators + emitDecoratorMetadata are supported). - introduction / supported-features: add Node.js compatibility + JavaScript input sections. - limitations: correct the stale "no SharedArrayBuffer or Atomics" claim (real cross-thread Atomics + SAB landed); note .js compilation. - threading/overview: document the SharedArrayBuffer/Atomics shared-state path. - runtime-parity-gaps: add a behavioral-status header. - typescript-parity-gaps (v0.4.56) / typescript-compatibility-tests (v0.4.50): add prominent 'historical/outdated' banners pointing at the maintained source of truth.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughDocumentation-only PR updating Perry's docs across seven files to cover: JavaScript file input support ( ChangesDocumentation Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What
Documentation-only refresh after the recent Node.js parity sprint (PRs ~#4900–#5040+). Brings the public docs in line with current behavior and corrects several stale claims.
Why
The docs hadn't kept pace with the runtime work. Perry now sits at ~95% Node.js/TypeScript compatibility and passes ~97% of Node's own test suite (2792/2863 cases, node v26.3.0, 53
node:*modules —test-parity/node_suite_baseline.json), and it compiles plain JavaScript (.js/.cjs/.mjs/.jsx) source directly. Several docs still described pre-v0.5 limitations (no SharedArrayBuffer/Atomics, decorators unsupported, generators/Symbols/Proxy missing).Changes
.js/.cjs/.mjs/.jsxdirectly; fix the staleDecorators: ❌ not supportedrow → legacy TS decorators +emitDecoratorMetadata..js) Input" and "Node.js Compatibility" sections..jscompilation.docs/runtime-parity.mdis intentionally left untouched: it's a deliberately Perry-agnostic Node/Bun API inventory, not a status doc.Notes
Summary by CodeRabbit
.js,.cjs,.mjs,.jsx) compiled through the same pipeline as TypeScript.SharedArrayBufferandAtomicsfor cross-thread memory sharing and coordination.