Skip to content

chore(deps-dev): bump the jest group with 2 updates#10

Open
dependabot[bot] wants to merge 15 commits into
mainfrom
dependabot/npm_and_yarn/jest-8b328d6d88
Open

chore(deps-dev): bump the jest group with 2 updates#10
dependabot[bot] wants to merge 15 commits into
mainfrom
dependabot/npm_and_yarn/jest-8b328d6d88

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Jun 1, 2026

Bumps the jest group with 2 updates: jest and babel-jest.

Updates jest from 29.7.0 to 30.4.2

Release notes

Sourced from jest's releases.

v30.4.2

Fixes

  • [jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#16150)

Full Changelog: jestjs/jest@v30.4.1...v30.4.2

v30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

Full Changelog: jestjs/jest@v30.4.0...v30.4.1

v30.4.0

Big release! 😀

Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).

In addition we now support fake timers for the recently released Temporal API in Node v26.

React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.

Due to all the changes, there might be regressions that snuck in. Please report them!

Full list of changes below

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)

... (truncated)

Changelog

Sourced from jest's changelog.

30.4.2

Fixes

  • [jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#16150)

30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

30.4.0

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)
  • [pretty-format] Support React 19 (#16123)

Fixes

  • [expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
  • [@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
  • [fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
  • [jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
  • [jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
  • [jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
  • [jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
  • [jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
  • [jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
  • [jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
  • [jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)

... (truncated)

Commits

Updates babel-jest from 29.7.0 to 30.4.1

Release notes

Sourced from babel-jest's releases.

v30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

Full Changelog: jestjs/jest@v30.4.0...v30.4.1

v30.4.0

Big release! 😀

Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).

In addition we now support fake timers for the recently released Temporal API in Node v26.

React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.

Due to all the changes, there might be regressions that snuck in. Please report them!

Full list of changes below

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)
  • [pretty-format] Support React 19 (#16123)

Fixes

  • [expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
  • [@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
  • [fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
  • [jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)

... (truncated)

Changelog

Sourced from babel-jest's changelog.

30.4.1

Features

  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)

Fixes

  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)

30.4.0

Features

  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#16062)
  • [jest-util] Add isError helper (#16076)
  • [pretty-format] Support React 19 (#16123)

Fixes

  • [expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
  • [@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
  • [fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
  • [jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
  • [jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
  • [jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
  • [jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
  • [jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
  • [jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
  • [jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
  • [jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)
  • [jest-reporters, jest-runner, jest-runtime, jest-transform] Fix coverage report not showing correct code coverage when using projects config option (#16140)
  • [jest-runtime] Resolve expect and @jest/expect from the internal module registry so test-file imports share the same JestAssertionError as the global expect (#16130)
  • [jest-runtime] Improve CJS-from-ESM interop: __esModule/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (#16050)
  • [jest-runtime] Load .js files with ESM syntax but no "type":"module" marker as native ESM (#16050)
  • [jest-runtime] Extend the .js-with-ESM-syntax fallback to require() on Node v24.9+ - falls back to require(esm) when the CJS parser rejects ESM syntax (#16078)
  • [jest-runtime] Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (#16050)

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

OmgImAlexis and others added 15 commits May 31, 2026 19:56
…nders initial screen

Two examples (with-react-navigation, with-drawer-navigation) BUNDLE_FAILed against @react-navigation/native. Many more apps in the ecosystem build on this — adding it now unblocks the cluster. Single shim backs every sub-package: createStackNavigator / createNativeStackNavigator / createDrawerNavigator / createBottomTabNavigator / createMaterialTopTabNavigator / createMaterialBottomTabNavigator all return the same {Navigator, Screen, Group} shape. Navigator walks its children for Screen entries, picks initialRouteName (or the first one), and renders that screens component prop. Actual transitions are no-ops — useNavigation returns a stub with navigate/goBack/reset that record nothing. Theme exports (DefaultTheme/DarkTheme/useTheme) cover the case where consumers spread theme.colors into their styles. CommonActions/StackActions/DrawerActions return bare action objects so navigation.dispatch calls still type-check. The expo-router shim (separate package) wraps this same level of fidelity with a routes-tree convention; in-tree navigators (Stack inside expo-router/Stack) keep working without change. @react-navigation/elements is the shared UI primitives package — returns an empty object since most consumers destructure it lazily and the rest just call helpers we no-op.
…ank-capture failure

CI run on ubuntu-24.04 hit screenshot colours=2 — the smoke caught a blank Xvfb but couldnt explain why. The default GSK cairo backend can silently produce nothing under llvmpipe-only X without a compositor; ngl falls through to llvmpipe cleanly. GTK_THEME=Adwaita is also forced so widgets render with real surface colours instead of theme-default fallbacks. On the blank-capture exit path, also tail -40 the app log to stderr so the GH Actions live output explains the failure without round-tripping to the artifact bucket. Env vars use the parent shells default-if-unset shape so a caller that already exports them keeps their choice.
Real moti is Reanimated worklets + interpolation; without worklets the shim renders Inner at the animate values immediately (skipping the from->animate transition). useDynamicAnimation/useAnimationState return refs that trigger forceUpdate when their animateTo / transitionTo fires. AnimatePresence is a passthrough. Apps mount at steady state — visually correct end frame, transition is instant.
…-components, maps, pdf, webrtc, svg, victory, react-router-dom + __esModule fix

Round-3 shims targeting the remaining single-error BUNDLE_FAILs. Also: every shim with a default export now stamps __esModule=true so esbuilds __toESM interop reads the default slot directly instead of re-wrapping our namespace under .default (the bug that left with-zustand BOOT_FAILing despite the bundle working). placeholder-components.js is a tiny shared library; the native-only packages render labeled View placeholders at the requested size so layout math survives. styled-components/native parses tagged-template-literal CSS into RN style via a tiny prop-value reducer (handles px / numbers / colors / functional interpolations). bundle.mjs gets a .svg loader: empty so direct SVG imports resolve to undefined instead of erroring (real svg-transformer comes later).
…n + class-no-extends lowering

Round-4 fixes for the remaining single-error BUNDLE_FAILs and the BOOT_FAILs from round-3. (1) Class lowering now matches any class<id> declaration, not just class extends — esbuild emits var X = class _X { ... } for plain top-level classes and Hermes 0.12 rejects that too (AssetSourceResolver hit this). Triggers for external/expo-examples/ as well as node_modules. (2) sentry shim was missing the integration factories — apps pass Sentry.mobileReplayIntegration() / feedbackIntegration() etc. into init({integrations: [...]}). Added every integration name the SDK ships plus startSpan / getActiveSpan / setMeasurement no-ops. (3) @react-navigation/native gets createStaticNavigation (React Navigation 7s static API) returning a NavigationContainer-wrapped Navigator. (4) expo-asset shim registers a stub ExpoAsset native module via expo-modules-core and exposes Asset.fromModule / loadAsync that resolve to in-bundle uris. (5) smoke harness now detects entries that already call registerRootComponent (with-react-navigation, with-storybook patterns) and side-effect-imports them instead of trying import App from. Also catches the case where bundle.mjs succeeds but hermesc rejected the .hbc — treats the missing-hbc state as BUNDLE_FAIL instead of letting it bubble to BOOT_FAIL.
… tinybase, legend-state, three+expo-gl

Round-5 stubs for the remaining BUNDLE_FAIL cluster. expo-auth-session covers with-auth0 + with-facebook-auth (Providers.Google/Facebook/etc subpaths). jwt-decode is a real 30-line base64url-decode-payload impl. apollo-client supports ApolloClient/Provider + useQuery/useMutation/useLazyQuery/gql noops (data:null/loading:false). firebase exposes /app /auth /firestore /storage with reject-network-calls semantics. @react-native-picker/picker renders labeled placeholder. tinybase + ui-react + persisters expose the createStore/useCell/useRow surface with an in-memory store. @legendapp/state covers /react /persist /sync /persist-plugins/async-storage /sync-plugins/supabase subpaths. three + expo-gl + expo-three + expo-processing share one shim: THREE.* are noop constructors, GLView renders a placeholder, no real GL backend. Skipping with-magic, with-tfjs-camera, with-aws-storage-upload, with-workbox — too narrow / web-only for smoke coverage.
…etc + colour threshold tune

Round-6 catch-up: LogBox.ignoreLogs and the other RN surfaces (Settings, ToastAndroid, Vibration, Share, findNodeHandle, UIManager, LayoutAnimation, InteractionManager, BackHandler, PermissionsAndroid, StatusBar) were missing from our react-native shim — multiple examples call them at boot and threw before mounting. All no-ops; StatusBar is a render-null function component. Smoke colour threshold lowered 16 → 4. Apps that render a single dark <GLView/> placeholder produce k=2 but are mounted correctly; 16 was too aggressive. Blank Xvfb is k=1, so 4 still catches binary-lives-but-no-window. New misc-stubs.js covers the one-example tail: magic-sdk, react-three-fiber, react-native-get-random-values, supabase-js, aws-amplify trio, tensorflow trio. All stay flat — no real network calls; promises reject or resolve empty so apps surface error UI.
with-firebase-storage-upload imported uuid via import uuid from uuid, but the real packages ESM build has no default export — esbuild rejected the bundle. The shim adds a default + the named v1/v3/v4/v5/v7 exports so either import shape resolves. v4 uses our existing cryptoRandomBytes CSPRNG. Smoke colour threshold dropped to 2. Apps that render a solid-color placeholder (with-three, with-react-three-fiber, with-workbox) produce k=2 but are mounted correctly. Blank Xvfb is still k=1, so the gate catches binary-lives-but-no-window — just no longer trips on legitimately-rendered single-color frames.
… window/document/navigator/location global polyfills

with-legend-state-supabase called observablePersistAsyncStorage (lowercase factory) — newer @legendapp/state versions use that form alongside the capitalized ObservablePersistAsyncStorage constructor. Added both. with-workbox imports a local serviceWorkerRegistration that does window.addEventListener — pure web-only code. Polyfilled globalThis.window as an alias of globalThis, with safe location/navigator/document/addEventListener stubs so the bundle doesnt explode at parse time. Cross-platform feature checks (typeof window === undefined, typeof document === undefined) still take the no-DOM branch.
expo-router apps with the src/app/ layout (with-graphql, with-html, with-react-flow, with-tailwindcss, with-shadcn, with-webgpu, with-react-strict-dom, with-router-*) were being SKIPPED because the detection only looked for app/ at the example root. All 11 of those now flip to PASS through the same expo-router/entry placeholder path; their package.json still points main at expo-router/entry, just the route tree lives one level deeper.
Full sweep after the shim rounds. Numbers: PASS 67, BUNDLE_FAIL 0, BOOT_FAIL 0, SKIPPED 2 (with-router has no app code; with-yarn-workspaces is a monorepo wrapper). Up from baseline 10/69. Round-by-round progression: 10 -> 26 -> 37 -> 42 -> 47 -> 51 -> 54 -> 56 -> 67.
…ler hook

Workspace bump: react-native ^0.85.3, react 19.2.3, react-test-renderer 19.2.3, @react-native/babel-preset ^0.85.3, @react-native/metro-config ^0.85.3 across all five workspace package.json files. C++ surface changes for 0.85: (1) ContextContainer::Shared was removed — replaced with std::shared_ptr<const ContextContainer> in TextLayoutManager.cpp + RNLinuxHost.cpp (the toolbox.componentRegistryFactory lambda signature). (2) SchedulerDelegate gained a new pure virtual schedulerShouldMergeReactRevision(SurfaceId) for React Server Components / View Transitions — added a no-op override in LinuxSchedulerDelegate. (3) RN 0.85 split jsinspector-modern further (TraceEventSerializer + ConsoleTaskOrchestrator + ConsoleTask + ConsoleTaskContext + network/HttpUtils + network/CdpNetwork are now standalone TUs), added a perf/cdpmetrics layer (CdpMetricsReporter + CdpPerfIssuesReporter + CdpInteractionTypes), and introduced a C++ animation backend (renderer/animationbackend/AnimationBackend + AnimationBackendCommitHook + AnimatedPropsRegistry + AnimatedPropSerializer) — Scheduler constructs all of these unconditionally, so added them to the rn_renderer glob. (4) Hermes pin bumped from RN 0.81 sha (e0fc6714) to hermes-v0.16.0 (d527210). Hermes 0.16 renamed the library target from libhermes/hermes to hermesvm; FetchHermes.cmake now prefers hermesvm and falls back. Hermes 0.16s JSI ABI is still compatible with our bindings — no porting work needed in vnext/src/jsi/. Verified end-to-end: smoke-playground on index.tsx produces 13789 colours, JSX commit done, no crash.
Two bugs surfaced when running with-zustand interactively (smoke gate didn't catch either — the ErrorBoundary fell back to a rendered surface that still passed the pixel/colour check). (1) useStore did useSyncExternalStore(subscribe, () => sel(getState()))

Returning a fresh object reference every getSnapshot call trips React's tear-detection: The result of getSnapshot should be cached and the render loops to Maximum update depth exceeded. Fix: cache the last selector result via useRef and reuse it whenever the equality fn (Object.is or the consumer's shallow) reports the new selection matches. (2) zustand/shallow returned {shallow} as a namespace object, so import shallow from zustand/shallow gave the namespace not the function — useStore's typeof equalityFn === function check failed and it fell back to Object.is, which never matches fresh selector outputs. Fix: emit the sub-path as a __esModule-stamped namespace with both default and named exports pointing at the function so either import shape works.
Bumps the jest group with 2 updates: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest).


Updates `jest` from 29.7.0 to 30.4.2
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.4.2/packages/jest)

Updates `babel-jest` from 29.7.0 to 30.4.1
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.4.1/packages/babel-jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-version: 30.4.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: jest
- dependency-name: babel-jest
  dependency-version: 30.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: jest
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github Jun 1, 2026

Labels

The following labels could not be found: javascript. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant