chore(deps): bump @apollo/client from 4.1.6 to 4.2.0 (#20993)
Bumps [@apollo/client](https://github.com/apollographql/apollo-client) from 4.1.6 to 4.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/apollographql/apollo-client/releases">@apollo/client's releases</a>.</em></p> <blockquote> <h2><code>@apollo/client</code><a href="https://github.com/4"><code>@4</code></a>.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/apollographql/apollo-client/pull/13132">#13132</a> <a href="https://github.com/apollographql/apollo-client/commit/f3ce805425d10a9666218a8e109288a2d46dcab1"><code>f3ce805</code></a> Thanks <a href="https://github.com/phryneas"><code>@phryneas</code></a>! - Introduce "classic" and "modern" method and hook signatures.</p> <p>Apollo Client 4.2 introduces two signature styles for methods and hooks. All signatures previously present are now "classic" signatures, and a new set of "modern" signatures are added alongside them.</p> <p><strong>Classic signatures</strong> are the default and are identical to the signatures before Apollo Client 4.2, preserving backward compatibility. Classic signatures still work with manually specified TypeScript generics (e.g., <code>useSuspenseQuery<MyData>(...)</code>). However, manually specifying generics has been discouraged for a long time—instead, we recommend using <code>TypedDocumentNode</code> to automatically infer types, which provides more accurate results without any manual annotations.</p> <p><strong>Modern signatures</strong> automatically incorporate your declared <code>defaultOptions</code> into return types, providing more accurate types. Modern signatures infer types from the document node and do not support manually passing generic type arguments; TypeScript will produce a type error if you attempt to do so.</p> <p>Methods and hooks automatically switch to modern signatures the moment any non-optional property is declared in <code>DeclareDefaultOptions</code>. The switch happens across all methods and hooks globally:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { namespace ApolloClient { namespace DeclareDefaultOptions { interface WatchQuery { errorPolicy: "all"; // non-optional → modern signatures activated automatically } } } } </code></pre> <p>Users can also manually switch to modern signatures without declaring any <code>defaultOptions</code>, for example when wanting accurate type inference without relying on global <code>defaultOptions</code>:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { export interface TypeOverrides { signatureStyle: "modern"; } } </code></pre> <p>Users can do a global <code>DeclareDefaultOptions</code> type augmentation and then manually switch back to "classic" for migration purposes:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { export interface TypeOverrides { signatureStyle: "classic"; } } </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md">@apollo/client's changelog</a>.</em></p> <blockquote> <h2>4.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/apollographql/apollo-client/pull/13132">#13132</a> <a href="https://github.com/apollographql/apollo-client/commit/f3ce805425d10a9666218a8e109288a2d46dcab1"><code>f3ce805</code></a> Thanks <a href="https://github.com/phryneas"><code>@phryneas</code></a>! - Introduce "classic" and "modern" method and hook signatures.</p> <p>Apollo Client 4.2 introduces two signature styles for methods and hooks. All signatures previously present are now "classic" signatures, and a new set of "modern" signatures are added alongside them.</p> <p><strong>Classic signatures</strong> are the default and are identical to the signatures before Apollo Client 4.2, preserving backward compatibility. Classic signatures still work with manually specified TypeScript generics (e.g., <code>useSuspenseQuery<MyData>(...)</code>). However, manually specifying generics has been discouraged for a long time—instead, we recommend using <code>TypedDocumentNode</code> to automatically infer types, which provides more accurate results without any manual annotations.</p> <p><strong>Modern signatures</strong> automatically incorporate your declared <code>defaultOptions</code> into return types, providing more accurate types. Modern signatures infer types from the document node and do not support manually passing generic type arguments; TypeScript will produce a type error if you attempt to do so.</p> <p>Methods and hooks automatically switch to modern signatures the moment any non-optional property is declared in <code>DeclareDefaultOptions</code>. The switch happens across all methods and hooks globally:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { namespace ApolloClient { namespace DeclareDefaultOptions { interface WatchQuery { errorPolicy: "all"; // non-optional → modern signatures activated automatically } } } } </code></pre> <p>Users can also manually switch to modern signatures without declaring any <code>defaultOptions</code>, for example when wanting accurate type inference without relying on global <code>defaultOptions</code>:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { export interface TypeOverrides { signatureStyle: "modern"; } } </code></pre> <p>Users can do a global <code>DeclareDefaultOptions</code> type augmentation and then manually switch back to "classic" for migration purposes:</p> <pre lang="ts"><code>// apollo.d.ts import "@apollo/client"; declare module "@apollo/client" { export interface TypeOverrides { signatureStyle: "classic"; } } </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apollographql/apollo-client/commit/e010bdd239b5c10415d4b70ca791467cde12fc88"><code>e010bdd</code></a> Version Packages (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13241">#13241</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/9c4c01a640b43bfb47bd52b25d5881c4ad7bec71"><code>9c4c01a</code></a> Release 4.2 (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13129">#13129</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/222838e99bc6054120cc1f881bb225b1ef049de9"><code>222838e</code></a> Exit prerelease mode</li> <li><a href="https://github.com/apollographql/apollo-client/commit/7d3a533c811a8423536ceeebccc06413ded5b6a3"><code>7d3a533</code></a> Merge branch 'main' into release-4.2</li> <li><a href="https://github.com/apollographql/apollo-client/commit/f20d591bbf74cb4f0d87ec9a14b93a59fe46b039"><code>f20d591</code></a> chore(deps): update actions/create-github-app-token digest to d72941d (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13239">#13239</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/d4a28b6142e47164c8a24bd8c05a8aa3f1ce4eee"><code>d4a28b6</code></a> chore(deps): pin dependencies (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13237">#13237</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/c1f39cf5402b052ab92886a1857840a745aee02b"><code>c1f39cf</code></a> ci: pin Actions@SHA and disable cache on workflows with elevated OIDC permiss...</li> <li><a href="https://github.com/apollographql/apollo-client/commit/511048b7bd6253a38a6b7ebe58e9674a39c74273"><code>511048b</code></a> Event-based refetching docs (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13228">#13228</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/d1f68f1a5fdb7c6915a72b2426cad373a0526c06"><code>d1f68f1</code></a> Version Packages (rc) (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13234">#13234</a>)</li> <li><a href="https://github.com/apollographql/apollo-client/commit/f1b541fed4111028b6842727178288156582e669"><code>f1b541f</code></a> Prepare for rc release (<a href="https://redirect.github.com/apollographql/apollo-client/issues/13232">#13232</a>)</li> <li>Additional commits viewable in <a href="https://github.com/apollographql/apollo-client/compare/@apollo/client@4.1.6...@apollo/client@4.2.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
@@ -304,8 +304,8 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@apollo/client@npm:^4.0.0":
|
||||
version: 4.1.6
|
||||
resolution: "@apollo/client@npm:4.1.6"
|
||||
version: 4.2.0
|
||||
resolution: "@apollo/client@npm:4.2.0"
|
||||
dependencies:
|
||||
"@graphql-typed-document-node/core": "npm:^3.1.1"
|
||||
"@wry/caches": "npm:^1.0.0"
|
||||
@@ -330,7 +330,7 @@ __metadata:
|
||||
optional: true
|
||||
subscriptions-transport-ws:
|
||||
optional: true
|
||||
checksum: 10c0/ff152317932cb0ba46423161d388d1a2bc0bbc6c8ec6e2e85e915bb2ec22f461effa6fd2bbc8b754babd75ac8b52843f1e3ddf8e501cbe1d9b857e4df2f2f2df
|
||||
checksum: 10c0/80c59430efb1bd979206aae1dcc59addd002c774dd004f1901e3266531170c66904916aa31056f216e07d8c279f27605526fe3a819ffaba304151d5d860f5943
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user