Skip to content

Bump jest and @types/jest#405

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/multi-cbfe5253e3
Closed

Bump jest and @types/jest#405
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/multi-cbfe5253e3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 16, 2026

Copy link
Copy Markdown

Bumps jest and @types/jest. These dependencies needed to be updated together.
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 @types/jest from 29.5.14 to 30.0.0

Commits


Note

Medium Risk
Major Jest upgrade can change test/runtime behavior (mocks, ESM/CJS, snapshots) across the full test matrix even though production code is untouched.

Overview
Updates devDependencies only: jest from 29.7.0 to 30.4.x and @types/jest from 29.x to ^30.0.0, with the corresponding package-lock.json refresh. No changes to library source, Jest config files, or test scripts.

This is a major Jest upgrade (runtime rewrite, CJS/ESM interop changes, new defaults). Risk is confined to unit, integration, and smoke runs (test:unit, test:integration:*, test:smoke:mocked) via existing ts-jest and @edge-runtime/jest-environment setups.

Reviewed by Cursor Bugbot for commit 30b1e39. Bugbot is set up for automated code reviews on this repo. Configure here.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 16, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-cbfe5253e3 branch 2 times, most recently from 17132aa to 6a227d3 Compare July 17, 2026 16:29
austin-denoble added a commit that referenced this pull request Jul 20, 2026
…413, #414) (#415)

## Summary

Combines five Dependabot PRs whose CI only failed because
`PINECONE_API_KEY` is not exposed to Dependabot-triggered workflow runs
(lint/build/unit/smoke were all green on each). Reopening them on a
maintainer-authored branch lets the secret-gated jobs (TS compile,
external-app, example app, integration) run and pass.

Supersedes and closes: #403, #406, #407, #413, #414.

### npm bumps
| Package | From → To | Supersedes |
|---------|-----------|------------|
| @edge-runtime/jest-environment | ^2.3.10 → ^4.0.0 | #413 |
| @edge-runtime/types | ^2.2.9 → ^4.0.0 | #407 |
| dotenv | ^16.6.1 → ^17.4.2 | #406 |
| tsx | ^4.21.0 → ^4.23.1 | #414 |
| typedoc | ^0.27.9 → ^0.28.20 | #414 |

(transitively: `@edge-runtime/vm` 3→5, `@edge-runtime/primitives`
4.1→6.0)

### GitHub Actions bumps (#403)
- `actions/checkout` v4 → v7
- `actions/setup-node` v4 → v7
- `oven-sh/setup-bun` v1 → v2

## Local verification
- ✅ `npm run build` (tsc) compiles
- ✅ `npm run lint` clean
- ✅ `npm run test:unit` — 574 passing
- ✅ `npm run docs:build` (typedoc 0.28) — 0 errors
- ✅ prettier — unchanged

