The Wire · Showcase
REACT NATIVE FLIPS THE STRICT TYPESCRIPT SWITCH BY DEFAULT
By RepoJournal · Filed · About Meta
React Native is ending the era of deep imports and optional type safety: strict TypeScript types are now the default, not the exception.
The team shipped the big architectural win that RFC0894 promised [1]. After this change, the main react-native package resolves its types entry point by default, forcing clean APIs and killing the pattern of importing from deep library paths. This breaks any code still reaching into Libraries directly, which is exactly the point. In parallel, the team simplified how community CLI plugins resolve react-native/setup-env [2], eliminating historic path-join complexity that added nothing. They also exposed react-private-interface as an official subpath [3], replacing the old Libraries/ReactPrivate/ReactNativePrivateInterface.js pattern with a public contract between react and react-native. On the platform side, a critical fix landed for ScrollView recycling on iOS [4]: when views get reused in Fabric, contentInset was being wiped to zero, dropping valid props. That's patched. The team also hardened package validation [5] to catch manifest drift before it blocks a release, checking for required fields and enforcing the private flag where needed.
Action items
- → Audit deep imports from react-native before next minor version bump - they will break facebook/react-native [plan]
- → Update ScrollView tests on iOS if you use recycled content with custom insets facebook/react-native [monitor]
- → Review RFC0894 if you maintain a community platform - the subpath exports are now live facebook/react-native [plan]
References
- [1] Enable Strict TS API by default (#57490) facebook/react-native
- [2] Simplify react-native/setup-env require in community-cli-plugin (#57498) facebook/react-native
- [3] Expose react-private-interface subpath (#57495) facebook/react-native
- [4] Fix ScrollView recycled content inset (#57494) facebook/react-native
- [5] Extend check-packages-test to validate additional required fields (#57510) facebook/react-native