The Wire · Showcase
Jest's resolver gets a major speedup and Node-compatible module handling
By RepoJournal · Filed · About Meta
SimenB's latest PRs cut repeated work on the resolution hot path and fix several long-standing module system bugs, making Jest faster and more accurate than ever.
Jest's resolver hot path just got leaner [1], cutting repeated work on every resolution, and the shouldLoadAsEsm lookup caches are fixed [2] after a bug that survived since v16. Jest's runtime now mirrors Node's ESM/CJS interop [3] and throws ERR_REQUIRE_CYCLE_MODULE on require(esm) re-entry [4], closing a double-execution gap. CustomConsole now buffers output [5], so reporters finally get console data in verbose mode. Meanwhile, React Native graduates three style props [6] and removes the Android font weight flag [7], simplifying the API. A SwiftPM fix [8] addresses array build settings, a subtle but real bug for iOS projects. CI moves to macOS 26 runners [9], and ref callbacks now return void explicitly [10], matching React's contract. The period saw 24 commits and 10 PRs across two repos, with SimenB dominating Jest's improvements.
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 your Jest setup with the latest resolver and runtime fixes to catch any behavior changes facebook/jest [plan]
- → Upgrade React Native to include the SwiftPM fix if you use array build settings facebook/react-native [plan]
- → Monitor the style prop graduation to update any experimental_ usage facebook/react-native [monitor]
References
- [1] perf(jest-resolve): cut repeated work on the resolution hot path ↗ facebook/jest
- [2] fix(jest-resolve): repair the `shouldLoadAsEsm` lookup caches ↗ facebook/jest
- [3] fix(jest-runtime): mirror Node's ESM/CJS interop and entry-point metadata ↗ facebook/jest
- [4] fix(jest-runtime): throw ERR_REQUIRE_CYCLE_MODULE on require(esm) re-entry ↗ facebook/jest
- [5] fix(jest-console): buffer console output in CustomConsole for reporters ↗ facebook/jest
- [6] feat(style): remove `experimental_` prefix from `backgroundSize`, `backgroundPosition` and `backgroundRepeat` (#57563) facebook/react-native
- [7] Remove enableAndroidFontWeightAdjustment feature flag (#57990) facebook/react-native
- [8] fix(swiftpm): fix two ways array build settings were mishandled (#57744) facebook/react-native
- [9] Use macOS 26 runners for iOS E2E tests (#57993) facebook/react-native
- [10] Remove accidental ref callback return values (#57849) facebook/react-native