Bump the npm-dependencies group across 1 directory with 8 updates (#684)

Bumps the npm-dependencies group with 8 updates in the /sources
directory:

| Package | From | To |
| --- | --- | --- |
|
[@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals)
| `29.7.0` | `30.0.4` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `20.19.0` | `24.0.10` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.34.0` | `8.36.0` |
| [globals](https://github.com/sindresorhus/globals) | `16.2.0` |
`16.3.0` |
| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) |
`29.7.0` | `30.0.4` |
|
[@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest)
| `29.5.14` | `30.0.0` |
| [prettier](https://github.com/prettier/prettier) | `3.5.3` | `3.6.2` |
| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.3.4` | `29.4.0`
|


Updates `@jest/globals` from 29.7.0 to 30.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/releases"><code>@​jest/globals</code>'s
releases</a>.</em></p>
<blockquote>
<h2>30.0.2</h2>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-matcher-utils]</code> Make 'deepCyclicCopyObject' safer
by setting descriptors to a null-prototype object (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
<li><code>[jest-util]</code> Make garbage collection protection property
writable (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">https://github.com/jestjs/jest/blob/main/CHANGELOG.md</a></p>
<h2>Jest 30.0.1</h2>
<h2>What's Changed</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-resolver]</code> Implement the
<code>defaultAsyncResolver</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15679">#15679</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-resolver]</code> Resolve builtin modules correctly (<a
href="https://redirect.github.com/jestjs/jest/pull/15683">#15683</a>)</li>
<li><code>[jest-environment-node, jest-util]</code> Avoid setting
globals cleanup protection symbol when feature is off (<a
href="https://redirect.github.com/jestjs/jest/pull/15684">#15684</a>)</li>
</ul>
<h3>Chore &amp; Maintenance</h3>
<ul>
<li><code>[*]</code> Remove and deprecate <code>jest-repl</code> package
(<a
href="https://redirect.github.com/jestjs/jest/pull/15673">#15673</a>)</li>
<li><code>[jest-resolver]</code> Replace custom
<code>isBuiltinModule</code> with node's <code>isBuiltin</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15685">#15685</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vovkasm"><code>@​vovkasm</code></a> made
their first contribution in <a
href="https://redirect.github.com/jestjs/jest/pull/15687">jestjs/jest#15687</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">https://github.com/jestjs/jest/blob/main/CHANGELOG.md</a></p>
<h2>Jest 30</h2>
<p>Today we are happy to announce the release of Jest 30. This release
features a substantial number of changes, fixes, and improvements. While
it is one of the largest major releases of Jest ever, we admit that
three years for a major release is too long. In the future, we are
aiming to make more frequent major releases to keep Jest great for the
next decade.</p>
<p>If you want to skip all the news and just get going, run <code>npm
install jest@^30.0.0</code> and follow the migration guide: <a
href="https://jestjs.io/docs/upgrading-to-jest30">Upgrading from Jest 29
to 30</a>.</p>
<p><a href="https://jestjs.io/blog/2025/06/04/jest-30">Read the full
blog post</a></p>
<h3>Features</h3>
<ul>
<li><code>[*]</code> Renamed <code>globalsCleanupMode</code> to
<code>globalsCleanup</code> and
<code>--waitNextEventLoopTurnForUnhandledRejectionEvents</code> to
<code>--waitForUnhandledRejections</code></li>
<li><code>[expect]</code> Add <code>ArrayOf</code> asymmetric matcher
for validating array elements. (<a
href="https://redirect.github.com/jestjs/jest/pull/15567">#15567</a>)</li>
<li><code>[babel-jest]</code> Add option <code>excludeJestPreset</code>
to allow opting out of <code>babel-preset-jest</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15164">#15164</a>)</li>
<li><code>[expect]</code> Revert <a
href="https://redirect.github.com/jestjs/jest/pull/15038">#15038</a> to
fix
<code>expect(fn).toHaveBeenCalledWith(expect.objectContaining(...))</code>
when there are multiple calls (<a
href="https://redirect.github.com/jestjs/jest/pull/15508">#15508</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config]</code> Add
<code>waitNextEventLoopTurnForUnhandledRejectionEvents</code> flag to
minimise performance impact of correct detection of unhandled promise
rejections introduced in <a
href="https://redirect.github.com/jestjs/jest/pull/14315">#14315</a> (<a
href="https://redirect.github.com/jestjs/jest/pull/14681">#14681</a>)</li>
<li><code>[jest-circus]</code> Add a <code>waitBeforeRetry</code> option
to <code>jest.retryTimes</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/14738">#14738</a>)</li>
<li><code>[jest-circus]</code> Add a <code>retryImmediately</code>
option to <code>jest.retryTimes</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/14696">#14696</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> Allow
<code>setupFilesAfterEnv</code> to export an async function (<a
href="https://redirect.github.com/jestjs/jest/issues/10962">#10962</a>)</li>
<li><code>[jest-circus, jest-test-result]</code> Add
<code>startedAt</code> timestamp in <code>TestCaseResultObject</code>
within <code>onTestCaseResult</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15145">#15145</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md"><code>@​jest/globals</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>30.0.4</h2>
<h3>Features</h3>
<ul>
<li><code>[expect]</code> The <code>Inverse</code> type is now exported
(<a
href="https://redirect.github.com/jestjs/jest/pull/15714">#15714</a>)</li>
<li><code>[expect]</code> feat: support <code>async functions</code> in
<code>toBe</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15704">#15704</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest]</code> jest --onlyFailures --listTests now correctly
lists only failed tests (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals/issues/15700">#15700</a>)</li>
<li><code>[jest-snapshot]</code> Handle line endings in snapshots (<a
href="https://redirect.github.com/jestjs/jest/pull/15708">#15708</a>)</li>
</ul>
<h2>30.0.3</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-config]</code> Fix ESM TS config loading in a CJS
project (<a
href="https://redirect.github.com/jestjs/jest/pull/15694">#15694</a>)</li>
<li><code>[jest-core]</code> jest --onlyFailures --listTests now
correctly lists only failed tests(<a
href="https://redirect.github.com/jestjs/jest/pull/15700">#15700</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><code>[jest-diff]</code> Show non-printable control characters to
diffs (<a
href="https://redirect.github.com/facebook/jest/pull/15696">#15696</a>)</li>
</ul>
<h2>30.0.2</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-matcher-utils]</code> Make 'deepCyclicCopyObject' safer
by setting descriptors to a null-prototype object (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
<li><code>[jest-util]</code> Make garbage collection protection property
writable (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
</ul>
<h2>30.0.1</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-resolver]</code> Implement the
<code>defaultAsyncResolver</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15679">#15679</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-resolver]</code> Resolve builtin modules correctly (<a
href="https://redirect.github.com/jestjs/jest/pull/15683">#15683</a>)</li>
<li><code>[jest-environment-node, jest-util]</code> Avoid setting
globals cleanup protection symbol when feature is off (<a
href="https://redirect.github.com/jestjs/jest/pull/15684">#15684</a>)</li>
</ul>
<h3>Chore &amp; Maintenance</h3>
<ul>
<li><code>[*]</code> Remove and deprecate <code>jest-repl</code> package
(<a
href="https://redirect.github.com/jestjs/jest/pull/15673">#15673</a>)</li>
<li><code>[jest-resolver]</code> Replace custom
<code>isBuiltinModule</code> with node's <code>isBuiltin</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15685">#15685</a>)</li>
</ul>
<h2>30.0.0</h2>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f4296d2bc8"><code>f4296d2</code></a>
v30.0.4</li>
<li><a
href="d4a6c94daf"><code>d4a6c94</code></a>
v30.0.3</li>
<li><a
href="393acbfac3"><code>393acbf</code></a>
v30.0.2</li>
<li><a
href="5ce865b406"><code>5ce865b</code></a>
v30.0.1</li>
<li><a
href="469f665c2d"><code>469f665</code></a>
v30.0.0</li>
<li><a
href="ce14203d91"><code>ce14203</code></a>
v30.0.0-rc.1</li>
<li><a
href="ac334c0cdf"><code>ac334c0</code></a>
v30.0.0-beta.8</li>
<li><a
href="7c799e579e"><code>7c799e5</code></a>
v30.0.0-beta.7</li>
<li><a
href="4f964497dc"><code>4f96449</code></a>
v30.0.0-beta.6</li>
<li><a
href="286dc4a398"><code>286dc4a</code></a>
v30.0.0-beta.5</li>
<li>Additional commits viewable in <a
href="https://github.com/jestjs/jest/commits/v30.0.4/packages/jest-globals">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~cpojer">cpojer</a>, a new releaser for
<code>@​jest/globals</code> since your current version.</p>
</details>
<br />

Updates `@types/node` from 20.19.0 to 24.0.10
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 8.34.0 to 8.36.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.36.0</h2>
<h2>8.36.0 (2025-07-07)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>typescript-eslint:</strong> support <code>basePath</code> in
<code>tseslint.config()</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11357">#11357</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>v8.35.1</h2>
<h2>8.35.1 (2025-06-30)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li>remove prettier from eslint-plugin (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11339">#11339</a>)</li>
<li><strong>website:</strong> did not find a source file error if url
hash doesn't contain fileType (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11350">#11350</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Abhijeet Singh <a
href="https://github.com/cseas"><code>@​cseas</code></a></li>
<li>mdm317</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>v8.35.0</h2>
<h2>8.35.0 (2025-06-23)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-base-to-string] add checkUnknown
Option (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11128">#11128</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>website:</strong> acquired types are shown in the editor but
not reflected in linting (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11198">#11198</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kim Sang Du <a
href="https://github.com/developer-bandi"><code>@​developer-bandi</code></a></li>
<li>mdm317</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>v8.34.1</h2>
<h2>8.34.1 (2025-06-16)</h2>
<h3>🩹 Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.36.0 (2025-07-07)</h2>
<p>This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.</p>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>8.35.1 (2025-06-30)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li>remove prettier from eslint-plugin (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11339">#11339</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Abhijeet Singh <a
href="https://github.com/cseas"><code>@​cseas</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>8.35.0 (2025-06-23)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-base-to-string] add checkUnknown
Option (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11128">#11128</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kim Sang Du <a
href="https://github.com/developer-bandi"><code>@​developer-bandi</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>8.34.1 (2025-06-16)</h2>
<p>This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.</p>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="84b7a2e905"><code>84b7a2e</code></a>
chore(release): publish 8.36.0</li>
<li><a
href="d1388fc0c9"><code>d1388fc</code></a>
fix(eslint-plugin): [no-deprecated] should allow ignoring of deprecated
value...</li>
<li><a
href="4a60d3e96c"><code>4a60d3e</code></a>
docs(eslint-plugin): [only-throw-error] document options (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11348">#11348</a>)</li>
<li><a
href="1ca81c14ba"><code>1ca81c1</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in no-...</li>
<li><a
href="e2ecca60d9"><code>e2ecca6</code></a>
chore: fix issues introduced by updated <code>nx</code> configuration
(<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11230">#11230</a>)</li>
<li><a
href="f9bd7d86fc"><code>f9bd7d8</code></a>
chore(release): publish 8.35.1</li>
<li><a
href="db32b8a82d"><code>db32b8a</code></a>
docs: update only-throw-error documentation allowRethrowing (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11346">#11346</a>)</li>
<li><a
href="3e545207f0"><code>3e54520</code></a>
fix: remove prettier from eslint-plugin (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11339">#11339</a>)</li>
<li><a
href="d19c9f383a"><code>d19c9f3</code></a>
chore(release): publish 8.35.0</li>
<li><a
href="f000a1f0c7"><code>f000a1f</code></a>
feat(eslint-plugin): [no-base-to-string] add checkUnknown Option (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11128">#11128</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.36.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 16.2.0 to 16.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v16.3.0</h2>
<ul>
<li>Update globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/304">#304</a>)
8c029d9</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0">https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2b85fdbacb"><code>2b85fdb</code></a>
16.3.0</li>
<li><a
href="8c029d9f30"><code>8c029d9</code></a>
Update globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/304">#304</a>)</li>
<li><a
href="abd92bba0a"><code>abd92bb</code></a>
Improve builtin globals creation (<a
href="https://redirect.github.com/sindresorhus/globals/issues/303">#303</a>)</li>
<li><a
href="3ad88b6cdd"><code>3ad88b6</code></a>
Rewrite scripts to get globals in browser (<a
href="https://redirect.github.com/sindresorhus/globals/issues/300">#300</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jest` from 29.7.0 to 30.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/releases">jest's
releases</a>.</em></p>
<blockquote>
<h2>30.0.2</h2>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-matcher-utils]</code> Make 'deepCyclicCopyObject' safer
by setting descriptors to a null-prototype object (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
<li><code>[jest-util]</code> Make garbage collection protection property
writable (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">https://github.com/jestjs/jest/blob/main/CHANGELOG.md</a></p>
<h2>Jest 30.0.1</h2>
<h2>What's Changed</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-resolver]</code> Implement the
<code>defaultAsyncResolver</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15679">#15679</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-resolver]</code> Resolve builtin modules correctly (<a
href="https://redirect.github.com/jestjs/jest/pull/15683">#15683</a>)</li>
<li><code>[jest-environment-node, jest-util]</code> Avoid setting
globals cleanup protection symbol when feature is off (<a
href="https://redirect.github.com/jestjs/jest/pull/15684">#15684</a>)</li>
</ul>
<h3>Chore &amp; Maintenance</h3>
<ul>
<li><code>[*]</code> Remove and deprecate <code>jest-repl</code> package
(<a
href="https://redirect.github.com/jestjs/jest/pull/15673">#15673</a>)</li>
<li><code>[jest-resolver]</code> Replace custom
<code>isBuiltinModule</code> with node's <code>isBuiltin</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15685">#15685</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vovkasm"><code>@​vovkasm</code></a> made
their first contribution in <a
href="https://redirect.github.com/jestjs/jest/pull/15687">jestjs/jest#15687</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">https://github.com/jestjs/jest/blob/main/CHANGELOG.md</a></p>
<h2>Jest 30</h2>
<p>Today we are happy to announce the release of Jest 30. This release
features a substantial number of changes, fixes, and improvements. While
it is one of the largest major releases of Jest ever, we admit that
three years for a major release is too long. In the future, we are
aiming to make more frequent major releases to keep Jest great for the
next decade.</p>
<p>If you want to skip all the news and just get going, run <code>npm
install jest@^30.0.0</code> and follow the migration guide: <a
href="https://jestjs.io/docs/upgrading-to-jest30">Upgrading from Jest 29
to 30</a>.</p>
<p><a href="https://jestjs.io/blog/2025/06/04/jest-30">Read the full
blog post</a></p>
<h3>Features</h3>
<ul>
<li><code>[*]</code> Renamed <code>globalsCleanupMode</code> to
<code>globalsCleanup</code> and
<code>--waitNextEventLoopTurnForUnhandledRejectionEvents</code> to
<code>--waitForUnhandledRejections</code></li>
<li><code>[expect]</code> Add <code>ArrayOf</code> asymmetric matcher
for validating array elements. (<a
href="https://redirect.github.com/jestjs/jest/pull/15567">#15567</a>)</li>
<li><code>[babel-jest]</code> Add option <code>excludeJestPreset</code>
to allow opting out of <code>babel-preset-jest</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15164">#15164</a>)</li>
<li><code>[expect]</code> Revert <a
href="https://redirect.github.com/jestjs/jest/pull/15038">#15038</a> to
fix
<code>expect(fn).toHaveBeenCalledWith(expect.objectContaining(...))</code>
when there are multiple calls (<a
href="https://redirect.github.com/jestjs/jest/pull/15508">#15508</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config]</code> Add
<code>waitNextEventLoopTurnForUnhandledRejectionEvents</code> flag to
minimise performance impact of correct detection of unhandled promise
rejections introduced in <a
href="https://redirect.github.com/jestjs/jest/pull/14315">#14315</a> (<a
href="https://redirect.github.com/jestjs/jest/pull/14681">#14681</a>)</li>
<li><code>[jest-circus]</code> Add a <code>waitBeforeRetry</code> option
to <code>jest.retryTimes</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/14738">#14738</a>)</li>
<li><code>[jest-circus]</code> Add a <code>retryImmediately</code>
option to <code>jest.retryTimes</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/14696">#14696</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> Allow
<code>setupFilesAfterEnv</code> to export an async function (<a
href="https://redirect.github.com/jestjs/jest/issues/10962">#10962</a>)</li>
<li><code>[jest-circus, jest-test-result]</code> Add
<code>startedAt</code> timestamp in <code>TestCaseResultObject</code>
within <code>onTestCaseResult</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15145">#15145</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">jest's
changelog</a>.</em></p>
<blockquote>
<h2>30.0.4</h2>
<h3>Features</h3>
<ul>
<li><code>[expect]</code> The <code>Inverse</code> type is now exported
(<a
href="https://redirect.github.com/jestjs/jest/pull/15714">#15714</a>)</li>
<li><code>[expect]</code> feat: support <code>async functions</code> in
<code>toBe</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15704">#15704</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest]</code> jest --onlyFailures --listTests now correctly
lists only failed tests (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15700">#15700</a>)</li>
<li><code>[jest-snapshot]</code> Handle line endings in snapshots (<a
href="https://redirect.github.com/jestjs/jest/pull/15708">#15708</a>)</li>
</ul>
<h2>30.0.3</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-config]</code> Fix ESM TS config loading in a CJS
project (<a
href="https://redirect.github.com/jestjs/jest/pull/15694">#15694</a>)</li>
<li><code>[jest-core]</code> jest --onlyFailures --listTests now
correctly lists only failed tests(<a
href="https://redirect.github.com/jestjs/jest/pull/15700">#15700</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><code>[jest-diff]</code> Show non-printable control characters to
diffs (<a
href="https://redirect.github.com/facebook/jest/pull/15696">#15696</a>)</li>
</ul>
<h2>30.0.2</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-matcher-utils]</code> Make 'deepCyclicCopyObject' safer
by setting descriptors to a null-prototype object (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
<li><code>[jest-util]</code> Make garbage collection protection property
writable (<a
href="https://redirect.github.com/jestjs/jest/pull/15689">#15689</a>)</li>
</ul>
<h2>30.0.1</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-resolver]</code> Implement the
<code>defaultAsyncResolver</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15679">#15679</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-resolver]</code> Resolve builtin modules correctly (<a
href="https://redirect.github.com/jestjs/jest/pull/15683">#15683</a>)</li>
<li><code>[jest-environment-node, jest-util]</code> Avoid setting
globals cleanup protection symbol when feature is off (<a
href="https://redirect.github.com/jestjs/jest/pull/15684">#15684</a>)</li>
</ul>
<h3>Chore &amp; Maintenance</h3>
<ul>
<li><code>[*]</code> Remove and deprecate <code>jest-repl</code> package
(<a
href="https://redirect.github.com/jestjs/jest/pull/15673">#15673</a>)</li>
<li><code>[jest-resolver]</code> Replace custom
<code>isBuiltinModule</code> with node's <code>isBuiltin</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15685">#15685</a>)</li>
</ul>
<h2>30.0.0</h2>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f4296d2bc8"><code>f4296d2</code></a>
v30.0.4</li>
<li><a
href="d4a6c94daf"><code>d4a6c94</code></a>
v30.0.3</li>
<li><a
href="393acbfac3"><code>393acbf</code></a>
v30.0.2</li>
<li><a
href="5ce865b406"><code>5ce865b</code></a>
v30.0.1</li>
<li><a
href="469f665c2d"><code>469f665</code></a>
v30.0.0</li>
<li><a
href="ce14203d91"><code>ce14203</code></a>
v30.0.0-rc.1</li>
<li><a
href="0ab14ba85d"><code>0ab14ba</code></a>
v30.0.0-beta.9</li>
<li><a
href="ac334c0cdf"><code>ac334c0</code></a>
v30.0.0-beta.8</li>
<li><a
href="7c799e579e"><code>7c799e5</code></a>
v30.0.0-beta.7</li>
<li><a
href="4f964497dc"><code>4f96449</code></a>
v30.0.0-beta.6</li>
<li>Additional commits viewable in <a
href="https://github.com/jestjs/jest/commits/v30.0.4/packages/jest">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/jest` from 29.5.14 to 30.0.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.5.3 to 3.6.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.6.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add missing blank line around code block by <a
href="https://github.com/fisker"><code>@​fisker</code></a> in <a
href="https://redirect.github.com/prettier/prettier/pull/17675">prettier/prettier#17675</a></li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#362">Changelog</a></p>
<h2>3.6.1</h2>
<ul>
<li>Fix &quot;Warning: File descriptor 39 closed but not opened in
unmanaged mode&quot; error when running
<code>--experimental-cli</code></li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#361">Changelog</a></p>
<h2>3.6.0</h2>
<p><a
href="https://github.com/prettier/prettier/compare/3.5.3...3.6.0">diff</a></p>
<p>🔗 <a href="https://prettier.io/blog/2025/06/23/3.6.0">Release note
&quot;Prettier 3.6: Experimental fast CLI and new OXC and Hermes
plugins!&quot;</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.6.2</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.6.1...3.6.2">diff</a></p>
<h4>Markdown: Add missing blank line around code block (<a
href="https://redirect.github.com/prettier/prettier/pull/17675">#17675</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="md"><code>&lt;!-- Input --&gt;
1. Some text, and code block below, with newline after code block
<pre lang="yaml"><code>---
foo: bar
</code></pre>
<ol>
<li>Another</li>
<li>List</li>
</ol>
<p>&lt;!-- Prettier 3.6.1 --&gt;</p>
<ol>
<li>
<p>Some text, and code block below, with newline after code block</p>
<pre lang="yaml"><code>---
foo: bar
</code></pre>
<ol>
<li>Another</li>
<li>List</li>
</ol>
</li>
</ol>
<p>&lt;!-- Prettier 3.6.2 --&gt;</p>
<ol>
<li>
<p>Some text, and code block below, with newline after code block</p>
<pre lang="yaml"><code>---
foo: bar
</code></pre>
<ol>
<li>Another</li>
<li>List<br />
</code></pre></li>
</ol>
</li>
</ol>
<h1>3.6.1</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.6.0...3.6.1">diff</a></p>
<h4>TypeScript: Allow const without initializer (<a
href="https://redirect.github.com/prettier/prettier/pull/17650">#17650</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/17654">#17654</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="jsx"><code>// Input
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a8b05f415"><code>7a8b05f</code></a>
Release 3.6.2</li>
<li><a
href="46526b49b6"><code>46526b4</code></a>
Add missing blank line around code block (<a
href="https://redirect.github.com/prettier/prettier/issues/17675">#17675</a>)</li>
<li><a
href="a04ec1196f"><code>a04ec11</code></a>
chore(deps): update babel to v7.27.7 (<a
href="https://redirect.github.com/prettier/prettier/issues/17684">#17684</a>)</li>
<li><a
href="32be5b6b44"><code>32be5b6</code></a>
chore(deps): update dependency flow-parser to v0.274.1 (<a
href="https://redirect.github.com/prettier/prettier/issues/17676">#17676</a>)</li>
<li><a
href="b55e777924"><code>b55e777</code></a>
Update docs about &quot;TypeScript Configuration Files&quot; (<a
href="https://redirect.github.com/prettier/prettier/issues/17677">#17677</a>)</li>
<li><a
href="b197c99224"><code>b197c99</code></a>
chore(deps): update dependency <code>@​vitejs/plugin-react</code> to
v4.6.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/17674">#17674</a>)</li>
<li><a
href="1185f8370a"><code>1185f83</code></a>
chore(deps): update dependency <code>@​angular/compiler</code> to
v20.0.5 (<a
href="https://redirect.github.com/prettier/prettier/issues/17680">#17680</a>)</li>
<li><a
href="aa1316fa60"><code>aa1316f</code></a>
chore(deps): update dependency browserslist to v4.25.1 (<a
href="https://redirect.github.com/prettier/prettier/issues/17671">#17671</a>)</li>
<li><a
href="c468d33f16"><code>c468d33</code></a>
chore(deps): update dependency oxc-parser to v0.75.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/17672">#17672</a>)</li>
<li><a
href="3f46d91bdb"><code>3f46d91</code></a>
chore(deps): update dependency vite to v7 (<a
href="https://redirect.github.com/prettier/prettier/issues/17673">#17673</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.5.3...3.6.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `ts-jest` from 29.3.4 to 29.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/kulshekhar/ts-jest/releases">ts-jest's
releases</a>.</em></p>
<blockquote>
<h2>v29.4.0</h2>
<p>Please refer to <a
href="https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md">ts-jest's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/kulshekhar/ts-jest/compare/v29.3.4...v29.4.0">29.4.0</a>
(2025-06-11)</h2>
<h3>Features</h3>
<ul>
<li>feat: support Jest 30 (<a
href="https://github.com/kulshekhar/ts-jest/commit/84e093e">84e093e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f692f747c7"><code>f692f74</code></a>
chore(release): 29.4.0</li>
<li><a
href="84e093ee0e"><code>84e093e</code></a>
feat: support Jest 30</li>
<li><a
href="2d6fe5cefd"><code>2d6fe5c</code></a>
build(deps): Update dependency eslint-plugin-jsdoc to ^50.8.0</li>
<li><a
href="83c6d3538f"><code>83c6d35</code></a>
build(deps): Update dependency eslint-plugin-jest to ^28.13.3</li>
<li><a
href="94797d08a2"><code>94797d0</code></a>
build(deps): Update dependency <code>@​vitejs/plugin-react-swc</code> to
^3.10.2</li>
<li><a
href="9a9bd5cff4"><code>9a9bd5c</code></a>
build(deps): Update ESLint packages to ^8.34.0</li>
<li><a
href="cbd81fd0cf"><code>cbd81fd</code></a>
build(deps): Update dependency eslint-plugin-jest to ^28.13.0</li>
<li><a
href="1d3fb0dc80"><code>1d3fb0d</code></a>
build(deps): Update dependency <code>@​types/node</code> to
v20.19.0</li>
<li><a
href="32efecbdcd"><code>32efecb</code></a>
build(deps): Update docusaurus monorepo to ^3.8.1</li>
<li><a
href="5133d4815d"><code>5133d48</code></a>
build: upgrade <code>docusaurus</code> to 3.8</li>
<li>Additional commits viewable in <a
href="https://github.com/kulshekhar/ts-jest/compare/v29.3.4...v29.4.0">compare
view</a></li>
</ul>
</details>
<br />

<details>
<summary>Most Recent Ignore Conditions Applied to This Pull
Request</summary>

| Dependency Name | Ignore Conditions |
| --- | --- |
| @types/node | [>= 22.a, < 23] |
</details>


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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


</details>
This commit is contained in:
Jérôme Prinet 2025-07-28 16:25:13 +02:00 committed by GitHub
commit 1ab25195f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3681 additions and 939 deletions

4604
sources/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -49,23 +49,23 @@
},
"devDependencies": {
"@gradle-tech/develocity-agent": "1.0.1",
"@jest/globals": "29.7.0",
"@types/jest": "29.5.14",
"@types/node": "20.19.0",
"@jest/globals": "30.0.4",
"@types/jest": "30.0.0",
"@types/node": "24.0.10",
"@types/semver": "7.7.0",
"@types/unzipper": "0.10.11",
"@types/which": "3.0.4",
"@typescript-eslint/eslint-plugin": "8.34.0",
"@typescript-eslint/eslint-plugin": "8.36.0",
"@vercel/ncc": "0.38.3",
"dedent": "1.6.0",
"eslint": "9.24.0",
"globals": "16.2.0",
"jest": "29.7.0",
"globals": "16.3.0",
"jest": "30.0.4",
"nock": "13.5.6",
"npm-run-all": "4.1.5",
"patch-package": "8.0.0",
"prettier": "3.5.3",
"ts-jest": "29.3.4",
"prettier": "3.6.2",
"ts-jest": "29.4.0",
"typescript": "5.8.3"
},
"overrides": {