The Wire · Showcase
REACT COMPILER GOES RUST, SHIPS 4MB LIGHTER
By RepoJournal · Filed · About Meta
Meta's experimental Rust port of React Compiler is live for feedback with all fixtures passing, while the team has already cut 1MB from the shipped binary by hand-parsing a single regex.
The React team shipped an early work-in-progress Rust port of React Compiler [1], built with heavy architectural guidance from humans but majority-coded by AI. No builds are available yet and there are no known gaps, but lurking bugs are possible until internal testing at Meta completes. The move is already paying dividends: the team dropped the entire regex dependency [2], which alone cost 570KB of binary bloat for a single pattern (`use memo if(condition)`). That hand-parsed replacement cascaded into another 430KB in dead code, landing the napi binary from 11.2MB down to 7.2MB on arm64 macOS [3] after they added fat LTO and symbol stripping to the release profile. Over on React Native, v0.86.0 is stabilizing with iOS text decoration finally honoring `textDecorationStyle` including the long-missing `wavy` variant [4], and the team compiled out the legacy RuntimeScheduler behind a feature flag [5]. A layout bug fix in Yoga ensures that freeing a child node now marks its parent dirty for recomputation [6], closing a correctness gap that existed since the original `YGNodeFree` implementation.
Action items
- → Monitor React Compiler Rust port for early feedback - all fixtures pass but internal testing at Meta still pending facebook/react [monitor]
- → Pin React Native to v0.86.0 if you use textDecorationStyle on iOS - wavy is now supported facebook/react-native [plan]
- → Review Yoga layout changes in your layout engine - parent dirty marking on child free is now required behavior facebook/react-native [monitor]
References
- [1] [compiler] Port React Compiler to Rust ↗ facebook/react
- [2] [rust-compiler] Drop the regex dependency from the napi binary (#36727) facebook/react
- [3] [rust-compiler] Add release profile: fat LTO, one codegen unit, strip (#36726) facebook/react
- [4] feat(ios): honor textDecorationStyle on Text decorations (#56769) facebook/react-native
- [5] Compile out RuntimeScheduler_Legacy under RCT_REMOVE_LEGACY_ARCH (#57116) facebook/react-native
- [6] YGNodeFree: mark parent dirty when child is freed facebook/react-native
FAQ
- What changed in Meta on June 10, 2026?
- Meta's experimental Rust port of React Compiler is live for feedback with all fixtures passing, while the team has already cut 1MB from the shipped binary by hand-parsing a single regex.
- What should Meta teams do about it?
- Monitor React Compiler Rust port for early feedback - all fixtures pass but internal testing at Meta still pending • Pin React Native to v0.86.0 if you use textDecorationStyle on iOS - wavy is now supported • Review Yoga layout changes in your layout engine - parent dirty marking on child free is now required behavior
- Which Meta repositories shipped on June 10, 2026?
- facebook/react, facebook/react-native