The Wire · Showcase
REACT FLIPS PARALLEL TRANSITIONS BY DEFAULT, JEST FIXES ESM NAMESPACE COLLISIONS
By RepoJournal · Filed · About Meta
Parallel transitions move from experimental to standard across React and React Native, while Jest patches critical bugs in module resolution and test serialization.
React shipped the enableParallelTransitions flag enabled by default in OSS and canary builds [1], reversing an earlier experimental gate and rolling out to all forks except Meta's www infrastructure, which remains gated. This unlocks non-blocking state updates across the stack. Over in React Native, the team added idle frame spans to the Performance timeline to capture vsync gaps in DevTools [2], with frame recording promoted to canary [3], while also fixing a critical Hermes bytecode version mismatch in SwiftPM Release builds that was crashing apps on launch [4]. Jest landed three high-impact fixes: a namespace collision where `import * as a from 'fs'` and `import * as b from 'node:fs'` were treated as separate modules instead of one unified namespace [5], resolution of the `module-sync` export condition so packages exposing ESM-loadable-via-require entries now resolve correctly [7], and BigInt serialization in test titles [6]. Pretty-format also addressed a supply chain risk by moving react-is aliases into the @jest scope after unrelated npm accounts claimed the old alias names [8].
One email a day. Unsubscribe in one click.
Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Test parallel transitions in dev builds and plan rollout to production facebook/react [plan]
- → Update Jest if you use `module-sync` export conditions or BigInt in test parameters facebook/jest [plan]
- → Apply Hermes SwiftPM fix immediately if building React Native with Release configuration facebook/react-native [immediate]
- → Monitor idle frame spans in DevTools for performance regressions facebook/react-native [monitor]
References
- [1] [flags] Enable enableParallelTransitions ↗ facebook/react
- [2] Add idle frame support to Performance timeline (#57952) facebook/react-native
- [3] Promote fuseboxFrameRecordingEnabled to canary (#57953) facebook/react-native
- [4] Fix Hermes bytecode version mismatch in SwiftPM Release builds (#57928) facebook/react-native
- [5] fix(jest-runtime): give `fs` and `node:fs` one ESM namespace ↗ facebook/jest
- [6] fix(jest-each): serialize bigint values in `%j` titles ↗ facebook/jest
- [7] feat(jest-runtime): resolve the `module-sync` export condition ↗ facebook/jest
- [8] fix(pretty-format): move the react-is aliases into the `@jest` scope ↗ facebook/jest