The Wire · Showcase
REACT NATIVE CUTS CLI CRUFT, KILLS LEGACY IOS FLAG
By RepoJournal · Filed · About Meta
React Native shipped five cleanup PRs overnight that strip dead code, remove published packages no one uses, and finally retire a feature gate that finished rolling out months ago.
The big one: `enableEagerMainQueueModulesOnIOS` is gone [1]. This runtime gate finished its rollout and the team inlined the eager main-queue module setup so it always runs now. That's table stakes for any team maintaining this many moving parts. In parallel, they moved `core-cli-utils` out of the public npm package and into the private/ directory [2], cutting down maintenance surface for a module with zero external consumers. Both moves reflect the kind of hygiene that keeps a codebase from calcifying. They also purged `ViewNativeComponentType` from the type exports [3], standardizing on `React.ElementRef<typeof View>` instead. On the Flow front, they're running variance codemods to shore up readonly annotations [4], catching type safety issues before they hit production. Finally, they killed a macOS debugger shell quirk that was spawning Electron unnecessarily, eliminating an annoying Dock icon flash [5].
Action items
- → Audit internal usage of enableEagerMainQueueModulesOnIOS - it's now a no-op facebook/react-native [plan]
- → Remove any external dependencies on core-cli-utils from npm facebook/react-native [plan]
- → Update ViewNativeComponentType refs to React.ElementRef<typeof View> facebook/react-native [monitor]
References
- [1] Remove enableEagerMainQueueModulesOnIOS, make eager main-queue setup always-on (#56933) facebook/react-native
- [2] Move core-cli-utils to private/ as a reference implementation (#56922) facebook/react-native
- [3] Remove unreferenced ViewNativeComponentType (#56943) facebook/react-native
- [4] Fix a few readonly 10/n (#56948) facebook/react-native
- [5] Remove --version spawn from debugger shell preparation (#56706) facebook/react-native
FAQ
- What changed in Meta on May 23, 2026?
- React Native shipped five cleanup PRs overnight that strip dead code, remove published packages no one uses, and finally retire a feature gate that finished rolling out months ago.
- What should Meta teams do about it?
- Audit internal usage of enableEagerMainQueueModulesOnIOS - it's now a no-op • Remove any external dependencies on core-cli-utils from npm • Update ViewNativeComponentType refs to React.ElementRef<typeof View>
- Which Meta repositories shipped on May 23, 2026?
- facebook/react-native