mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-02 22:58:50 +02:00
0c1a062f88
Bumps the minor-and-patch group in /libs/cli/js-examples with 6 updates: | Package | From | To | | --- | --- | --- | | [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.2.4` | `1.2.9` | | [@langchain/langgraph](https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core) | `1.4.8` | `1.4.13` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.65.0` | `8.68.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.65.0` | `8.68.0` | | [eslint](https://github.com/eslint/eslint) | `10.8.0` | `10.9.1` | | [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.4.2` | `30.5.0` | Updates `@langchain/core` from 1.2.4 to 1.2.9 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langchainjs/releases">@langchain/core's releases</a>.</em></p> <blockquote> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.2.9</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11402">#11402</a> <a href="https://github.com/langchain-ai/langchainjs/commit/43e439698fa7794c10ab8d7355d4433e058e4d62"><code>43e4396</code></a> Thanks <a href="https://github.com/thushanth-bengre-langchain"><code>@thushanth-bengre-langchain</code></a>! - Fix ChatVertexAI/ChatGoogle content blocks: include <code>tool_call</code> blocks from <code>message.tool_calls</code> and skip spurious empty <code>text</code> blocks in <code>contentBlocks</code>.</li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.2.8</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11369">#11369</a> <a href="https://github.com/langchain-ai/langchainjs/commit/d6ad9735640a6c729f81ef79361acc5e83c526f1"><code>d6ad973</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - fix(langchain): use unified endpoint for gateway</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11342">#11342</a> <a href="https://github.com/langchain-ai/langchainjs/commit/3b0e4c48a31811031a460c4d95519a7c1163dc41"><code>3b0e4c4</code></a> Thanks <a href="https://github.com/thushanth-bengre-langchain"><code>@thushanth-bengre-langchain</code></a>! - feat(core): mark errors as retryable or not, and stop retrying the ones that aren't</p> <p>Retry middleware retried every failure up to <code>maxRetries</code>, including deterministic ones like a bad API key or an unknown model. Retries also nest, so a single such failure could cost dozens of API calls.</p> <p><code>@langchain/core/errors</code> adds <code>stampRetryable(error, retryable)</code> and <code>getRetryable(error)</code>. Marking an error leaves its class and shape untouched, so a provider SDK error can be classified without breaking <code>instanceof</code>. <code>getRetryable</code> returns <code>undefined</code> for errors nobody classified, and both are exported so tool authors can mark their own failures.</p> <p><code>modelRetryMiddleware</code> and <code>toolRetryMiddleware</code> now respect the mark by default, and retries stop as soon as one is found rather than each layer spending its own budget. Aborted calls, context overflow, and oversized payloads are marked non-retryable out of the box. Models accept a per-call <code>maxRetries</code> so a surrounding retry loop can take over.</p> <p><strong>Behavior change:</strong> errors marked non-retryable now fail on the first attempt. Unclassified errors — including any from third-party integrations or custom tools — retry exactly as before. Pass <code>retryOn: () => true</code> to restore the old default. A custom <code>onFailedAttempt</code> replaces the built-in handler and opts out of marking.</p> </li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.2.7</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11366">#11366</a> <a href="https://github.com/langchain-ai/langchainjs/commit/c068bbf8c113132bf16ac7a8add44e486a147b41"><code>c068bbf</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - fix(core,langchain): patch and release core, update peer dependencies</li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.2.6</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11344">#11344</a> <a href="https://github.com/langchain-ai/langchainjs/commit/f08e0c6d50156accf95a36469a3e107a5598a3a0"><code>f08e0c6</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - fix: apply [Symbol.hasInstance] method to all comparable properties using .isInstance()</p> <p>We have some internal schemas that rely on <code>z.instanceof()</code>. This uses a strict <code>instanceof</code> check which can conflict if there are multiple versions of core installed. This overrides the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance">Symbol.hasInstance</a> method to use the same logic as <code>.isInstance()</code> to compare objects at runtime.</p> </li> </ul> <h2><code>@langchain/core</code><a href="https://github.com/1"><code>@1</code></a>.2.5</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11305">#11305</a> <a href="https://github.com/langchain-ai/langchainjs/commit/e654022e291b8dae54504ac2d1a3232332406723"><code>e654022</code></a> Thanks <a href="https://github.com/jacoblee93"><code>@jacoblee93</code></a>! - Add LangSmith Gateway environment configuration to OpenAI, Anthropic, and Fireworks chat models.</p> </li> <li> <p><a href="https://redirect.github.com/langchain-ai/langchainjs/pull/11295">#11295</a> <a href="https://github.com/langchain-ai/langchainjs/commit/1a1b347d18bc68e842df8badffc987493c81d70a"><code>1a1b347</code></a> Thanks <a href="https://github.com/vladislav-nechakhin"><code>@vladislav-nechakhin</code></a>! - fix(core): pass the mustache escape override per render call</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langchainjs/commit/e493ed653d734e31a8d051f78ab29b067f530e4b"><code>e493ed6</code></a> chore: version packages (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11393">#11393</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/83848481ea27502c4221a01b4c55a87f1fa7c472"><code>8384848</code></a> fix(google-common): release endpoint routing fix as patch (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11413">#11413</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/8cfff4dced1327fc87893a86dfc63c553403aec0"><code>8cfff4d</code></a> feat(google): add gateway support for genai (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11405">#11405</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/7df258c0af8362fede14d42bb982597a56f41b78"><code>7df258c</code></a> chore(langchain): update langgraph deps (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11412">#11412</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/3ceef4baadfaec8f0b1e43191b9363cfcc04187f"><code>3ceef4b</code></a> fix(anthropic): round-trip tool search server-tool result blocks (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11407">#11407</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/fe8eec1915cc5580b8e7a2f3d4f68fe5e577d641"><code>fe8eec1</code></a> fix(openai): drop Gemini functionCall content blocks in Chat Completions mess...</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/0e7c7654c8bd84b80fe9a2495ab2703355ff8c1e"><code>0e7c765</code></a> fix(google-genai): throw ContentBlockedError when Gemini candidate has no con...</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/5c9fdf2f0339deb92db84eaa838cf35c7dcdb027"><code>5c9fdf2</code></a> fix(openai): retain cache_write_tokens, update to v7 sdk (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/11399">#11399</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/5ff9179e25f594d7cd21e176fdadd953190375c5"><code>5ff9179</code></a> fix(google-genai): guard streaming chunks when candidate has no content (<a href="https://redirect.github.com/langchain-ai/langchainjs/issues/10742">#10742</a>)</li> <li><a href="https://github.com/langchain-ai/langchainjs/commit/43e439698fa7794c10ab8d7355d4433e058e4d62"><code>43e4396</code></a> fix(core): include tool_call blocks and skip empty text blocks in ChatVertexA...</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langchainjs/compare/@langchain/core@1.2.4...@langchain/core@1.2.9">compare view</a></li> </ul> </details> <br /> Updates `@langchain/langgraph` from 1.4.8 to 1.4.13 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langgraphjs/releases">@langchain/langgraph's releases</a>.</em></p> <blockquote> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.4.13</h2> <h3>Patch Changes</h3> <ul> <li>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/f8bdf16d4fe23a79e945ea5dc6f86bbf09abb77d"><code>f8bdf16</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/cef10ab35cefea12c36a8864cdf12f51c7553975"><code>cef10ab</code></a>]: <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.10.0</li> </ul> </li> </ul> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.4.12</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2714">#2714</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978"><code>a2a59ec</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - Update checkpoint integrations to require the patched checkpoint serializer release.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978"><code>a2a59ec</code></a>]:</p> <ul> <li><code>@langchain/langgraph-checkpoint</code><a href="https://github.com/1"><code>@1</code></a>.1.5</li> </ul> </li> </ul> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.4.11</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2706">#2706</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/eaa5472fa480fad2671659d1c9ed0686a55d42bd"><code>eaa5472</code></a> Thanks <a href="https://github.com/zduric-langchain"><code>@zduric-langchain</code></a>! - fix(langgraph): dedupe merged callback handlers by identity</p> <p><code>mergeCallbacks</code> concatenated <code>handlers</code> and <code>inheritableHandlers</code> while deduping <code>tags</code>, so a handler inherited by both the ambient and the explicit config picked up an extra registration at every graph boundary. With tracing on, a nested <code>streamMode: "messages"</code> run delivered every token twice.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f"><code>3ce9f8d</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924"><code>51b4202</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5"><code>a86f813</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.30</li> </ul> </li> </ul> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.4.10</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2690">#2690</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/00f68a1b002d820b95129bcdaf387d2678ead6f0"><code>00f68a1</code></a> Thanks <a href="https://github.com/saad-supports-langchain"><code>@saad-supports-langchain</code></a>! - fix(langgraph): keep <code>context</code> values out of tracer-derived metadata</li> </ul> <h2><code>@langchain/langgraph</code><a href="https://github.com/1"><code>@1</code></a>.4.9</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2653">#2653</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/7880055ac7303483e424380cdd52f54cd094e311"><code>7880055</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph): checkpoint Topic as a flat values list</p> <p>Match Python Topic checkpoints so Host JS graphs no longer put <code>__pregel_tasks: [[], []]</code> through the Python checkpointer. Keep reading legacy <code>[seen, values]</code> checkpoints for restore compatibility.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/langchain-ai/langgraphjs/blob/main/libs/langgraph-core/CHANGELOG.md">@langchain/langgraph's changelog</a>.</em></p> <blockquote> <h2>1.4.13</h2> <h3>Patch Changes</h3> <ul> <li>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/f8bdf16d4fe23a79e945ea5dc6f86bbf09abb77d"><code>f8bdf16</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/cef10ab35cefea12c36a8864cdf12f51c7553975"><code>cef10ab</code></a>]: <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.10.0</li> </ul> </li> </ul> <h2>1.4.12</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2714">#2714</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978"><code>a2a59ec</code></a> Thanks <a href="https://github.com/hntrl"><code>@hntrl</code></a>! - Update checkpoint integrations to require the patched checkpoint serializer release.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978"><code>a2a59ec</code></a>]:</p> <ul> <li><code>@langchain/langgraph-checkpoint</code><a href="https://github.com/1"><code>@1</code></a>.1.5</li> </ul> </li> </ul> <h2>1.4.11</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2706">#2706</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/eaa5472fa480fad2671659d1c9ed0686a55d42bd"><code>eaa5472</code></a> Thanks <a href="https://github.com/zduric-langchain"><code>@zduric-langchain</code></a>! - fix(langgraph): dedupe merged callback handlers by identity</p> <p><code>mergeCallbacks</code> concatenated <code>handlers</code> and <code>inheritableHandlers</code> while deduping <code>tags</code>, so a handler inherited by both the ambient and the explicit config picked up an extra registration at every graph boundary. With tracing on, a nested <code>streamMode: "messages"</code> run delivered every token twice.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f"><code>3ce9f8d</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924"><code>51b4202</code></a>, <a href="https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5"><code>a86f813</code></a>]:</p> <ul> <li><code>@langchain/langgraph-sdk</code><a href="https://github.com/1"><code>@1</code></a>.9.30</li> </ul> </li> </ul> <h2>1.4.10</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2690">#2690</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/00f68a1b002d820b95129bcdaf387d2678ead6f0"><code>00f68a1</code></a> Thanks <a href="https://github.com/saad-supports-langchain"><code>@saad-supports-langchain</code></a>! - fix(langgraph): keep <code>context</code> values out of tracer-derived metadata</li> </ul> <h2>1.4.9</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/langchain-ai/langgraphjs/pull/2653">#2653</a> <a href="https://github.com/langchain-ai/langgraphjs/commit/7880055ac7303483e424380cdd52f54cd094e311"><code>7880055</code></a> Thanks <a href="https://github.com/christian-bromann"><code>@christian-bromann</code></a>! - fix(langgraph): checkpoint Topic as a flat values list</p> <p>Match Python Topic checkpoints so Host JS graphs no longer put <code>__pregel_tasks: [[], []]</code> through the Python checkpointer. Keep reading legacy <code>[seen, values]</code> checkpoints for restore compatibility.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/3609b35036f18c5a0cf9746910a45e0ab65ccf97"><code>3609b35</code></a> docs: fix typo in cache policy comment (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2740">#2740</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/3ed60cbd108501e719e93d42a1f5219b577a34a8"><code>3ed60cb</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2728">#2728</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/6530ba9b4c577c560422d9c9de18914e67411d9d"><code>6530ba9</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2715">#2715</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/c3b27a997c682a64f65904b2a97a5ee4d6e741b0"><code>c3b27a9</code></a> fix(checkpoint): narrow re-constructable types in JsonPlusSerializer (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2709">#2709</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/659d628d196f6b1ba7aa46b30293c31ff5715cf4"><code>659d628</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2704">#2704</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/eaa5472fa480fad2671659d1c9ed0686a55d42bd"><code>eaa5472</code></a> fix(langgraph): dedupe merged callback handlers by identity (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2706">#2706</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/f6b41bf4861322e380e02f746285496e84b0f96b"><code>f6b41bf</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2698">#2698</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/00f68a1b002d820b95129bcdaf387d2678ead6f0"><code>00f68a1</code></a> fix(langgraph): keep context values out of tracer-derived metadata (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2690">#2690</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/6ac60da74f6b9e29d20b111a7947ac3060f1d2dd"><code>6ac60da</code></a> chore(deps): bump the langchain group across 1 directory with 5 updates (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2651">#2651</a>)</li> <li><a href="https://github.com/langchain-ai/langgraphjs/commit/5f9915234a5dca861ef01180fde28e52f42c6e15"><code>5f99152</code></a> chore: version packages (<a href="https://github.com/langchain-ai/langgraphjs/tree/HEAD/libs/langgraph-core/issues/2655">#2655</a>)</li> <li>Additional commits viewable in <a href="https://github.com/langchain-ai/langgraphjs/commits/@langchain/langgraph@1.4.13/libs/langgraph-core">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.65.0 to 8.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/eslint-plugin's releases</a>.</em></p> <blockquote> <h2>v8.68.0</h2> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> <li><strong>utils:</strong> support ESLint rule meta.languages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12663">#12663</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>website:</strong> playground crashes on <code>extends</code> configs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12608">#12608</a>)</li> <li><strong>website:</strong> account for thanks.dev and out-of-band donors in sponsors list (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12735">#12735</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Josh Goldberg ✨</li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Thiago Barbosa</li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.67.0</h2> <h2>8.67.0 (2026-08-10)</h2> <h3>🚀 Features</h3> <ul> <li><strong>typescript-eslint:</strong> export basic globs for using tseslint (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12105">#12105</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.66.0</h2> <!-- 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">@typescript-eslint/eslint-plugin's changelog</a>.</em></p> <blockquote> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.67.0 (2026-08-10)</h2> <p>This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.66.0 (2026-08-03)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [class-literal-property-style] preserve type annotations and don't drop decorators (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12617">#12617</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] check MappedType key remapping (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12588">#12588</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] don't report defaults used by other overloads (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12607">#12607</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-nullish-coalescing] handle shadowed Boolean calls (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12591">#12591</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion] ignore shadowed built-ins (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12590">#12590</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>송재욱</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0">GitHub Releases</a> for more information.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/8f4e00a4e8f3bdf93a5e5e8bc568ba1c15a4f896"><code>8f4e00a</code></a> chore(release): publish 8.68.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/db30514e0f912dad32417a8e165bb9cce6f6a9d0"><code>db30514</code></a> feat(eslint-plugin): [strict-void-return] add fix suggestions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12086">#12086</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/9690339c4e50e65121fdd7d1eb55c5831460cd88"><code>9690339</code></a> test(eslint-plugin): [prefer-optional-chain] use <code>createRuleTesterWithTypes</code> ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/abe9011a43524ea867e249125250d0927065750e"><code>abe9011</code></a> fix(eslint-plugin): [no-empty-object-type] ignore suggestions that result in ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/79c16e784056ed9d6fea92268f036c18f46530ff"><code>79c16e7</code></a> chore(eslint-plugin): extract FunctionSignature and enum comparison utils (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1">#1</a>...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2442e3048ba5a120a5e7dff5450fb5c440c0fc15"><code>2442e30</code></a> test(eslint-plugin): [no-floating-promises] format test snippets (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12723">#12723</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3596323c63dc92b9a8858992b66afa65642a69ca"><code>3596323</code></a> fix(eslint-plugin): [no-floating-promises] setting <code>ignoreVoid: false</code> result...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/956a3397d9e1c4aacd55f70bf0210e15ba005508"><code>956a339</code></a> fix(eslint-plugin): [no-unnecessary-type-assertion] prevent stack overflow in...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/55f6d5d4ca39d2fab93db97ced497b956017878d"><code>55f6d5d</code></a> chore: enable source maps (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12677">#12677</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3aefb6a27d4a7f4c5e30486cba31e6f567966aae"><code>3aefb6a</code></a> test: improve vitest performance with <code>isolate: false</code> (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12703">#12703</a>)</li> <li>Additional commits viewable in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.68.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.65.0 to 8.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/parser's releases</a>.</em></p> <blockquote> <h2>v8.68.0</h2> <h2>8.68.0 (2026-08-24)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [strict-void-return] add fix suggestions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12086">#12086</a>)</li> <li><strong>utils:</strong> support ESLint rule meta.languages (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12663">#12663</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [unified-signatures] deduplicate types in report (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12656">#12656</a>)</li> <li><strong>eslint-plugin:</strong> [return-await] prevent autofix from breaking code in arrow-functions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12707">#12707</a>)</li> <li><strong>eslint-plugin:</strong> [unified-signatures] report identical signatures (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12678">#12678</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] prevent stack overflow in recursive types (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12711">#12711</a>)</li> <li><strong>eslint-plugin:</strong> [no-floating-promises] setting <code>ignoreVoid: false</code> results in false negative in ArrowFunctionExpression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12646">#12646</a>)</li> <li><strong>eslint-plugin:</strong> [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12739">#12739</a>)</li> <li><strong>website:</strong> playground crashes on <code>extends</code> configs (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12608">#12608</a>)</li> <li><strong>website:</strong> account for thanks.dev and out-of-band donors in sponsors list (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12735">#12735</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Hugo <a href="https://github.com/hugop95"><code>@hugop95</code></a></li> <li>Josh Goldberg ✨</li> <li>Niki <a href="https://github.com/phaux"><code>@phaux</code></a></li> <li>Thiago Barbosa</li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.67.0</h2> <h2>8.67.0 (2026-08-10)</h2> <h3>🚀 Features</h3> <ul> <li><strong>typescript-eslint:</strong> export basic globs for using tseslint (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12105">#12105</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg ✨</li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.66.0</h2> <!-- 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/parser/CHANGELOG.md">@typescript-eslint/parser's changelog</a>.</em></p> <blockquote> <h2>8.68.0 (2026-08-24)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.67.0 (2026-08-10)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.66.0 (2026-08-03)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/8f4e00a4e8f3bdf93a5e5e8bc568ba1c15a4f896"><code>8f4e00a</code></a> chore(release): publish 8.68.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/55f6d5d4ca39d2fab93db97ced497b956017878d"><code>55f6d5d</code></a> chore: enable source maps (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12677">#12677</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/20a261fb8e62351e88176b075090dc9276d26072"><code>20a261f</code></a> chore(release): publish 8.67.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3b155bb1344fd7ce83086cf2f864a7e8f3b4a217"><code>3b155bb</code></a> chore: use typescript 7 for typechecking (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12601">#12601</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/e51b11ba3ab31837762c675f62f0d4dcb1abc4fb"><code>e51b11b</code></a> chore(release): publish 8.66.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.68.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 10.8.0 to 10.9.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.9.1</h2> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/1e641c919fc1421493bf913feb607896982451a3"><code>1e641c9</code></a> fix: no-loss-of-precision false positive with trailing decimal point (<a href="https://redirect.github.com/eslint/eslint/issues/21251">#21251</a>) (Aleksandr Shoronov)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/ad74a8dada2aaa17bfd0b8cc7b4119ff7a8ac04b"><code>ad74a8d</code></a> docs: add deprecation steps for EOL package versions (<a href="https://redirect.github.com/eslint/eslint/issues/21248">#21248</a>) (Francesco Trotta)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52"><code>3c3ae53</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21249">#21249</a>) (ESLint Bot)</li> </ul> <h2>v10.9.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/08de88e50294c4e01f6cae97eceeb578da55792b"><code>08de88e</code></a> feat: handle underflow in no-loss-of-precision (<a href="https://redirect.github.com/eslint/eslint/issues/21218">#21218</a>) (Rithish S)</li> <li><a href="https://github.com/eslint/eslint/commit/55db4791120ae591d88089c43127b7b0e16866d4"><code>55db479</code></a> feat: add checkConditionalExpressions to <code>no-unmodified-loop-condition</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21175">#21175</a>) (sethamus)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/2ba302554e7a24e9909bbdd026fd0c2d1d0d8638"><code>2ba3025</code></a> fix: prevent unsafe <code>no-var</code> autofix with hoisted functions (<a href="https://redirect.github.com/eslint/eslint/issues/21213">#21213</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/8e6962219a605c5f5add10953aa31027da839194"><code>8e69622</code></a> fix: Prevent no-var autofix when var is shadowed by catch parameter (<a href="https://redirect.github.com/eslint/eslint/issues/21204">#21204</a>) (Yang Hyeonjong)</li> <li><a href="https://github.com/eslint/eslint/commit/684b57972e1ddf25e076fb36189c60bbcacee635"><code>684b579</code></a> fix: prefer-template invalid autofix creates a tagged template call (<a href="https://redirect.github.com/eslint/eslint/issues/21207">#21207</a>) (김채영)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/9ef407a3b051e74f50dc7fb8914e2bd89b3e5e53"><code>9ef407a</code></a> docs: use eslint.config.* wherever config file names are listed (<a href="https://redirect.github.com/eslint/eslint/issues/21216">#21216</a>) (Marry (Subin Yang))</li> <li><a href="https://github.com/eslint/eslint/commit/87f66f4435c4df7f4f6815c939d153196ec03e3c"><code>87f66f4</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/585ef37516c0dc29ddb91ce2a2cdcc46fdbbd610"><code>585ef37</code></a> docs: update architecture documentation (<a href="https://redirect.github.com/eslint/eslint/issues/21112">#21112</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/f3993b0547bace7370e9728ee7408af49d367d76"><code>f3993b0</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/ffc87d6234b2aa4335eec069e5c4d6ac04832b9e"><code>ffc87d6</code></a> docs: fix broken links in Further Reading sections (<a href="https://redirect.github.com/eslint/eslint/issues/21203">#21203</a>) (Minsu)</li> <li><a href="https://github.com/eslint/eslint/commit/1a761e1d11b011fcb6bee181231a51010c500e4d"><code>1a761e1</code></a> docs: update moved JSX specification links (<a href="https://redirect.github.com/eslint/eslint/issues/21198">#21198</a>) (Imran Mustafa)</li> <li><a href="https://github.com/eslint/eslint/commit/4d00ca4064ae0d1a75b604a16c68ab9f386ad388"><code>4d00ca4</code></a> docs: update ESLint peer dependency to <code>^10.0.0</code> in shareable configs (<a href="https://redirect.github.com/eslint/eslint/issues/21202">#21202</a>) (lumir)</li> <li><a href="https://github.com/eslint/eslint/commit/510d1a2e87bc197219f42e195ddb638d2b183a5a"><code>510d1a2</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/899dbf131ce12a194b394bb8d67307df23509d17"><code>899dbf1</code></a> chore: update github/codeql-action action to v4.37.7 (<a href="https://redirect.github.com/eslint/eslint/issues/21243">#21243</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/9aa38732177935bd1d7f1493732c0b67666be28a"><code>9aa3873</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21235">#21235</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/dc1e7a8416937edefe04cf836ee202a6fc03bedd"><code>dc1e7a8</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21208">#21208</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/f878d212e9622da9513bcd60d2aedb2e8bb4fc8b"><code>f878d21</code></a> ci: bump pnpm/action-setup from 6.0.9 to 6.0.10 (<a href="https://redirect.github.com/eslint/eslint/issues/21200">#21200</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/4891e50aceadb0e886ad7d8ab5ae2beab563de85"><code>4891e50</code></a> ci: bump github/codeql-action from 4.37.4 to 4.37.6 (<a href="https://redirect.github.com/eslint/eslint/issues/21199">#21199</a>) (dependabot[bot])</li> </ul> <h2>v10.8.1</h2> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/18eb0a7e787b9fac3049ef3dad0e845d2bd940a4"><code>18eb0a7</code></a> fix: prevent ASI hazard in <code>no-unused-labels</code> autofix (<a href="https://redirect.github.com/eslint/eslint/issues/21173">#21173</a>) (dongkyu lee)</li> <li><a href="https://github.com/eslint/eslint/commit/151ba3f5834a0909e8b9b1736f4889ac694c0104"><code>151ba3f</code></a> fix: false positives in <code>getter-return</code> and <code>accessor-pairs</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21163">#21163</a>) (Grit)</li> <li><a href="https://github.com/eslint/eslint/commit/6898df9364639ee64b9448a4cb6b08a30c16bd37"><code>6898df9</code></a> fix: ignore meta-property names in <code>id-denylist</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21166">#21166</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/4d7db6628e2badf0857cb88734fe641c3874bce9"><code>4d7db66</code></a> fix: ignore meta-property names in <code>id-match</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21167">#21167</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/677214e7eea83d8bc6e4b79eea871577e1369d5f"><code>677214e</code></a> fix: handle ASI hazards in no-unused-vars removeVar suggestion (<a href="https://redirect.github.com/eslint/eslint/issues/20935">#20935</a>) (kuldeep kumar)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/7d0cbf81cfdb7526b5c4cb7b222ddc7f257db560"><code>7d0cbf8</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/0a05812adb12598b32e85297b98df5ad14501d60"><code>0a05812</code></a> docs: add missing backticks to <code>no-duplicate-imports.js</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21183">#21183</a>) (Lee Daeun)</li> <li><a href="https://github.com/eslint/eslint/commit/678c90b55da2889d4400cbf6e2584ab683faf202"><code>678c90b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/8a104242e8e1c5614940fab7324346974cff7d26"><code>8a10424</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/5c8c2417b9ff462f2dc4e54a062c59135b45b845"><code>5c8c241</code></a> 10.9.1</li> <li><a href="https://github.com/eslint/eslint/commit/a7f3b7ddca7de8464995707d1bbac3ca91090015"><code>a7f3b7d</code></a> Build: changelog update for 10.9.1</li> <li><a href="https://github.com/eslint/eslint/commit/1e641c919fc1421493bf913feb607896982451a3"><code>1e641c9</code></a> fix: no-loss-of-precision false positive with trailing decimal point (<a href="https://redirect.github.com/eslint/eslint/issues/21251">#21251</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/ad74a8dada2aaa17bfd0b8cc7b4119ff7a8ac04b"><code>ad74a8d</code></a> docs: add deprecation steps for EOL package versions (<a href="https://redirect.github.com/eslint/eslint/issues/21248">#21248</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52"><code>3c3ae53</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21249">#21249</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/c27bc926e496985eb7911c09eb60914b2e4b5d0f"><code>c27bc92</code></a> 10.9.0</li> <li><a href="https://github.com/eslint/eslint/commit/fa831d95b326e6d23671d9b2df1ea5dbc64f6f34"><code>fa831d9</code></a> Build: changelog update for 10.9.0</li> <li><a href="https://github.com/eslint/eslint/commit/899dbf131ce12a194b394bb8d67307df23509d17"><code>899dbf1</code></a> chore: update github/codeql-action action to v4.37.7 (<a href="https://redirect.github.com/eslint/eslint/issues/21243">#21243</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/08de88e50294c4e01f6cae97eceeb578da55792b"><code>08de88e</code></a> feat: handle underflow in no-loss-of-precision (<a href="https://redirect.github.com/eslint/eslint/issues/21218">#21218</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/9ef407a3b051e74f50dc7fb8914e2bd89b3e5e53"><code>9ef407a</code></a> docs: use eslint.config.* wherever config file names are listed (<a href="https://redirect.github.com/eslint/eslint/issues/21216">#21216</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v10.8.0...v10.9.1">compare view</a></li> </ul> </details> <br /> Updates `jest` from 30.4.2 to 30.5.0 <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>v30.5.0</h2> <p>On a personal note: King Harald V of Norway passed away this morning. He ascended the throne 35 years ago, two months before I was born. This release is dedicated to his memory. Hvil i fred 🇳🇴</p> <hr /> <p>This is a big release. It touches <code>jest-runtime</code>, <code>jest-resolve</code> and <code>jest-haste-map</code> in many places, and with this many changes there might be regressions 😬. If your suite behaves differently after upgrading, please <a href="https://github.com/jestjs/jest/issues">open an issue</a>.</p> <h1>Highlights</h1> <h2><code>whenCalledWith</code></h2> <p>Mock functions can now configure return values per argument list, contributed by <a href="https://github.com/timkindberg"><code>@timkindberg</code></a> (<a href="https://redirect.github.com/jestjs/jest/pull/16053">#16053</a>):</p> <pre lang="js"><code>const fn = jest.fn(); fn.whenCalledWith('apple').mockReturnValue('red'); fn.whenCalledWith('banana').mockReturnValue('yellow'); fn.whenCalledWith(expect.any(Number)).mockReturnValue('numeric'); <p>fn('apple'); // 'red' fn('banana'); // 'yellow' fn(42); // 'numeric' fn('grape'); // undefined </code></pre></p> <p>The returned object is a real <code>Mock</code>, so <code>mockReturnValueOnce</code>, <code>mockResolvedValue</code>, <code>mockImplementation</code> etc. all chain here too. Argument slots accept literals or any asymmetric matcher, with the same equality semantics as <code>toHaveBeenCalledWith()</code>. Calls that match nothing fall through to the base mock. See the <a href="https://jestjs.io/docs/mock-function-api#mockfnwhencalledwithargs">Mock Functions docs</a> for matching and precedence details.</p> <h2>Describe-level retries</h2> <p><code>jest.retryTimes()</code> can now retry a whole <code>describe</code> block instead of a single test, contributed by <a href="https://github.com/soltonigiri"><code>@soltonigiri</code></a> (<a href="https://redirect.github.com/jestjs/jest/pull/16322">#16322</a>). Each attempt reruns the block's <code>beforeAll</code>/<code>afterAll</code> hooks, child tests and nested describes, which helps when tests in a block depend on shared state:</p> <pre lang="js"><code>describe('workflow', () => { jest.retryTimes(3, {entireDescribe: true}); <p>test('first step', () => {}); test('second step', () => {}); // a failure retries the entire block }); </code></pre></p> <h2>New file watcher</h2> <p>The non-watchman path of <code>jest-haste-map</code> is rewritten. <code>@parcel/watcher</code> replaces the homegrown <code>NodeWatcher</code> and <code>FSEventsWatcher</code> (<a href="https://redirect.github.com/jestjs/jest/pull/16188">#16188</a>), and <code>fdir</code> replaces the hand-rolled directory recursion in the crawler (<a href="https://redirect.github.com/jestjs/jest/pull/16187">#16187</a>). A batch of fixes also makes watching and indexing survive locked files on Windows, watchman failures, and duplicate manual mocks (<a href="https://redirect.github.com/jestjs/jest/pull/16295">#16295</a>, <a href="https://redirect.github.com/jestjs/jest/pull/16358">#16358</a>, <a href="https://redirect.github.com/jestjs/jest/pull/16355">#16355</a>, <a href="https://redirect.github.com/jestjs/jest/pull/16360">#16360</a>).</p> <p>If you can, please run your suite with <code>--no-watchman</code> (in and out of watch mode) to exercise the new crawler and watchers, and report anything odd 👍</p> <h2>Long-requested dependency updates</h2> <ul> <li><code>babel-plugin-istanbul</code> is updated to v8 (<a href="https://redirect.github.com/jestjs/jest/pull/16049">#16049</a>)</li> <li><code>glob</code> is updated to v13 (<a href="https://redirect.github.com/jestjs/jest/pull/16397">#16397</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.5.0</h2> <h3>Features</h3> <ul> <li><code>[@jest/expect-utils, jest-mock]</code> Add <code>mockFn.whenCalledWith(...args)</code> for configuring return values per argument list, with first-class asymmetric-matcher support (<a href="https://redirect.github.com/jestjs/jest/pull/16053">#16053</a>)</li> <li><code>[@jest/expect-utils]</code> Export <code>AsymmetricMatcher</code> and <code>FunctionParameters</code> types (previously private to <code>expect</code>) (<a href="https://redirect.github.com/jestjs/jest/pull/16053">#16053</a>)</li> <li><code>[jest-circus, jest-core, jest-jasmine2, jest-test-result, jest-types]</code> <code>--collectTests</code> now expands <code>test.each</code>/<code>describe.each</code> cases and reports per-status counts (skipped/todo via the new <code>wouldRun</code> flag for selected tests) plus a summary line that match a real run, including under <code>--testNamePattern</code> and <code>.only</code>/<code>fdescribe</code> focus on both the circus and jasmine2 runners (<a href="https://redirect.github.com/jestjs/jest/pull/16259">#16259</a>)</li> <li><code>[jest-circus, jest-environment, jest-runtime, jest-types]</code> Add describe-level retries via <code>jest.retryTimes(..., {entireDescribe: true})</code> (<a href="https://redirect.github.com/jestjs/jest/pull/16322">#16322</a>)</li> <li><code>[jest-circus, jest-message-util, jest-reporters, jest-types]</code> Add <code>retryMessages</code> to <code>AssertionResult</code> and export <code>formatErrorStack</code>, so the retry log renders nested <code>cause</code> and <code>AggregateError</code> sections with code frames instead of serialized <code>[cause]:</code>/<code>[errors]:</code> markers (<a href="https://redirect.github.com/jestjs/jest/pull/16316">#16316</a>)</li> <li><code>[jest-circus, jest-types]</code> Add <code>unhandledErrorsDetailed</code> to <code>Circus.RunResult</code>, so an unhandled rejection reports its <code>cause</code> chain and <code>AggregateError</code> entries with code frames instead of a pre-serialized stack (<a href="https://redirect.github.com/jestjs/jest/pull/16316">#16316</a>)</li> <li><code>[jest-haste-map]</code> Replace <code>NodeWatcher</code> and <code>FSEventsWatcher</code> with <code>@parcel/watcher</code> for the non-watchman watch path (<a href="https://redirect.github.com/jestjs/jest/pull/16188">#16188</a>)</li> <li><code>[jest-resolve]</code> Bump <code>unrs-resolver</code> to 1.12.1, remove <code>jest-pnp-resolver</code> and unnecessary checks (<a href="https://redirect.github.com/jestjs/jest/pull/15721">#15721</a>)</li> <li><code>[jest-resolve]</code> Honor Node's <code>--preserve-symlinks</code> / <code>NODE_PRESERVE_SYMLINKS</code> in the default resolver by passing <code>symlinks: false</code> to <code>unrs-resolver</code> (<a href="https://redirect.github.com/jestjs/jest/pull/16260">#16260</a>)</li> <li><code>[jest-runtime]</code> Apply automocking and manual <code>__mocks__</code> files to synchronously evaluable ESM graphs on Node 24.9+ - static imports, dynamic <code>import()</code> and <code>require()</code> of an ESM file now generate an automock from the real module's namespace instead of failing with "Attempting to import a mock without a factory". Graphs that need async evaluation (top-level await) or an async-only resolver or transformer still throw (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Route <code>process.getBuiltinModule</code> through the sandbox, so it returns the sandbox <code>process</code> and the hooked <code>node:module</code> instead of the host's (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Throw an actionable error from <code>module.register()</code> and <code>module.registerHooks()</code> inside a test - the hooks attached to the loader running Jest itself, never saw the sandboxed requires they were meant for, and stayed registered for every later test file in the worker (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Surface resolution and import-attribute errors in an ESM graph before executing any of its CJS dependencies on Node 24.9+, matching Node's run-nothing-on-a-broken-graph behavior; the legacy loader on older versions keeps its linking-time execution order (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Throw <code>ERR_SOURCE_PHASE_NOT_DEFINED</code> with an actionable message for <code>import source</code> and <code>import.source()</code>, instead of failing at instantiation with V8's bare "Source phase import object is not defined" (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Emit the JSON-without-import-attribute deprecation warning once per test file instead of once per worker, so it is no longer silently swallowed for every file after the first (<a href="https://redirect.github.com/jestjs/jest/pull/16391">#16391</a>)</li> <li><code>[jest-runtime]</code> Set <code>import.meta.main</code> to <code>true</code> in the test file and <code>false</code> in every module it loads, matching Node 24+ (<a href="https://redirect.github.com/jestjs/jest/pull/16367">#16367</a>)</li> <li><code>[jest-runtime]</code> Resolve the <code>module-sync</code> export condition, so a package that exposes its ESM entry point for <code>require()</code> loads the same file Node would (<a href="https://redirect.github.com/jestjs/jest/pull/16336">#16336</a>)</li> <li><code>[jest-snapshot]</code> Add external snapshot paths to custom reporter failure details (<a href="https://redirect.github.com/jestjs/jest/pull/16374">#16374</a>)</li> </ul> <h3>Fixes</h3> <ul> <li><code>[jest-console, jest-reporters]</code> <code>CustomConsole</code> now buffers console output so <code>TestResult.console</code> is populated for reporters when <code>verbose</code> is enabled, while <code>GitHubActionsReporter</code> avoids replaying buffered output in verbose mode (<a href="https://redirect.github.com/jestjs/jest/pull/16155">#16155</a>)</li> <li><code>[expect, jest-message-util, jest-pattern, jest-regex-util, jest-util]</code> Revert <code>node:</code> protocol imports to restore webpack/browser-bundle compatibility (<a href="https://redirect.github.com/jestjs/jest/pull/16167">#16167</a>)</li> <li><code>[expect]</code> Widen <code>toMatchObject</code> and <code>objectContaining</code> parameter type from <code>Record<string, unknown></code> to <code>object</code> so class instances are accepted (<a href="https://redirect.github.com/jestjs/jest/pull/16196">#16196</a>)</li> <li><code>[jest-circus]</code> Call a generator test body with the shared test context, so <code>this</code> matches what a regular test function receives (<a href="https://redirect.github.com/jestjs/jest/pull/16347">#16347</a>)</li> <li><code>[jest-circus]</code> Capture the error listeners of the parent process instead of the in-sandbox <code>process</code>, so listeners registered before the test file survive teardown and sandbox listeners no longer leak onto the parent (<a href="https://redirect.github.com/jestjs/jest/pull/16347">#16347</a>)</li> <li><code>[jest-circus]</code> Clear <code>currentlyRunningTest</code> after skipped and todo tests (<a href="https://redirect.github.com/jestjs/jest/pull/16342">#16342</a>)</li> <li><code>[jest-circus]</code> Prevent late <code>done()</code> callbacks from affecting later test or hook invocations (<a href="https://redirect.github.com/jestjs/jest/pull/16343">#16343</a>)</li> <li><code>[jest-circus, jest-jasmine2]</code> Honor <code>--expand</code> when formatting <code>node:assert</code> failures, instead of always collapsing the diff (<a href="https://redirect.github.com/jestjs/jest/pull/16347">#16347</a>)</li> <li><code>[jest-circus, jest-jasmine2, jest-message-util]</code> Serialize the inner errors of an <code>AggregateError</code> into <code>failureMessages</code>, <code>retryReasons</code> and <code>unhandledErrors</code>, so <code>--json</code> output and reporter annotations include them (<a href="https://redirect.github.com/jestjs/jest/pull/16316">#16316</a>)</li> <li><code>[jest-circus, jest-snapshot]</code> Keep snapshot state and counts correct when a test retries (<a href="https://redirect.github.com/jestjs/jest/pull/16344">#16344</a>)</li> <li><code>[@jest/create-cache-key-function]</code> Include the caller support flags in the generated key, so a transformer that emits ESM or CJS based on them no longer shares one cache entry between the two (<a href="https://redirect.github.com/jestjs/jest/pull/16331">#16331</a>)</li> <li><code>[@jest/create-cache-key-function]</code> Include the stringified project config in the generated key, so editing a transformer's own settings invalidates what it cached (<a href="https://redirect.github.com/jestjs/jest/pull/16331">#16331</a>)</li> <li><code>[@jest/transform]</code> Include the caller support flags in a transform's cache key, so a file transformed both as ESM and as CJS no longer serves one shape's output for the other (<a href="https://redirect.github.com/jestjs/jest/pull/16331">#16331</a>)</li> <li><code>[jest-config]</code> Add missing <code>findRelatedTests</code>, <code>outputFile</code>, and <code>replname</code> entries to <code>ValidConfig</code> so they no longer trigger spurious "Unknown option" warnings (<a href="https://redirect.github.com/jestjs/jest/pull/16224">#16224</a>)</li> <li><code>[jest-config]</code> Use <code>--config</code> for the global config when multiple <code>--projects</code> are specified (<a href="https://redirect.github.com/jestjs/jest/pull/16273">#16273</a>)</li> <li><code>[jest-core]</code> Serialize <code>bigint</code> values in <code>--json</code> and <code>--outputFile</code> output as their literal form (<code>4n</code>), instead of failing the run with <code>TypeError: Do not know how to serialize a BigInt</code> (<a href="https://redirect.github.com/jestjs/jest/pull/16338">#16338</a>)</li> <li><code>[jest-core]</code> Do not report a <code>CustomGC</code> async resource (used by N-API addons such as napi-rs for per-isolate GC bookkeeping) as an open handle, since it is <code>napi_unref</code>'d by the addon and can never keep the event loop alive (<a href="https://redirect.github.com/jestjs/jest/pull/16379">#16379</a>)</li> <li><code>[jest-each]</code> Keep a <code>$&</code>, <code>$`</code>, <code>$'</code> or <code>$$</code> inside a <code>%p</code> param value out of the replacement, so the title shows the value instead of the text around it (<a href="https://redirect.github.com/jestjs/jest/pull/16338">#16338</a>)</li> <li><code>[jest-each]</code> Interpolate a <code>bigint</code> into a <code>%j</code> title as its literal form (<code>"4n"</code>) at any depth, instead of throwing <code>TypeError: Do not know how to serialize a BigInt</code> while collecting the tests (<a href="https://redirect.github.com/jestjs/jest/pull/16338">#16338</a>)</li> <li><code>[jest-environment, jest-runtime]</code> Bind <code>sandboxInjectedGlobals</code> to the right values when <code>injectGlobals</code> is <code>false</code>, instead of shifting every one of them by a position (<a href="https://redirect.github.com/jestjs/jest/pull/16377">#16377</a>)</li> <li><code>[jest-environment-node, jest-util]</code> Only warn about a conflicting <code>globalsCleanup</code> mode when one was explicitly configured, and follow the mode that is actually in effect (<a href="https://redirect.github.com/jestjs/jest/pull/16323">#16323</a>)</li> <li><code>[jest-environment-node, jest-util]</code> Stop resolving lazy g... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
49 lines
1.6 KiB
JSON
49 lines
1.6 KiB
JSON
{
|
|
"name": "example-graph",
|
|
"version": "0.0.1",
|
|
"description": "A starter template for creating a LangGraph workflow.",
|
|
"packageManager": "yarn@1.22.22",
|
|
"main": "my_app/graph.ts",
|
|
"author": "Your Name",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"clean": "rm -rf dist",
|
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPattern=\\.test\\.ts$ --testPathIgnorePatterns=\\.int\\.test\\.ts$",
|
|
"test:int": "node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPattern=\\.int\\.test\\.ts$",
|
|
"format": "prettier --write .",
|
|
"lint": "eslint src",
|
|
"format:check": "prettier --check .",
|
|
"lint:langgraph-json": "node scripts/checkLanggraphPaths.js",
|
|
"lint:all": "yarn lint & yarn lint:langgraph-json & yarn format:check",
|
|
"test:all": "yarn test && yarn test:int && yarn lint:langgraph"
|
|
},
|
|
"dependencies": {
|
|
"@langchain/core": "^1.2.9",
|
|
"@langchain/langgraph": "^1.4.13"
|
|
},
|
|
"resolutions": {
|
|
"@langchain/langgraph-checkpoint": "1.0.4"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.6",
|
|
"@eslint/js": "^10.0.1",
|
|
"@tsconfig/recommended": "^1.0.13",
|
|
"@types/jest": "^30.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.68.0",
|
|
"@typescript-eslint/parser": "^8.68.0",
|
|
"dotenv": "^17.4.2",
|
|
"eslint": "^10.9.1",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-no-instanceof": "^1.0.1",
|
|
"eslint-plugin-prettier": "^5.5.6",
|
|
"jest": "^30.5.0",
|
|
"prettier": "^3.9.6",
|
|
"ts-jest": "^29.4.12",
|
|
"typescript": "^7.0.2"
|
|
}
|
|
}
|