Change8

v30.4.1

Breaking Changes
📦 jestView on GitHub →
1 breaking1 features🔧 6 symbols

Summary

Jest v30.4.1 introduces support for tuple-formatted custom runner configurations and aligns the CJS-from-ESM default export behavior in jest-runtime with Node standards, which may require adjustments for consumers of ESM modules.

⚠️ Breaking Changes

  • CJS-from-ESM default export behavior in `jest-runtime` has changed to align with Node. Previously, Jest unwrapped `__esModule`, but now `module.exports` is always the ESM default export, meaning code relying on the old unwrapping behavior might break.

Migration Steps

  1. If you rely on CJS-from-ESM default exports in `jest-runtime`, be aware that Jest no longer automatically unwraps `__esModule`. Adjust code that imports ESM modules as CommonJS if it expected the default export to be the value of `default`.

✨ New Features

  • Custom runner configuration options can now be specified using a tuple format `['runner-path', {options}]` across `jest-config`, `jest-core`, `jest-runner`, `jest-schemas`, and `jest-types`.

Affected Symbols