Skip to content

feat(types): support typing QueryKey and MutationKey via Register - #8521

Merged
TkDodo merged 3 commits into
TanStack:mainfrom
neefrehman:feature/typing-query-keys
Jan 10, 2025
Merged

feat(types): support typing QueryKey and MutationKey via Register#8521
TkDodo merged 3 commits into
TanStack:mainfrom
neefrehman:feature/typing-query-keys

Conversation

@neefrehman

Copy link
Copy Markdown
Contributor

Follow-on from #8495

This PR extends the use of the Register interface so that it can narrow the type of QueryKey and MutationKey, for situations where users of the library want to enforce a hierarchy of keys at the lowest-level possible.

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation package: query-core labels Jan 10, 2025

@TkDodoTkDodo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great work, thank you 🚀

@nx-cloud

nx-cloudBot commented Jan 10, 2025

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 2b07bbe.

CommandStatusDurationResult
nx affected --targets=test:sherif,test:knip,tes...✅ Succeeded3m 6sView ↗
nx run-many --target=build --exclude=examples/*...✅ Succeeded1m 9sView ↗

☁️ Nx Cloud last updated this comment at 2025-01-10 15:23:12 UTC

@autofix-ci

Copy link
Copy Markdown
Contributor

Hi! I'm autofix logoautofix.ci, a bot that automatically fixes trivial issues such as code formatting in pull requests.

I would like to apply some automated changes to this pull request, but it looks like I don't have the necessary permissions to do so. To get this pull request into a mergeable state, please do one of the following two things:

  1. Allow edits by maintainers for your pull request, and then re-trigger CI (for example by pushing a new commit).
  2. Manually fix the issues identified for your pull request (see the GitHub Actions output for details on what I would like to change).

@neefrehman

Copy link
Copy Markdown
ContributorAuthor

@TkDodo thanks! I've just fixed the failing build, so hopefully a rerun will be green 🤞🏾

@neefrehmanneefrehman changed the title feat(types): support typing QueryKey and MutationKey via Registerfeat(types): support typing QueryKey and MutationKey via RegisterJan 10, 2025
@pkg-pr-new

pkg-pr-newBot commented Jan 10, 2025

Copy link
Copy Markdown

Open in Stackblitz

More templates

@tanstack/angular-query-devtools-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@8521

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@8521

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@8521

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@8521

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@8521

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@8521

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@8521

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@8521

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@8521

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@8521

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@8521

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@8521

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@8521

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@8521

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@8521

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@8521

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@8521

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@8521

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@8521

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@8521

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@8521

commit: 2b07bbe

@codecov

codecovBot commented Jan 10, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.04%. Comparing base (e2bc216) to head (ce6952b).
Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@ Coverage Diff @@## main #8521 +/- ##
===========================================
+ Coverage 46.28% 63.04% +16.76% 
===========================================
Files 199 135 -64 Lines 7538 4833 -2705 Branches 1722 1354 -368 ===========================================
- Hits 3489 3047 -442 + Misses 3670 1542 -2128 + Partials 379 244 -135 
ComponentsCoverage Δ
@tanstack/angular-query-devtools-experimental∅ <ø> (∅)
@tanstack/angular-query-experimental88.65% <ø> (ø)
@tanstack/eslint-plugin-query∅ <ø> (∅)
@tanstack/query-async-storage-persister43.85% <ø> (ø)
@tanstack/query-broadcast-client-experimental∅ <ø> (∅)
@tanstack/query-codemods∅ <ø> (∅)
@tanstack/query-core94.15% <ø> (ø)
@tanstack/query-devtools4.78% <ø> (ø)
@tanstack/query-persist-client-core57.73% <ø> (ø)
@tanstack/query-sync-storage-persister84.61% <ø> (ø)
@tanstack/react-query95.94% <ø> (ø)
@tanstack/react-query-devtools10.00% <ø> (ø)
@tanstack/react-query-next-experimental∅ <ø> (∅)
@tanstack/react-query-persist-client100.00% <ø> (ø)
@tanstack/solid-query78.20% <ø> (ø)
@tanstack/solid-query-devtools∅ <ø> (∅)
@tanstack/solid-query-persist-client100.00% <ø> (ø)
@tanstack/svelte-query87.33% <ø> (ø)
@tanstack/svelte-query-devtools∅ <ø> (∅)
@tanstack/svelte-query-persist-client100.00% <ø> (ø)
@tanstack/vue-query71.01% <ø> (ø)
@tanstack/vue-query-devtools∅ <ø> (∅)

@TkDodo

Copy link
Copy Markdown
Collaborator

autofix is still failing. please run prettier or allow updates by maintainers so that this can be fixed by the bot!

@neefrehman
neefrehmanforce-pushed the feature/typing-query-keys branch from ce6952b to b4ea0d6CompareJanuary 10, 2025 15:10
@neefrehman

Copy link
Copy Markdown
ContributorAuthor

@TkDodo thanks! annoyingly prettier was unable to find any fixes (at least with how I was running it in my Codespace). I've just allowed maintainer edits, and have pushed a new commit

@TkDodo
TkDodo merged commit fd500a4 into TanStack:mainJan 10, 2025
vaernion pushed a commit to Arbeidstilsynet/brevgen2 that referenced this pull request Dec 3, 2025
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://github.com/TanStack/query/tree/HEAD/packages/react-query)) | dependencies | minor | [`5.62.16` -> `5.64.0`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/5.62.16/5.64.0) |
| [@tanstack/react-query-devtools](https://tanstack.com/query) ([source](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools)) | dependencies | minor | [`5.62.16` -> `5.64.0`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query-devtools/5.62.16/5.64.0) |
---
### Release Notes
<details>
<summary>TanStack/query (@&#8203;tanstack/react-query)</summary>
### [`v5.64.0`](https://github.com/TanStack/query/releases/tag/v5.64.0)
[Compare Source](TanStack/query@v5.63.0...v5.64.0)
Version 5.64.0 - 1/11/25, 6:59 PM
##### Changes
##### Feat
- types: support typing `QueryKey` and `MutationKey` via `Register` ([#&#8203;8521](TanStack/query#8521)) ([`fd500a4`](TanStack/query@fd500a4)) by [@&#8203;neefrehman](https://github.com/neefrehman)
##### Docs
- react-query: highlight per component select pattern for query options ([#&#8203;8522](TanStack/query#8522)) ([`8ddebc6`](TanStack/query@8ddebc6)) by [@&#8203;DogPawHat](https://github.com/DogPawHat)
- react-query: Add import statement with skipToken to the docs ([#&#8203;8519](TanStack/query#8519)) ([`690fd2a`](TanStack/query@690fd2a)) by Przemek Maszczynski
##### Packages
- [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/query-broadcast-client-experimental](https://github.com/tanstack/query-broadcast-client-experimental)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/query-persist-client-core](https://github.com/tanstack/query-persist-client-core)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/query-sync-storage-persister](https://github.com/tanstack/query-sync-storage-persister)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/react-query](https://github.com/tanstack/react-query)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/react-query-devtools](https://github.com/tanstack/react-query-devtools)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/react-query-persist-client](https://github.com/tanstack/react-query-persist-client)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/react-query-next-experimental](https://github.com/tanstack/react-query-next-experimental)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/solid-query](https://github.com/tanstack/solid-query)[@&#8203;5](https://github.com/5).64.0
- [@&#8203;tanstack/solid-query-devtools](https://github.com/tanstack/solid-...
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationpackage: query-core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@neefrehman@TkDodo