Jérôme Prinet 1ab25195f1
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>
2025-07-28 16:25:13 +02:00
2025-07-21 12:44:48 +00:00
2024-04-12 15:39:30 -06:00
2019-09-21 20:57:04 +02:00
2023-06-30 08:57:49 -06:00
2024-11-13 16:37:41 -07:00

GitHub Actions for Gradle builds

OpenSSF Scorecard

This repository contains a set of GitHub Actions that are useful for building Gradle projects on GitHub.

The setup-gradle action

The setup-gradle action can be used to configure Gradle for optimal execution on any platform supported by GitHub Actions.

This replaces the previous gradle/gradle-build-action, which now delegates to this implementation.

The recommended way to execute any Gradle build is with the help of the Gradle Wrapper, and the examples assume that the Gradle Wrapper has been configured for the project. See this example if your project doesn't use the Gradle Wrapper.

Example usage

name: Build

on:
  push:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - name: Setup Java
      uses: actions/setup-java@v4
      with:
        distribution: 'temurin'
        java-version: 17
    - name: Setup Gradle
      uses: gradle/actions/setup-gradle@v4
    - name: Build with Gradle
      run: ./gradlew build

See the full action documentation for more advanced usage scenarios.

The dependency-submission action

Generates and submits a dependency graph for a Gradle project, allowing GitHub to alert about reported vulnerabilities in your project dependencies.

The following workflow will generate a dependency graph for a Gradle project and submit it immediately to the repository via the Dependency Submission API. For most projects, this default configuration should be all that you need.

Simply add this as a new workflow file to your repository (eg .github/workflows/dependency-submission.yml).

name: Dependency Submission

on:
  push:
    branches: [ 'main' ]

permissions:
  contents: write

jobs:
  dependency-submission:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - name: Setup Java
      uses: actions/setup-java@v4
      with:
        distribution: 'temurin'
        java-version: 17
    - name: Generate and submit dependency graph
      uses: gradle/actions/dependency-submission@v4

See the full action documentation for more advanced usage scenarios.

The wrapper-validation action

The wrapper-validation action validates the checksums of all Gradle Wrapper JAR files present in the repository and fails if any unknown Gradle Wrapper JAR files are found.

The action should be run in the root of the repository, as it will recursively search for any files named gradle-wrapper.jar.

Starting with v4 the setup-gradle action will perform wrapper validation on each execution. If you are using setup-gradle in your workflows, it is unlikely that you will need to use the wrapper-validation action.

Example workflow

name: "Validate Gradle Wrapper"

on:
  push:
  pull_request:

jobs:
  validation:
    name: "Validation"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: gradle/actions/wrapper-validation@v4

See the full action documentation for more advanced usage scenarios.

Description
A collection of GitHub Actions to accelerate your Gradle Builds on GitHub
Readme MIT 266 MiB
Languages
TypeScript 75.7%
Groovy 22.8%
JavaScript 1%
Shell 0.4%