Rust port: e2e parity TODO

Status snapshot (after the current stack lands):

Variant Score Failures
Babel 1792 / 1802 10
SWC 1786 / 1802 16
OXC 1704 / 1795 91

The corpus grew by the three ts-* module-interop fixtures (1799 → 1802 on this branch). The Babel/SWC rows are measured on this branch and their failure sets are byte-identical to the pre-stack baseline; the OXC row predates the fixtures and has not been re-measured.

cargo test --workspace: 84 passed, 0 failed.

SWC

(Historical, pre-ts-interop-stack triage on the old staging base; current snapshot at top.)

The 15 remaining SWC e2e failures fall into three groups. Each line names the fixture and the failure mode; the group it sits in dictates the appropriate fix.

Group A: Fixture maintenance, not Rust bugs

SWC compiles code that TS rejects, or vice versa, in ways where Rust's behavior is arguably correct. The fix is to rename the fixture (drop the error. prefix) and update the .expect.md snapshot so the suite stops asserting the TS-specific output.

Group B: External dependency

Group C: Real SWC frontend bugs

Each line names the failure mode and a sketch of where to look.

Cross-frontend: TypeScript module interop statements

Three ts-* fixtures pin how TS module-interop statements (import x = require(...), export = x, export as namespace X) must behave: the statement is preserved in output and the file's functions still compile.

Babel

(Historical, pre-ts-interop-stack numbers; current snapshot at top.)

TODO: scope this out. Babel is at 1788 / 1795 (7 failures). These have been the baseline throughout the SWC parity stack and were not touched, so the failure list is whatever was on pr-36173 before this work landed.

Next step is to enumerate the failures by fixture and bucket them the same way as SWC (fixture maintenance / external dependency / real bugs). Run:

bash compiler/scripts/test-e2e.sh --no-color --variant babel

…and triage the resulting failures into A/B/C groups under this section.

OXC

(Historical, pre-ts-interop-stack numbers; current snapshot at top.)

TODO: scope this out. OXC is at 1704 / 1795 (91 failures). The CLI filename fix in commit c30f0d6f bumped this by +2 from the 1702 baseline, but everything else is unaddressed.

Next step is to enumerate failures and identify OXC-specific clusters (likely AST conversion gaps in react_compiler_oxc analogous to the SWC work in this stack). Run:

bash compiler/scripts/test-e2e.sh --no-color --variant oxc

…and bucket the resulting failures into A/B/C groups under this section. Expect significant overlap with the SWC Group C bugs (cast wrappers, type annotations, UTF-16/WTF-8 handling) since both frontends share the post-conversion pipeline.

How this stack got here

(Historical, pre-ts-interop-stack numbers; current snapshot at top.)