Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Refactor much of the core of cynic #391

Closed
wants to merge 103 commits into from

Conversation

obmarg
Copy link
Owner

@obmarg obmarg commented Feb 19, 2022

Why are we making this change?

There are a number of enhancement issues in the tracker that would be difficult
to do with the current core of cynic:

  • Stop relying on serde_json for decoding #249 is difficult because json_decode is very tied to serde_json. The
    runtime decoding setup in cynic makes it very hard to integrate with serde
    directly, which would be the easiest way to acheive this.
  • Optimise for large schemas #150 wants to optimise cynic for larger schemas. The use_schema macro
    seems to be the main cause of the slow down, mostly as a result of the
    quantity of code it outputs. With the current cynic setup it's difficult to
    fix this.
  • Better decoding errors #186 wants to improve the decoding errors. There are ways to do this with
    serde directly, but with json_decode it's hard.

What effects does this change have?

Far too many changes for a single PR:

  1. Removes the dependency on json_decode:
    • All output types now need to implement serde::Serialize
    • All input types now need to implement serde::Deserialize
    • All the cynic derives should derive correct versions of these traits.
  2. The use_schema output has been completely reworked to work with a new
    typesafe query builing API. This should cut down drastically on the output
    for large schemas (not sure it'll help enough, but it's a start).
  3. Added a new format for argument literals - they now accept a format very
    similar to GraphQL argument syntax and this will be converted into literal
    GraphQL in the query string. Previously any arguments would have been
    serialized as variables in the eventual query.
  4. Renamed FragmentArguments to QueryVariables

Fixes #249
Fixes #250
Closes #32 (no longer needed)

Still To Do

  • Update CHANGELOG

obmarg and others added 30 commits January 2, 2022 15:31
### Why do we need this change?

I discovered another issue with inflector, where the to_pascal_case
transform converted `aString` to `Astring`.  This isn't right.

### What effects does this change have.