## Not included
The remaining Dependabot PRs have genuine breakages and are
intentionally left out: `typescript@7` (#408, blocked by ts-jest peer),
`eslint@10` (#409), `@types/node@26` (#410, URLPattern conflict),
`@typescript-eslint@8` parser/plugin (#411/#412, must be paired), and
`jest`/`@types/jest` (#405, needs `toThrowError`→`toThrow`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Changes are limited to devDependencies and GitHub Actions versions;
the published package surface is unchanged.
> 
> **Overview**
> Bundles several safe Dependabot updates into one maintainer branch so
secret-gated CI can run.
> 
> **CI:** All workflow checkouts move from `actions/checkout@v4` to
**v7**; the TypeScript compile matrix uses `actions/setup-node@v7`; Bun
integration legs use `oven-sh/setup-bun@v2` instead of v1.
> 
> **Dev dependencies:** `@edge-runtime/jest-environment` and
`@edge-runtime/types` jump to **^4.0.0** (with newer `@edge-runtime/vm`
/ primitives for edge Jest runs). `dotenv` **^17.4.2**, `tsx`
**^4.23.1**, and `typedoc` **^0.28.20** are bumped in `package.json`
with matching `package-lock.json` changes—docs and integration tooling
only, not the published SDK runtime.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
54e7eb3. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-cbfe5253e3 branch from 6a227d3 to a0e08bf Compare July 20, 2026 04:16
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.

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 `@types/jest` from 29.5.14 to 30.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-version: 30.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: jest
  dependency-version: 30.4.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-cbfe5253e3 branch from a0e08bf to 30b1e39 Compare July 20, 2026 16:25
@austin-denoble

Copy link
Copy Markdown
Contributor

Superseded by #417, which bumps jest and @types/jest to v30 and includes the required toThrowErrortoThrow matcher migration (jest 30 removed the alias). Closing in favor of that PR.

@dependabot @github

dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/multi-cbfe5253e3 branch July 20, 2026 17:45
austin-denoble added a commit that referenced this pull request Jul 20, 2026
Bumps jest 29.7 -> 30.4 and @types/jest -> ^30.0.0. ts-jest@29.4.11 is
peer-compatible with jest 30, so no ts-jest change is needed.

jest 30 removed the `toThrowError` matcher alias, so all 97 dot-prefixed
`.toThrowError(` matcher calls across 16 test files were converted to
`.toThrow(` (local `toThrow` helper functions are unaffected).

Also removes the now-obsolete `jest`/`ts-jest` minimatch overrides (added in
#386 to patch minimatch 3.x). jest 30 no longer pulls minimatch 3.x — it uses
glob -> minimatch 10.x — so forcing 3.1.5 into that subtree produced a tree
that npm 10 (CI) rejects. The eslint/eslint-plugin-import overrides remain, and
`npm audit` reports 0 vulnerabilities. Lockfile regenerated with npm 10 to
match CI.

Dev-dependency only (no runtime deps, no peer deps); ships in a minor/patch.
Supersedes #405.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
austin-denoble added a commit that referenced this pull request Jul 20, 2026
Bumps jest 29.7 -> 30.4 and @types/jest -> ^30.0.0. ts-jest@29.4.11 is
peer-compatible with jest 30, so no ts-jest change is needed.

jest 30 removed the `toThrowError` matcher alias, so all 97 dot-prefixed
`.toThrowError(` matcher calls across 16 test files were converted to
`.toThrow(` (local `toThrow` helper functions are unaffected).

Removes the now-obsolete `jest`/`ts-jest` minimatch overrides (added in #386
to patch minimatch 3.x). jest 30 no longer pulls minimatch 3.x — it uses
glob -> minimatch 10.x — so forcing 3.1.5 into that subtree produced a tree
that npm 10 (CI) rejects. The eslint/eslint-plugin-import overrides remain, and
`npm audit` reports 0 vulnerabilities. Lockfile regenerated with npm 10 to
match CI.

Adds an override forcing @edge-runtime/jest-environment's internal @jest/*
and jest-mock to ^30. Every published edge-runtime version (incl. the beta
tag) pins jest-mock@29.5.0, which lacks the ModuleMocker.clearMocksOnScope
method that jest-runtime@30 calls during resetModules, breaking all edge
integration suites at init. The edge environment is API-compatible with
jest-mock 30. Remove this override once edge-runtime ships jest 30 support.

Dev-dependency only (no runtime deps, no peer deps); ships in a minor/patch.
Supersedes #405.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
austin-denoble added a commit that referenced this pull request Jul 20, 2026
## Summary

Bumps `jest` `29.7` → `30.4` and `@types/jest` → `^30.0.0`. This is a
**major** jest upgrade (larger than the Dependabot title implies).
`ts-jest@29.4.11` is peer-compatible with jest 30, so no `ts-jest`
change is needed.

Supersedes and closes: #405.

## Required code change

jest 30 removed the `toThrowError` matcher alias. All **97**
dot-prefixed `.toThrowError(` matcher calls across **16 test files**
were converted to `.toThrow(` (removed 97 / added 97, verified
balanced). The dot-prefix targeting leaves the local `toThrow` helper
functions untouched. One prettier reflow in `describeIndexStats.test.ts`
from the shortened lines.

## Consumer impact: none

Dev-dependency only. The package has no runtime `dependencies` and no
`peerDependencies`, and only `/dist` is published, so this ships in a
**minor/patch** with no consumer migration.

## Local verification
- ✅ `npm run build` (tsc) — compiles
- ✅ `npm run lint` — clean
- ✅ `npm run test:unit` — **574 passing under jest 30**
- ✅ prettier — clean

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Dev-dependency and test-only matcher renames; no production code or
published package surface changes.
> 
> **Overview**
> Upgrades **jest** from 29.7 to **30.4** and **@types/jest** to
**^30.0.0** (dev-only). **ts-jest** stays on v29; it remains
peer-compatible with jest 30.
> 
> Jest 30 drops the **`toThrowError`** matcher alias, so unit tests were
updated to use **`.toThrow(`** instead (bulk rename across control/data
vector tests and integration retry tests). Local helper functions named
`toThrow` were left unchanged.
> 
> No runtime or published API impact—only the test toolchain and
assertions change.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
6c41517. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant