chore(deps): upgrade Jest to v30

What does this MR do?

Upgrades the Jest monorepo (jest, @jest/globals, @types/jest) to v30 together, replacing !2668 (closed) which bumped @jest/globals in isolation.

Why the isolated bump failed

Bumping only @jest/globals to v30 while jest stayed at v29 left two copies of expect installed:

  • node_modules/expect at 29.7.0 (from jest@29)
  • node_modules/@jest/globals/node_modules/expect at 30.4.1

Tests using import { expect } from '@jest/globals' resolved Matchers from the nested v30 copy (whose interface gained a second type parameter), while the custom matcher augmentation declare module 'expect' targeted the top-level v29 copy. The two no longer merged, so the toBeEquivalentUrl custom matcher was not found and tsc failed. Because every build, package, integration, and e2e job runs tsc, they all failed. test-unit passed since it uses the Jest runtime (still v29), not the v30 types.

The version skew is unavoidable while jest and @jest/globals are on different majors, so the Jest packages have to move together.

Changes

  • jest ^30.4.2, @jest/globals ^30.4.1, @types/jest ^30.0.0. ts-jest stays at ^29 (no v30 release yet; 29.4.x already supports Jest 30). After this there is a single expect@30.
  • Updated the toBeEquivalentUrl matcher augmentation in search_input.test.ts to the v30 two parameter Matchers signature.
  • Replaced matcher aliases removed in Jest 30 across the test suite: toBeCalled to toHaveBeenCalled, toBeCalledWith to toHaveBeenCalledWith, toBeCalledTimes to toHaveBeenCalledTimes, lastCalledWith to toHaveBeenLastCalledWith, toThrowError to toThrow.

Verification

  • tsc -p . --noEmit: 0 errors (was 52)
  • jest: 292 suites / 2506 tests pass

Merge request reports

Loading
Loading