It strips out inflector from cynic (not yet cynic-querygen) in favor of
implementing the tranform directly in cynic.  Hopefully this hasn't
broken other things, although it's surprisingly hard to get this right
so who knows.
- Basics of QueryFrament.
- Basics of `use_schema`
- Query Building not quite there yet
Still need to hook this up, test it and what not.
Bumps [graphql-parser](https://github.com/graphql-rust/graphql-parser) from 0.3.0 to 0.4.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/be86bc9dafb3df16a303565f1b27f5a93be4ed6e"><code>be86bc9</code></a> Version bumped to v0.4.0</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/ff34baed99d155ee0dcde0b2e94ffb3e2267b618"><code>ff34bae</code></a> Added the ability to add newlines when formatting arguments</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/a45e58e8a23b864149bfb09160f5a4163b28ce07"><code>a45e58e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/graphql-rust/graphql-parser/issues/57">#57</a> from mathstuf/value-into-static</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/562bd4d745a9ec468bc88435098033cf4739b9b7"><code>562bd4d</code></a> Value: add an <code>into_static</code> method</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/d72812f433752a29e9e50ed7d2f2319986fe19f7"><code>d72812f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/graphql-rust/graphql-parser/issues/52">#52</a> from timsuchanek/fix-51</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/9034d19a1e8a4744c7a0444934c4e57dc4ed0ffa"><code>9034d19</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/graphql-rust/graphql-parser/issues/48">#48</a> from obi1kenobi/add_missing_test_attribute</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/b322a1489ac124793f132b12675f7fd8b5c282d0"><code>b322a14</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/graphql-rust/graphql-parser/issues/49">#49</a> from obi1kenobi/support_interface_extension</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/35949a898145782b45a87fef052a4a76747f3d12"><code>35949a8</code></a> Fix <a href="https://github-redirect.dependabot.com/graphql-rust/graphql-parser/issues/51">#51</a></li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/34970a2d433b759469b0f57692ba0d56e7350b54"><code>34970a2</code></a> Support interfaces that implement other interfaces.</li>
<li><a href="https://github.com/graphql-rust/graphql-parser/commit/5c499124056d770eb27fffd26d3133131503d522"><code>5c49912</code></a> Add missing test attribute.</li>
<li>Additional commits viewable in <a href="https://github.com/graphql-rust/graphql-parser/compare/v0.3.0...v0.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=graphql-parser&package-manager=cargo&previous-version=0.3.0&new-version=0.4.0)](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 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 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>
Bumps [graphiql](https://github.com/graphql/graphiql) from 1.5.0 to 1.5.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/graphql/graphiql/releases">graphiql's releases</a>.</em></p>
<blockquote>
<h2>graphiql@1.5.16</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies []:
<ul>
<li>graphql-language-service@4.1.4</li>
<li>codemirror-graphql@1.2.11</li>
</ul>
</li>
</ul>
<h2>graphiql@1.5.15</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="https://github.com/graphql/graphiql/commit/a44772d6af97254c4f159ea7237e842a3e3719e8"><code>a44772d6</code></a>]:
<ul>
<li>graphql-language-service@4.1.3</li>
<li>codemirror-graphql@1.2.10</li>
</ul>
</li>
</ul>
<h2>graphiql@1.5.14</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="https://github.com/graphql/graphiql/commit/e20760fbd95c13d6d549cba3faa15a59aee9a2c0"><code>e20760fb</code></a>]:
<ul>
<li>graphql-language-service@4.1.2</li>
<li>codemirror-graphql@1.2.9</li>
</ul>
</li>
</ul>
<h2>graphiql@1.5.13</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphiql/pull/2097">#2097</a> <a href="https://github.com/graphql/graphiql/commit/4d3eeaa4446c84e92cd77f213e454059602a72e5"><code>4d3eeaa4</code></a> Thanks <a href="https://github.com/acao"><code>@​acao</code></a>! - Disable introspection of schema.description by default</li>
</ul>
<h2>graphiql@1.5.12</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/graphql/graphiql/pull/2091">#2091</a> <a href="https://github.com/graphql/graphiql/commit/ff9cebe515a3539f85b9479954ae644dfeb68b63"><code>ff9cebe5</code></a> Thanks <a href="https://github.com/acao"><code>@​acao</code></a>! - Fix graphql 15 related issues. Should now build &amp; test interchangeably.</p>
</li>
<li>
<p>Updated dependencies [<a href="https://github.com/graphql/graphiql/commit/ff9cebe515a3539f85b9479954ae644dfeb68b63"><code>ff9cebe5</code></a>]:</p>
<ul>
<li>codemirror-graphql@1.2.8</li>
<li>graphql-language-service@4.1.1</li>
</ul>
</li>
</ul>
<h2>graphiql@1.5.11</h2>
<h3>Patch Changes</h3>
<ul>
<li>Updated dependencies [<a href="https://github.com/graphql/graphiql/commit/0f1f90ce8f4a25ddebdaf7a9ddbe136214aa64a3"><code>0f1f90ce</code></a>]:
<ul>
<li>graphql-language-service@4.1.0</li>
<li>codemirror-graphql@1.2.7</li>
</ul>
</li>
</ul>
<h2>graphiql@1.5.9</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphiql/pull/2077">#2077</a> <a href="https://github.com/graphql/graphiql/commit/701ca13f625735564d71931e6d917e5bf69c8aa5"><code>701ca13f</code></a> Thanks <a href="https://github.com/acao"><code>@​acao</code></a>! - Include schema description in DocExplorer for schema introspection requests. Enables the <code>schemaDescription</code> option for <code>getIntrospectionQuery()</code>.
Also includes <code>deprecationReason</code> support in DocExplorer for arguments!
Enables <code>inputValueDeprecation</code> in <code>getIntrospectionQuery()</code> and displays deprecation section on field doc view.</li>
<li>Updated dependencies [<a href="https://github.com/graphql/graphiql/commit/9df315b44896efa313ed6744445fc8f9e702ebc3"><code>9df315b4</code></a>]:
<ul>
<li>graphql-language-service@4.0.0</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/graphql/graphiql/commit/e3e6154171606ff3aa872a0ee22b6192b5b498cf"><code>e3e6154</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2115">#2115</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/08ff6dce0625f7ab58a45364aed9ca04c7862fa7"><code>08ff6dc</code></a> support for template strings with replacement expressions (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2111">#2111</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/d5fca9db067927446087717b84e0b2a3ff94bbe9"><code>d5fca9d</code></a> fix: bug with <code>insertText</code> in non-composite lists! (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2114">#2114</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/f206e9b1ccc0c61e85553087a86092a5ae989d6c"><code>f206e9b</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2106">#2106</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/f7dc1f1299cee06e20b65f8e457d74bf1cb6f76f"><code>f7dc1f1</code></a> fix monaco-graphql bug with <code>_cacheSchemas()</code> (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2105">#2105</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/7d634f82d45f814c120a9dc8da3ebc85cae13b2c"><code>7d634f8</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2104">#2104</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/a44772d6af97254c4f159ea7237e842a3e3719e8"><code>a44772d</code></a> fix: import LS only for monaco-graphql (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2103">#2103</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/56ac0a04372c991c568b45a75b01468202bc10c3"><code>56ac0a0</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2102">#2102</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/e20760fbd95c13d6d549cba3faa15a59aee9a2c0"><code>e20760f</code></a> use temporary fork of picomatch based on browser support PR (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2101">#2101</a>)</li>
<li><a href="https://github.com/graphql/graphiql/commit/a36cba9ffbc5e8ae56cc604c8987d7cfd4302d4b"><code>a36cba9</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/graphql/graphiql/issues/2098">#2098</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/graphql/graphiql/compare/graphiql@1.5.0...graphiql@1.5.16">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=graphiql&package-manager=npm_and_yarn&previous-version=1.5.0&new-version=1.5.16)](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 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 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>
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.4.4 to 4.5.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Microsoft/TypeScript/releases">typescript's releases</a>.</em></p>
<blockquote>
<h2>TypeScript 4.5.4</h2>
<p>This patch release includes a fix for <a href="https://github-redirect.dependabot.com/microsoft/TypeScript/issues/47090">incorrectly offering up JSX attribute snippet completions at the beginning of a tag name</a>.</p>
<p>For the complete list of fixed issues, check out the</p>
<ul>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.0%22+">fixed issues query for Typescript 4.5.0 (Beta)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.1%22+">fixed issues query for Typescript 4.5.1 (RC)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.2%22+">fixed issues query for Typescript 4.5.2 (Stable)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.3%22+">fixed issues query for Typescript 4.5.3 (Stable)</a>.</li>
<li>
<ul>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.4%22+">fixed issues query for Typescript 4.5.4 (Stable)</a>.</li>
</ul>
</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
<li><a href="https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild">NuGet package</a></li>
</ul>
<h2>TypeScript 4.5.3</h2>
<p>For release notes, check out the <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-4-5/">release announcement</a>.</p>
<p>For the complete list of fixed issues, check out the</p>
<ul>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.0%22+">fixed issues query for Typescript 4.5.0 (Beta)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.1%22+">fixed issues query for Typescript 4.5.1 (RC)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.2%22+">fixed issues query for Typescript 4.5.2 (Stable)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.3%22+">fixed issues query for Typescript 4.5.3 (Stable)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
<li><a href="https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild">NuGet package</a></li>
</ul>
<h2>TypeScript 4.5</h2>
<p>For release notes, check out the <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-4-5/">release announcement</a>.</p>
<p>For the complete list of fixed issues, check out the</p>
<ul>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.0%22+">fixed issues query for Typescript 4.5.0 (Beta)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.1%22+">fixed issues query for Typescript 4.5.1 (RC)</a>.</li>
<li><a href="https://github.com/microsoft/TypeScript/issues?q=milestone%3A%22TypeScript+4.5.2%22+">fixed issues query for Typescript 4.5.1 (Stable)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.TypeScript-45">Visual Studio 2017/2019</a> (<a href="https://github.com/Microsoft/TypeScript/wiki/Updating-TypeScript-in-Visual-Studio-2017">Select new version in project options</a>)</li>
<li><a href="https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild">NuGet package</a></li>
</ul>
<h2>TypeScript 4.5 RC</h2>
<p>For release notes, check out the <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-rc/">release announcement</a>.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/TypeScript/commit/1bc124e6359d8e7fa54206c8b58d324bd8b80beb"><code>1bc124e</code></a> Bump version to 4.5.4 and LKG</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/1d4ec40130bae10f4b955bd7672054e34cba8caa"><code>1d4ec40</code></a> Cherry-pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47096">#47096</a> into release-4.5 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47105">#47105</a>)</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/002c79bf5098886e06a9c02816e2b994c7eb3b8c"><code>002c79b</code></a> Bump version to 4.5.3 and LKG</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/ae448625b0252f20252c7a81015424eeb1c1f5bc"><code>ae44862</code></a> Cherry-pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46599">#46599</a> into release-4.5 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46974">#46974</a>)</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/c63f0cf7d2b84a56ecb18c7097be6b00b3249163"><code>c63f0cf</code></a> Cherry-pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46973">#46973</a> into release-4.5 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47005">#47005</a>)</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/d710e39921d547408acbe17daf8239b84a53bc77"><code>d710e39</code></a> 🤖 Pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47007">#47007</a> (Use features for selected module re...) into release-4.5 (#...</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/c1758b555d5384af0e8257d2008c1197b3ce7560"><code>c1758b5</code></a> Cherry-pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46951">#46951</a> into release-4.5 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47058">#47058</a>)</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/49b1acc1266a153e2bfe2dc4a72ab1465049c7a7"><code>49b1acc</code></a> Pin chalk to ^4.1 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46985">#46985</a>) (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/47014">#47014</a>)</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/7893f689fedcfe28a499d119d34844840bce9160"><code>7893f68</code></a> Bump version to 4.5.2 and LKG</li>
<li><a href="https://github.com/microsoft/TypeScript/commit/460515fb4b88cd883526c680bf99cdfda786c0f8"><code>460515f</code></a> Cherry-pick PR <a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46787">#46787</a> into release-4.5 (<a href="https://github-redirect.dependabot.com/Microsoft/TypeScript/issues/46789">#46789</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/Microsoft/TypeScript/compare/v4.4.4...v4.5.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typescript&package-manager=npm_and_yarn&previous-version=4.4.4&new-version=4.5.4)](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 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 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>
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.13.0 to 1.15.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.15.0</h2>
<h3>Fixed</h3>
<ul>
<li>io: add cooperative yielding support to <code>io::empty()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4300">#4300</a>)</li>
<li>time: make timeout robust against budget-depleting tasks (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4314">#4314</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>update minimum supported Rust version to 1.46.</li>
</ul>
<h3>Added</h3>
<ul>
<li>time: add <code>Interval::reset()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4248">#4248</a>)</li>
<li>io: add explicit lifetimes to <code>AsyncFdReadyGuard</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4267">#4267</a>)</li>
<li>process: add <code>Command::as_std()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4295">#4295</a>)</li>
</ul>
<h3>Added (unstable)</h3>
<ul>
<li>tracing: instrument <code>tokio::sync</code> types (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4302">#4302</a>)</li>
</ul>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4302">#4302</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4302">tokio-rs/tokio#4302</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4300">#4300</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4300">tokio-rs/tokio#4300</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4295">#4295</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4295">tokio-rs/tokio#4295</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4267">#4267</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4267">tokio-rs/tokio#4267</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4248">#4248</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4248">tokio-rs/tokio#4248</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4314">#4314</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4314">tokio-rs/tokio#4314</a></p>
<h2>Tokio v1.14.0</h2>
<h1>1.14.0 (November 15, 2021)</h1>
<h3>Fixed</h3>
<ul>
<li>macros: fix compiler errors when using <code>mut</code> patterns in <code>select!</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4211">#4211</a>)</li>
<li>sync: fix a data race between <code>oneshot::Sender::send</code> and awaiting a
<code>oneshot::Receiver</code> when the oneshot has been closed (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4226">#4226</a>)</li>
<li>sync: make <code>AtomicWaker</code> panic safe (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3689">#3689</a>)</li>
<li>runtime: fix basic scheduler dropping tasks outside a runtime context
(<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4213">#4213</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>stats: add <code>RuntimeStats::busy_duration_total</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4179">#4179</a>, <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4223">#4223</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>io: updated <code>copy</code> buffer size to match <code>std::io::copy</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4209">#4209</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li>io: rename buffer to file in doc-test (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4230">#4230</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tokio-rs/tokio/commit/f64673580dfc649954eb744eb2734f2f118baa47"><code>f646735</code></a> chore: prepare Tokio v1.15.0 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4320">#4320</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/54e6693dff86e6e9d687ed3952bbc2c68bb6db8d"><code>54e6693</code></a> time: make timeout robust against budget-depleting tasks (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4314">#4314</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/4e3268d222423e874f5bbfa67e20f773da3c025f"><code>4e3268d</code></a> tracing: instrument more resources (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4302">#4302</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/4b6bb1d9a790b0b81e56d4d852944a2a08b1f70d"><code>4b6bb1d</code></a> chore(util): start v0.7 release cycle (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4313">#4313</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/eb1af7f29caaa1cd9e84b9fcbd87b9d62b546de3"><code>eb1af7f</code></a> io: make <code>tokio::io::empty</code> cooperative (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4300">#4300</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/0bc9160e25a998d5e5671a32e340e3ec19575372"><code>0bc9160</code></a> chore: update labeler.yml to drop filepath prefixes (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4308">#4308</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/4c571b55b10b39255548a995a876883260b0bfeb"><code>4c571b5</code></a> runtime: fix typo in the task modules (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4306">#4306</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/60ba634d60d8ee4ad5f0dc515660505e2194562d"><code>60ba634</code></a> time: fix typo in tokio-time document (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4304">#4304</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/f73ed1fdbaa0febd1f89b64603cd171865b26afc"><code>f73ed1f</code></a> runtime: fix typo (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4303">#4303</a>)</li>
<li><a href="https://github.com/tokio-rs/tokio/commit/ee4b2ede83c661715c054d3cda170994a499c39f"><code>ee4b2ed</code></a> process: add <code>as_std()</code> method to <code>Command</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4295">#4295</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.13.0...tokio-1.15.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.13.0&new-version=1.15.0)](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 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 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>
…354)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 17.0.34 to 17.0.38.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=17.0.34&new-version=17.0.38)](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 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 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>
Bumps [ureq](https://github.com/algesten/ureq) from 2.3.0 to 2.4.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/algesten/ureq/blob/main/CHANGELOG.md">ureq's changelog</a>.</em></p>
<blockquote>
<h1>2.4.0</h1>
<ul>
<li>Enable <code>gzip</code> feature by default (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/455">#455</a>)</li>
<li><code>gzip</code> and <code>brotli</code> feature flags to enable decompression (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/453">#453</a>, <a href="https://github-redirect.dependabot.com/algesten/ureq/issues/421">#421</a>)</li>
<li>Middleware function on agent (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/448">#448</a>)</li>
<li>Agent option to preserve <code>Authorization</code> header on redirects (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/445">#445</a>)</li>
<li>Deprecate re-exported serde types (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/446">#446</a>)</li>
<li>Widen type of <code>send_json</code> to <code>impl Serializable</code> (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/446">#446</a>)</li>
<li><code>native-tls</code> feature provides an alternative TLS backend (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/449">#449</a>, <a href="https://github-redirect.dependabot.com/algesten/ureq/issues/391">#391</a>)</li>
</ul>
<h1>2.3.2</h1>
<ul>
<li>Re-introduce the <code>ureq::patch</code> and <code>agent::patch</code> calls.</li>
<li>Fix regression in 2.3.x for feature native-certs (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/441">#441</a>)</li>
</ul>
<h1>2.3.1</h1>
<ul>
<li>Don't panic when given an invalid DNS name (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/436">#436</a>).</li>
<li>Update to rustls-native-certs v0.6 (<a href="https://github-redirect.dependabot.com/algesten/ureq/issues/432">#432</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/algesten/ureq/commit/007ce44ea7a26d671fa2a95cf630001ab3d9795e"><code>007ce44</code></a> Bump version to 2.4.0</li>
<li><a href="https://github.com/algesten/ureq/commit/adbd9144afe0fb591b4b84b686c29ed7268343ba"><code>adbd914</code></a> Update changelog for 2.4.0</li>
<li><a href="https://github.com/algesten/ureq/commit/3b68dce23a67ffbf887e2109e9a6c41e17803d07"><code>3b68dce</code></a> Make Middleware always Send + Sync + 'static</li>
<li><a href="https://github.com/algesten/ureq/commit/81c0e66ec7e84dd5ca95a1a29c7f6be24a446bfe"><code>81c0e66</code></a> MiddlewareNext iterator without Box</li>
<li><a href="https://github.com/algesten/ureq/commit/43680335dc110c869abbf48d46a8e677bd78a48b"><code>4368033</code></a> Middleware chain based on iterator</li>
<li><a href="https://github.com/algesten/ureq/commit/a2d62368f32618d1bca9136ca60b70e0164667b8"><code>a2d6236</code></a> Remove Option wrapper around middleware</li>
<li><a href="https://github.com/algesten/ureq/commit/09ecb6ffd67750ba02778305d2aef311470cc49d"><code>09ecb6f</code></a> Implement middleware function</li>
<li><a href="https://github.com/algesten/ureq/commit/7b2f28bbc2e43497ce17c10f6a2b97083121ff34"><code>7b2f28b</code></a> Tidy up Response::url initialization</li>
<li><a href="https://github.com/algesten/ureq/commit/87cf59d399cfc4089bb4de5efb827f6c599f2a8b"><code>87cf59d</code></a> Doc fix</li>
<li><a href="https://github.com/algesten/ureq/commit/98ac6313e5e2bd1d562ddec3a3d01401cd778541"><code>98ac631</code></a> Agent/AgentBuilder impl Debug manually</li>
<li>Additional commits viewable in <a href="https://github.com/algesten/ureq/compare/2.3.0...2.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ureq&package-manager=cargo&previous-version=2.3.0&new-version=2.4.0)](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 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 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>
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.81 to 1.0.84.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p>
<blockquote>
<h2>1.0.84</h2>
<ul>
<li>Add <a href="https://docs.rs/syn/1.0.84/syn/macro.parse_quote_spanned.html"><code>parse_quote_spanned!</code></a> macro which is a combination <code>parse_quote!</code> + <code>quote_spanned!</code></li>
</ul>
<h2>1.0.83</h2>
<ul>
<li>Fix panic parsing trait impl with qself in trait type: <code>impl &lt;Thing&lt;&gt;&gt;::Trait for Type {}</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1109">#1109</a>)</li>
<li>Preserve attributes on let-else stmt: <code>#[attr] let pat = val else { return }</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1110">#1110</a>)</li>
</ul>
<h2>1.0.82</h2>
<ul>
<li>Support parenthesized generic argument syntax with <code>::</code> disambiguator: <code>Fn::() -&gt; !</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1096">#1096</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/dtolnay/syn/commit/277b55ff3ed9a6096b5553369b28ffe7ed67237b"><code>277b55f</code></a> Release 1.0.84</li>
<li><a href="https://github.com/dtolnay/syn/commit/002a247c192aa5fc841d731a93df02a675127b0e"><code>002a247</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1114">#1114</a> from dtolnay/punctuatedlink</li>
<li><a href="https://github.com/dtolnay/syn/commit/31c0ba61db96ad8e672285af10de8691af0771ba"><code>31c0ba6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1113">#1113</a> from dtolnay/parsequotespanned</li>
<li><a href="https://github.com/dtolnay/syn/commit/008cb1704ba0a0903409dfeb73bab0d1635458e0"><code>008cb17</code></a> Rely on rustdoc to resolve Punctuated&lt;T, P&gt; to an intra doc link</li>
<li><a href="https://github.com/dtolnay/syn/commit/ce692993303f8655432cf19812f4ecb9b39697bf"><code>ce69299</code></a> Add parse_quote_spanned macro = parse_quote + quote_spanned</li>
<li><a href="https://github.com/dtolnay/syn/commit/c39aa78b8ffb298d5cbad97323e8d5199dee55a2"><code>c39aa78</code></a> Change test suite atomic from SeqCst to Relaxed</li>
<li><a href="https://github.com/dtolnay/syn/commit/27ee511721dd2a5fc707cefbb558667c3a01eb45"><code>27ee511</code></a> Release 1.0.83</li>
<li><a href="https://github.com/dtolnay/syn/commit/47e1bc3c03ca9878ccfdaaf505c901ff286c9065"><code>47e1bc3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1110">#1110</a> from dtolnay/attrletelse</li>
<li><a href="https://github.com/dtolnay/syn/commit/8d24d277565648273337fa212229ccd9a4f6a48a"><code>8d24d27</code></a> Preserve attributes on let-else stmt</li>
<li><a href="https://github.com/dtolnay/syn/commit/b5834ab6a279b368416a6d269b2c387de50bdb5d"><code>b5834ab</code></a> Update test suite to nightly-2021-12-22</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/1.0.81...1.0.84">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=1.0.81&new-version=1.0.84)](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 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 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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.69 to 1.0.74.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.74</h2>
<ul>
<li>Allow creating RawValues from references to unsized values (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/841">#841</a>, thanks <a href="https://github.com/EFanZh"><code>@​EFanZh</code></a>)</li>
</ul>
<h2>v1.0.73</h2>
<ul>
<li>Update <code>itoa</code> dependency to 1.0</li>
</ul>
<h2>v1.0.72</h2>
<ul>
<li>Interpret <code>\u</code>-encoded lone surrogates when deserializing into a byte string (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/828">#828</a>, <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/829">#829</a>, thanks <a href="https://github.com/lucacasonato"><code>@​lucacasonato</code></a>)</li>
</ul>
<h2>v1.0.71</h2>
<ul>
<li>Add serde_json::Map::get_key_value (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/821">#821</a>, thanks <a href="https://github.com/timothee-haudebourg"><code>@​timothee-haudebourg</code></a>)</li>
<li>Add impl From&lt;Box&lt;RawValue&gt;&gt; for Box&lt;str&gt; (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/824">#824</a>, thanks <a href="https://github.com/jplatte"><code>@​jplatte</code></a>)</li>
</ul>
<h2>v1.0.70</h2>
<ul>
<li>Add <code>serde_json::Map::retain</code> method (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/822">#822</a>, thanks <a href="https://github.com/deankarn"><code>@​deankarn</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/serde-rs/json/commit/58d40de6ed22bf0c80bbe2443dd00f265281aa2d"><code>58d40de</code></a> Release 1.0.74</li>
<li><a href="https://github.com/serde-rs/json/commit/ef7794f87f43d22fc74d1e38aa2cec1d6bcec12e"><code>ef7794f</code></a> Detect warnings in CI</li>
<li><a href="https://github.com/serde-rs/json/commit/6de3d398efe4ed67e35796092387825201eb3c8c"><code>6de3d39</code></a> Merge pull request 841 from EFanZh/unsized-value-to-raw-value</li>
<li><a href="https://github.com/serde-rs/json/commit/012f567a389c89d74f02ae14628968febef1d3da"><code>012f567</code></a> Allow creating <code>RawValue</code>s from references to unsized values</li>
<li><a href="https://github.com/serde-rs/json/commit/18a88dad66e25d3cda4aa16d64a716e82ac3989d"><code>18a88da</code></a> Avoid evaluating $c more than once in overflow macro</li>
<li><a href="https://github.com/serde-rs/json/commit/5d2cbcdd4b146e98b5aa2200de7a8ae6231bf0ba"><code>5d2cbcd</code></a> Eliminate lib module</li>
<li><a href="https://github.com/serde-rs/json/commit/31198f589cff820750cf249a6b899f89dab514c0"><code>31198f5</code></a> Switch to $(,)? in tri macro</li>
<li><a href="https://github.com/serde-rs/json/commit/51df12e0cdbcc193a41c682d8b3a0a6f44128ed8"><code>51df12e</code></a> Unconditionally import from alloc</li>
<li><a href="https://github.com/serde-rs/json/commit/95f67a09399d546d9ecadeb747a845a77ff309b2"><code>95f67a0</code></a> Ignore return_self_not_must_use clippy lint</li>
<li><a href="https://github.com/serde-rs/json/commit/296f718e18681c52909da99f24198133e58528b2"><code>296f718</code></a> Release 1.0.73</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.69...v1.0.74">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.69&new-version=1.0.74)](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 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 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>
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.5.0 to 15.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/graphql/graphql-js/releases">graphql's releases</a>.</em></p>
<blockquote>
<h2>v15.8.0 (2021-12-07)</h2>
<h4>New Feature 🚀</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3410">#3410</a> Refine getNamedType() for Input and Output types (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h4>Internal 🏠</h4>
<!-- raw HTML omitted -->
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3411">#3411</a> publish 15.x.x packages only under '15.x.x' tag (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3412">#3412</a> cspell: do not show progress (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
<h4>Committers: 1</h4>
<ul>
<li>Ivan Goncharov(<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h2>v15.7.2 (2021-10-28)</h2>
<h4>Bug Fix 🐞</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3343">#3343</a> GraphQLError: Fixed <code>originalError.extensions</code> overriding <code>extensions</code> argument to constructor (<a href="https://github.com/klippx"><code>@​klippx</code></a>)</li>
</ul>
<h4>Committers: 1</h4>
<ul>
<li>Mathias Klippinge(<a href="https://github.com/klippx"><code>@​klippx</code></a>)</li>
</ul>
<h2>v15.7.1 (2021-10-27)</h2>
<h4>Bug Fix 🐞</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3341">#3341</a> GraphQLError: revert <code>originalError</code> to be nullable (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h4>Committers: 1</h4>
<ul>
<li>Ivan Goncharov(<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h2>v15.7.0 (2021-10-26)</h2>
<h4>New Feature 🚀</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3327">#3327</a> Change type of error extensions from anonymous Record to named interfaces (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3333">#3333</a> GraphQLError: major refactoring to be more in line with v16 (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3334">#3334</a> GraphQLError: keep extensions always present (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h4>Bug Fix 🐞</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3332">#3332</a> GraphQLError: fix empty <code>locations</code> if error got nodes without locations (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3335">#3335</a> GraphQLError: restore order of enumerable fields (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h4>Committers: 1</h4>
<ul>
<li>Ivan Goncharov(<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<h2>v15.6.1 (2021-10-05)</h2>
<h4>Bug Fix 🐞</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/graphql/graphql-js/pull/3275">#3275</a> type/introspection: add missing <code>__Directive.args(includeDeprecated:)</code> (<a href="https://github.com/IvanGoncharov"><code>@​IvanGoncharov</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/graphql/graphql-js/commit/ef6688d7d7104c9834dbafa16e656dcc688bae7a"><code>ef6688d</code></a> 15.8.0</li>
<li><a href="https://github.com/graphql/graphql-js/commit/eb687dd9eeb3079439e9c3a6d5f0911b7ee6498c"><code>eb687dd</code></a> cspell: do not show progress (<a href="https://github-redirect.dependabot.com/graphql/graphql-js/issues/3412">#3412</a>)</li>
<li><a href="https://github.com/graphql/graphql-js/commit/6b6efe44965e9f496b1710e4aefe5a93d310a8f3"><code>6b6efe4</code></a> publish 15.x.x packages only under '15.x.x' tag (<a href="https://github-redirect.dependabot.com/graphql/graphql-js/issues/3411">#3411</a>)</li>
<li><a href="https://github.com/graphql/graphql-js/commit/c55ac609582a1e2eabfad737e3704aa7fc231db3"><code>c55ac60</code></a> Refine getNamedType() for Input and Output types (<a href="https://github-redirect.dependabot.com/graphql/graphql-js/issues/3410">#3410</a>)</li>
<li><a href="https://github.com/graphql/graphql-js/commit/865e53453fc07d232ce58b6db36e43e9f252ca99"><code>865e534</code></a> 15.7.2</li>
<li><a href="https://github.com/graphql/graphql-js/commit/188122bfd9d0d66b5b4d1ebcd920fe7b41929ba5"><code>188122b</code></a> GraphQLError: Fixed <code>originalError.extensions</code> overriding <code>extensions</code> argume...</li>
<li><a href="https://github.com/graphql/graphql-js/commit/7dc29fd0367e2c9ed3a901c1d809a56edca6b2cf"><code>7dc29fd</code></a> 15.7.1</li>
<li><a href="https://github.com/graphql/graphql-js/commit/8aea0c9fe7c7d1e1f8a9d073141c783c365b6af8"><code>8aea0c9</code></a> GraphQLError: revert <code>originalError</code> to be nullable (<a href="https://github-redirect.dependabot.com/graphql/graphql-js/issues/3341">#3341</a>)</li>
<li><a href="https://github.com/graphql/graphql-js/commit/c7ab7eb4dc98c064a8c96138bba583475c131737"><code>c7ab7eb</code></a> 15.7.0</li>
<li><a href="https://github.com/graphql/graphql-js/commit/6281c06833420c412c7ee41174c8cb1aa7b5cb9a"><code>6281c06</code></a> GraphQLError: restore order of enumerable fields (<a href="https://github-redirect.dependabot.com/graphql/graphql-js/issues/3335">#3335</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/graphql/graphql-js/compare/v15.5.0...v15.8.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=graphql&package-manager=npm_and_yarn&previous-version=15.5.0&new-version=15.8.0)](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 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 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>
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.8.0 to 1.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md">insta's changelog</a>.</em></p>
<blockquote>
<h2>1.9.0</h2>
<ul>
<li><code>cargo-insta</code> now correctly handles the package (<code>-p</code>) argument
on <code>test</code> when deleting unreferenced snapshots. (<a href="https://github-redirect.dependabot.com/mitsuhiko/insta/issues/201">#201</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/mitsuhiko/insta/commit/f5d695d701e24c91f85af877495b08f57efb5fa3"><code>f5d695d</code></a> 1.9.0</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/966320e81912b3f92407a0ff8991ba7b6233c9c9"><code>966320e</code></a> Include assertion line numbers in snapshot files (<a href="https://github-redirect.dependabot.com/mitsuhiko/insta/issues/203">#203</a>)</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/e89781d34a098e76517ed4ade0ce83dbb86cfb8f"><code>e89781d</code></a> This fixes cargo-insta not handling -p correctly when deleting snapshots (<a href="https://github-redirect.dependabot.com/mitsuhiko/insta/issues/202">#202</a>)</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/2899990f7f88e7fc5c0c397555e2ca9fbaddc7ce"><code>2899990</code></a> Fixed old link to introduction (<a href="https://github-redirect.dependabot.com/mitsuhiko/insta/issues/198">#198</a>)</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/d3195c13f2c87baf652e3075b00d0a9726cc97f5"><code>d3195c1</code></a> Remove unused dependencies from cargo-insta</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/163e66f335016f08464b8d75b44ef53d881f38ce"><code>163e66f</code></a> Move code around slightly</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/e97661316f4159dcc685819b9ae93d2fef337daf"><code>e976613</code></a> Fix a spelling error</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/3dfc226bff562686ad4e45c96971531302134b6b"><code>3dfc226</code></a> Bigger internals refactorings (<a href="https://github-redirect.dependabot.com/mitsuhiko/insta/issues/194">#194</a>)</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/1a5cdec151db46ba9e316df19bc5d9656e977c84"><code>1a5cdec</code></a> Move inline snapshot normalization code to snapshot module</li>
<li><a href="https://github.com/mitsuhiko/insta/commit/f4b142584f4053575e83a6a1000b96890903ca6b"><code>f4b1425</code></a> Move out cargo code into a separate module</li>
<li>Additional commits viewable in <a href="https://github.com/mitsuhiko/insta/compare/1.8.0...1.9.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=insta&package-manager=cargo&previous-version=1.8.0&new-version=1.9.0)](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 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 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>
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.10 to 1.0.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/quote/releases">quote's releases</a>.</em></p>
<blockquote>
<h2>1.0.13</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.12</h2>
<ul>
<li>Fix proc-macro2 dependency to work with <code>-Zminimal-versions</code> builds</li>
</ul>
<h2>1.0.11</h2>
<ul>
<li>Improve performance of quote invocations involving literals, lifetimes, and underscore tokens</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/dtolnay/quote/commit/63ce7f4d137491d4b7fa03af7c1c0a2cec20d259"><code>63ce7f4</code></a> Release 1.0.14</li>
<li><a href="https://github.com/dtolnay/quote/commit/0a04bae97bf7049da66bd07c9d76c50171b8a51d"><code>0a04bae</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/quote/issues/203">#203</a> from dtolnay/parse</li>
<li><a href="https://github.com/dtolnay/quote/commit/b273a4cb9b24470cfacfc4eb71acb44cbdc10ab0"><code>b273a4c</code></a> Optimize parse+extend to make only one proc macro bridge call</li>
<li><a href="https://github.com/dtolnay/quote/commit/f621fe64a8a501cae8e95ebd6848e637bbc79078"><code>f621fe6</code></a> Delete $:literal codepath</li>
<li><a href="https://github.com/dtolnay/quote/commit/b8b6e4201bab5cdb496ba974200b53231555e804"><code>b8b6e42</code></a> Add test involving non-builtin literal suffix</li>
<li><a href="https://github.com/dtolnay/quote/commit/917d9409334c268afba4a6f72531346e84a62d16"><code>917d940</code></a> Release 1.0.13</li>
<li><a href="https://github.com/dtolnay/quote/commit/b276b1b7a0841730da4cbba8ba54ab2231cd8c5c"><code>b276b1b</code></a> Fix broken IdentFragment link in format_ident doc</li>
<li><a href="https://github.com/dtolnay/quote/commit/703c1ca754a38986d6a37104d3e48403152fd69a"><code>703c1ca</code></a> Remove unneeded backticks in links in format_ident doc</li>
<li><a href="https://github.com/dtolnay/quote/commit/071f17ff2c5bc19028fa87ae891e7be435c7130b"><code>071f17f</code></a> Release 1.0.12</li>
<li><a href="https://github.com/dtolnay/quote/commit/0a522dfaca64ee9b9824e68dfb1400ea5e88b552"><code>0a522df</code></a> Declare dependency on proc-macro2 1.0.36+</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/quote/compare/1.0.10...1.0.14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quote&package-manager=cargo&previous-version=1.0.10&new-version=1.0.14)](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 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 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>
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.32 to 1.0.36.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's releases</a>.</em></p>
<blockquote>
<h2>1.0.36</h2>
<ul>
<li>Improve performance of creating literal tokens through <code>quote!</code> macro</li>
</ul>
<h2>1.0.35</h2>
<ul>
<li>Try to diagnose &quot;cannot find type SourceFile&quot; errors better (<a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/311">#311</a>)</li>
</ul>
<h2>1.0.34</h2>
<ul>
<li>Work around doc build failure due to docs.rs flags change (<a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/310">#310</a>)</li>
</ul>
<h2>1.0.33</h2>
<ul>
<li>Enable <code>Group::span_open</code>/<code>span_close</code> on Rust 1.55+ to reflect their stabilization in rustc (<a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/305">#305</a>, <a href="https://github-redirect.dependabot.com/rust-lang/rust/pull/86136">rust-lang/rust#86136</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/7ecea3b88fe72672ca4270631b5d4585c0f7c715"><code>7ecea3b</code></a> Release 1.0.36</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/8efe7d414117b9e3526064d4cfde88d0e7ae74bd"><code>8efe7d4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/321">#321</a> from dtolnay/literal</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/1a9b24df11e63b0db1429c54fd10d534b9964576"><code>1a9b24d</code></a> Restore support for versions without FromStr for proc_macro::Literal</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/58d55651b35a4f8e01814bc47b59f915a5817b09"><code>58d5565</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/319">#319</a> from dtolnay/treesfield</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/6d9a5796ecceb72c60037776d950e50940730130"><code>6d9a579</code></a> Reduce visibility of fallback TokenStream's field</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/6f4dc9957060c0d5424e3958db26398784abefa6"><code>6f4dc99</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/318">#318</a> from dtolnay/literalrepr</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/2f2dfcf36bd9d523a56bae891c3d9a1679b03eeb"><code>2f2dfcf</code></a> Rename text -&gt; repr in implementation of Literal</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/0360b2af382c64114ef25131b15f7d6375085794"><code>0360b2a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/317">#317</a> from dtolnay/literalunchecked</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/4ca7537b94568de18f61d6368e4f291a74ef455a"><code>4ca7537</code></a> Add a Literal::from_str_unchecked constructor for quote</li>
<li><a href="https://github.com/dtolnay/proc-macro2/commit/7b91e66a2f96fa49a215fb7ccfaacf2f11aa5be9"><code>7b91e66</code></a> Consistently use Self in return type of constructors</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/proc-macro2/compare/1.0.32...1.0.36">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.32&new-version=1.0.36)](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 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 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>
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.8.0 to 1.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>1.9</h2>
<ul>
<li>Added an <code>atomic-polyfill</code> optional dependency to compile <code>race</code> on platforms without atomics</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/matklad/once_cell/commit/44852cc72dbfbf57c5477a907ec0ab36527bc36b"><code>44852cc</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/165">#165</a></li>
<li><a href="https://github.com/matklad/once_cell/commit/12ccfec475bfbd45d15e587030494059c337a195"><code>12ccfec</code></a> Bump version and edit Changelog</li>
<li><a href="https://github.com/matklad/once_cell/commit/133096dbca0cc1bfed2bc5c5825be6c4bddafec0"><code>133096d</code></a> Add an atomic-polyfill optional dependancy</li>
<li><a href="https://github.com/matklad/once_cell/commit/7b2943b3828867a58690165961424230ca423403"><code>7b2943b</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/160">#160</a></li>
<li><a href="https://github.com/matklad/once_cell/commit/702ff21cd4800e3bf205026d5b71d6ea464d481a"><code>702ff21</code></a> Remove an unwrap</li>
<li><a href="https://github.com/matklad/once_cell/commit/f92720a4cac370c117e9d565aebbae2b8de51852"><code>f92720a</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/154">#154</a></li>
<li><a href="https://github.com/matklad/once_cell/commit/c559b03d451cc4a58c71d1817c24efb4a110ab0c"><code>c559b03</code></a> Document the allowed violation of the &quot;once&quot; invariant for <code>&amp;mut self</code> methods.</li>
<li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.8.0...v1.9.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.8.0&new-version=1.9.0)](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 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 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>
@bors
Copy link

bors bot commented Feb 20, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title Refactor much of the core of cynic [Merged by Bors] - Refactor much of the core of cynic Feb 20, 2022
@bors bors bot closed this Feb 20, 2022
@bors bors bot deleted the rewrite-core branch February 20, 2022 16:39
bors bot pushed a commit that referenced this pull request Feb 20, 2022
#### Why are we making this change?

#391 changed the way scalar derives worked, but it didn't handle generic types inside a scalar derive.

#### What effects does this change have?

Fixes generic types in a scalar derive, adds a test.
bors bot pushed a commit that referenced this pull request Feb 20, 2022
#### Why are we making this change?

#391 changed the way scalar derives worked, but it didn't handle generic types inside a scalar derive.

#### What effects does this change have?

Fixes generic types in a scalar derive, adds a test.
bors bot pushed a commit that referenced this pull request Feb 20, 2022
#### Why are we making this change?

#391 changed the way scalar derives worked, but it didn't handle generic types inside a scalar derive.

#### What effects does this change have?

Fixes generic types in a scalar derive, adds a test.
bors bot pushed a commit that referenced this pull request Feb 21, 2022
#391 made a mistake and put `query` before subscription & mutation operations.

This fixes that.
bors bot pushed a commit that referenced this pull request Feb 21, 2022
…407)

#### Why are we making this change?

The GitHub example is currently feature flagged as working on cynic used to be
unbearable when it wasn't, as it output so much code and RA struggled to work
with it.  Things have moved on a bit now: cynic is generating less code, and
perhaps RA has also improved.

#### What effects does this change have?

Gets rid of the feature flag in the github examples, and creates a new github
schema crate so we can share a bit of code between the two examples.  I think
this might also be a good idea generally for consumers that want to work with
the GitHub API (although I'm not 100% certain).

This also acts as a good test for #373 (which seems to have been fixed by #391) 
and will ensure we don't regress it in the future.
bors bot pushed a commit that referenced this pull request Mar 5, 2022
#### Why are we making this change?

#391 updated cynic with some new traits for defining the schema.  It used
associated functions that return static strings for a lot of it's stuff.
However, these could just have been associated constants instead.

#### What effects does this change have?

Updates all of these to just be associated constants.
bors bot pushed a commit that referenced this pull request Mar 5, 2022
#### Why are we making this change?

#391 refactored `serde` so that it doesn't need to depend quite so heavily on
`serde_json`.  I've also decided on a new approach for handling features in the
`http` libraries we provide integrations with.

#### What effects does this change have?

1. Removes our dependency on `serde_json` unless neccesary.
2. Renames the http features (unfortunately I couldn't continue using just the
    names of the downstream crates as I needed to add additional features for
    some of them, which requires a different feature name to the crate name)
4. Removes most of the `surf` sub-features.

Fixes #414
bors bot pushed a commit that referenced this pull request Mar 5, 2022
#### Why are we making this change?

#391 refactored `serde` so that it doesn't need to depend quite so heavily on
`serde_json`.  I've also decided on a new approach for handling features in the
`http` libraries we provide integrations with.

#### What effects does this change have?

1. Removes our dependency on `serde_json` unless neccesary.
2. Renames the http features (unfortunately I couldn't continue using just the
    names of the downstream crates as I needed to add additional features for
    some of them, which requires a different feature name to the crate name)
4. Removes most of the `surf` sub-features.

Fixes #414
obmarg added a commit that referenced this pull request Apr 3, 2022
Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

This PR removes the exhauistiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
obmarg added a commit that referenced this pull request Apr 3, 2022
Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

This PR removes the exhauistiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
obmarg added a commit that referenced this pull request Apr 3, 2022
Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

This PR removes the exhauistiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
obmarg added a commit that referenced this pull request Apr 3, 2022
Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

This PR removes the exhauistiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
bors bot pushed a commit that referenced this pull request Apr 3, 2022
#### Why are we making this change?

Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

#### What effects does this change have?

This PR removes the exhaustiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
obmarg added a commit that referenced this pull request Apr 3, 2022
Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

This PR removes the exhauistiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
bors bot pushed a commit that referenced this pull request Apr 3, 2022
#### Why are we making this change?

Up until the recent changes in #391, cynic made use of the names of the
variants on an `InlineFragments` derive to determine what `__typename`
to look for.  This wasn't a great approach - it's clumsy having to name
the variants after the types they contain, and it's error prone: the
inner type could easily be for a different GQL type and cynic would not
be able to error.

PR #391 changed that - the `__typename` now comes from the inner
`QueryFragment`.  But I didn't remove the exhaustiveness check, which
still expected to get the `__typename` name from the variant name and
used that to validate things.

#### What effects does this change have?

This PR removes the exhaustiveness check, as there's not current an
easy way to do this at compile time, and this is more in line with how
GraphQL tends to work.

It's possible we can ressurect exhaustiveness checks at compile time in
the future using const assertions _or_ by generating unit tests that do
the check.  But for now I'm just removing.
bors bot pushed a commit that referenced this pull request Apr 5, 2022
#### Why are we making this change?

#391 updated a ton of stuff in cynic, but did not update the book.

#### What effects does this change have?

Updates the book for most of the changes from #391
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant