From 05c60f1db09019f0c612dbdaac702841d00f72e3 Mon Sep 17 00:00:00 2001 From: KirbyBT Date: Thu, 1 Oct 2026 00:51:16 -0400 Subject: [PATCH] fix(vue-query): export `MutationResult` type `UseMutationReturnType` uses `MutationResult` as the default for its `TResult` parameter, but the alias was not exported. Projects that emit declarations could not name the inferred return type of a `useMutation` wrapper and failed with TS2883. Export it from the package root. Fixes #11769 Co-Authored-By: Claude Opus 5.5 --- .changeset/export-vue-mutation-result.md | 5 +++++ packages/vue-query/src/index.ts | 6 +++++- packages/vue-query/src/useMutation.ts | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/export-vue-mutation-result.md diff --git a/.changeset/export-vue-mutation-result.md b/.changeset/export-vue-mutation-result.md new file mode 100644 index 00000000000..0f1ddd465d0 --- /dev/null +++ b/.changeset/export-vue-mutation-result.md @@ -0,0 +1,5 @@ +--- +'@tanstack/vue-query': patch +--- + +Export the `MutationResult` type so inferred `useMutation` return types can be named when emitting declarations diff --git a/packages/vue-query/src/index.ts b/packages/vue-query/src/index.ts index 34f8d48819a..c353a01bc90 100644 --- a/packages/vue-query/src/index.ts +++ b/packages/vue-query/src/index.ts @@ -38,7 +38,11 @@ export type { UseInfiniteQueryOptions, UseInfiniteQueryReturnType, } from './useInfiniteQuery' -export type { UseMutationOptions, UseMutationReturnType } from './useMutation' +export type { + MutationResult, + UseMutationOptions, + UseMutationReturnType, +} from './useMutation' export type { MutationOptions } from './types' export type { UseQueriesOptions, UseQueriesResults } from './useQueries' export type { diff --git a/packages/vue-query/src/useMutation.ts b/packages/vue-query/src/useMutation.ts index 1bd8d30df6d..c46bdc463a8 100644 --- a/packages/vue-query/src/useMutation.ts +++ b/packages/vue-query/src/useMutation.ts @@ -22,7 +22,7 @@ import type { import type { MaybeRefDeep, MutationOptions } from './types' import type { QueryClient } from './queryClient' -type MutationResult = +export type MutationResult = DistributiveOmit< MutationObserverResult, 'mutate' | 'reset'