feat: adds uniqueSuspenseQueryKeys option #1104
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚨 IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Description
This PR introduces a new configuration option,
uniqueSuspenseQueryKeys
, to the@graphql-codegen/typescript-react-query
plugin.Currently, suspense and standard query hooks are generated with different query keys, which leads to duplicated cache entries and complicates cache invalidation, prefetching, and general React Query usage. However, React Query treats suspense as a rendering strategy rather than a unique query variant, and its documentation does not suggest different keys are necessary.
This change allows users to opt-in to reusing the same query key between suspense and standard hooks, streamlining the developer experience.
Related #1105
Type of change
How Has This Been Tested?
react-query.spec.ts
underconfig: uniqueSuspenseQueryKeys
that ensures shared keys between suspense and non-suspense hooksTest Environment:
@graphql-codegen
: 5.0.5Checklist: