Skip to content

feat(vue-query): add 'mutationOptions'#10381

Merged
DamianOsipiuk merged 16 commits intomainfrom
feat/vue-query-mutationOptions
Apr 11, 2026
Merged

feat(vue-query): add 'mutationOptions'#10381
DamianOsipiuk merged 16 commits intomainfrom
feat/vue-query-mutationOptions

Conversation

@sukvvon
Copy link
Copy Markdown
Collaborator

@sukvvon sukvvon commented Apr 4, 2026

🎯 Changes

  • Add mutationOptions helper function for type-safe mutation option creation in vue-query
    • Support both plain object and getter (() => options) overloads, following queryOptions pattern
  • Rename VueMutationOptions to MutationOptions for consistency with other adapters
  • Refactor UseMutationOptionsBase in useMutation.ts to use MutationOptions from types.ts
  • Add runtime tests (18 tests) and type tests (15 tests)
  • Fix test descriptions to match actual behavior (getter is now passed to mutationOptions, not to useIsMutating/useMutationState)
  • Add mutationOptions reference page and config.json navigation entry

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 4, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a typed mutationOptions helper and exported MutationOptions type, updates useMutation to use the new type, re-exports both from the package entry, and adds TypeScript and runtime tests covering mutation options, selectors, and in-flight counting.

Changes

Cohort / File(s) Summary
Versioning
\.changeset/many-symbols-write.md
Adds a changeset marking a minor release for @tanstack/vue-query documenting the new mutationOptions feature.
Helper
packages/vue-query/src/mutationOptions.ts
Adds mutationOptions identity helper with overloads that preserve generic option shapes and support object or factory forms; runtime is a passthrough.
Types & Entry
packages/vue-query/src/types.ts, packages/vue-query/src/index.ts
Introduces exported MutationOptions<TData, TError, TVariables, TOnMutateResult> (MutationObserverOptions minus _defaulted plus shallow?: boolean) and re-exports it and the mutationOptions helper from the package entry.
UseMutation API
packages/vue-query/src/useMutation.ts
Replaces the prior inline options base with the imported MutationOptions type for UseMutationOptions (supports MaybeRefDeep and factory forms); updates imports accordingly.
Tests — Types
packages/vue-query/src/__tests__/mutationOptions.test-d.ts
Adds declaration tests validating option shapes, excess-property rejection, callback/context typings, generic propagation, and compatibility with mutation APIs/hooks/selectors.
Tests — Runtime
packages/vue-query/src/__tests__/mutationOptions.test.ts
Adds Vitest suites verifying mutationOptions passthrough, useIsMutating/queryClient.isMutating counts and filtering, useMutationState selections, reactive option getters, and shallow: true shallow-ref behavior.
Docs
docs/framework/vue/reference/mutationOptions.md
Adds a Vue reference doc page for mutationOptions with frontmatter and reference linkage to the React doc.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant Hook as useMutation / useIsMutating
    participant Client as QueryClient / MutationCache
    participant MutFn as mutationFn

    Dev->>Hook: provide `mutationOptions` (object or getter)
    Hook->>Client: register/start mutation (include `mutationKey` if present)
    Hook->>MutFn: call `mutationFn` with TVariables
    MutFn-->>Client: resolve/reject (TData or error)
    Client-->>Hook: emit mutation cache update
    Hook-->>Dev: update reactive state, useIsMutating count, useMutationState selectors
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐇
I hop through options, neat and bright,
Keys and counts kept in plain sight,
Types snug in every line I trace,
Tests thump softly—steady pace.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately captures the main feature addition: introducing a 'mutationOptions' helper to vue-query, which is the primary change across all modified files.
Description check ✅ Passed The pull request description comprehensively covers all changes, follows the template structure with completed sections, and includes proper checklist confirmations and release impact declaration.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/vue-query-mutationOptions

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Apr 4, 2026

View your CI Pipeline Execution ↗ for commit 0761b46

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 1m 14s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2026-04-11 17:35:52 UTC

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 4, 2026

🚀 Changeset Version Preview

1 package(s) bumped directly, 23 bumped as dependents.

🟨 Minor bumps

Package Version Reason
@tanstack/vue-query 5.98.0 → 5.99.0 Changeset
@tanstack/angular-query-experimental 5.98.0 → 5.99.0 Dependent
@tanstack/angular-query-persist-client 5.98.0 → 5.99.0 Dependent
@tanstack/eslint-plugin-query 5.98.0 → 5.99.0 Dependent
@tanstack/preact-query 5.98.0 → 5.99.0 Dependent
@tanstack/preact-query-devtools 5.98.0 → 5.99.0 Dependent
@tanstack/preact-query-persist-client 5.98.0 → 5.99.0 Dependent
@tanstack/query-async-storage-persister 5.98.0 → 5.99.0 Dependent
@tanstack/query-broadcast-client-experimental 5.98.0 → 5.99.0 Dependent
@tanstack/query-core 5.98.0 → 5.99.0 Dependent
@tanstack/query-devtools 5.98.0 → 5.99.0 Dependent
@tanstack/query-persist-client-core 5.98.0 → 5.99.0 Dependent
@tanstack/query-sync-storage-persister 5.98.0 → 5.99.0 Dependent
@tanstack/react-query 5.98.0 → 5.99.0 Dependent
@tanstack/react-query-devtools 5.98.0 → 5.99.0 Dependent
@tanstack/react-query-next-experimental 5.98.0 → 5.99.0 Dependent
@tanstack/react-query-persist-client 5.98.0 → 5.99.0 Dependent
@tanstack/solid-query 5.98.0 → 5.99.0 Dependent
@tanstack/solid-query-devtools 5.98.0 → 5.99.0 Dependent
@tanstack/solid-query-persist-client 5.98.0 → 5.99.0 Dependent

🟩 Patch bumps

Package Version Reason
@tanstack/svelte-query 6.1.15 → 6.1.16 Dependent
@tanstack/svelte-query-devtools 6.1.15 → 6.1.16 Dependent
@tanstack/svelte-query-persist-client 6.1.15 → 6.1.16 Dependent
@tanstack/vue-query-devtools 6.1.15 → 6.1.16 Dependent

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 4, 2026

More templates

@tanstack/angular-query-experimental

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

@tanstack/eslint-plugin-query

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

@tanstack/preact-query

npm i https://pkg.pr.new/@tanstack/preact-query@10381

@tanstack/preact-query-devtools

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

@tanstack/preact-query-persist-client

npm i https://pkg.pr.new/@tanstack/preact-query-persist-client@10381

@tanstack/query-async-storage-persister

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

@tanstack/query-broadcast-client-experimental

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

@tanstack/query-core

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

@tanstack/query-devtools

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

@tanstack/query-persist-client-core

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

@tanstack/query-sync-storage-persister

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

@tanstack/react-query

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

@tanstack/react-query-devtools

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

@tanstack/react-query-next-experimental

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

@tanstack/react-query-persist-client

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

@tanstack/solid-query

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

@tanstack/solid-query-devtools

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

@tanstack/solid-query-persist-client

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

@tanstack/svelte-query

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

@tanstack/svelte-query-devtools

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

@tanstack/svelte-query-persist-client

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

@tanstack/vue-query

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

@tanstack/vue-query-devtools

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

commit: 0761b46

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 4, 2026

size-limit report 📦

Path Size
react full 11.99 KB (0%)
react minimal 9.02 KB (0%)

@sukvvon sukvvon requested a review from DamianOsipiuk April 4, 2026 05:47
@sukvvon sukvvon self-assigned this Apr 4, 2026
@sukvvon sukvvon marked this pull request as draft April 6, 2026 01:04
TVariables = void,
TOnMutateResult = unknown,
>(
options: VueMutationOptions<TData, TError, TVariables, TOnMutateResult>,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this also allow at least getter?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@DamianOsipiuk Added getter overloads for both WithRequired and Omit variants, following the queryOptions pattern. Also added type tests and runtime tests for getter support. (ce18db8)

UseInfiniteQueryReturnType,
} from './useInfiniteQuery'
export type { UseMutationOptions, UseMutationReturnType } from './useMutation'
export type { VueMutationOptions } from './types'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Would just MutationOptions work here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@DamianOsipiuk Renamed VueMutationOptions to MutationOptions across all files. (25ea553)

expect(states.value).toEqual(['data1'])
})

it('should work with options getter and be reactive when used with useIsMutating', async () => {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I do not think this test is testing what is mentioned in the title.

I would expect getter to be passed to mutationOptions which would auto update and trigger refetch when ref is updated

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@DamianOsipiuk Fixed — getter is now passed to mutationOptions(() => ({...})) instead of useIsMutating. (ce18db8)

expect(isMutating.value).toEqual(1)
})

it('should work with options getter and be reactive when used with useMutationState', async () => {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same here

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@DamianOsipiuk Fixed — same change applied to useMutationState test. (ce18db8)

@sukvvon sukvvon marked this pull request as ready for review April 11, 2026 16:25
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
packages/vue-query/src/__tests__/mutationOptions.test.ts (1)

343-362: ⚠️ Potential issue | 🟡 Minor

Getter tests still don’t verify reactive key updates

Both tests create keyRef, but never change it. This only proves the getter form is accepted, not that it re-evaluates when the ref changes (the core behavior implied by the test titles and prior feedback). Please update one/both tests to mutate keyRef between mutations and assert filtering follows the new key.

Suggested test direction
 it('should work with getter passed to mutationOptions when used with useIsMutating', async () => {
   const keyRef = ref('isMutatingGetter')
   const mutationOpts = mutationOptions(() => ({
     mutationKey: [keyRef.value],
     mutationFn: () => sleep(10).then(() => 'data'),
   }))

   const { mutate } = useMutation(mutationOpts)
-  mutate()
-
-  const isMutating = useIsMutating({
-    mutationKey: [keyRef.value],
-  })
+  const isMutating = useIsMutating(() => ({
+    mutationKey: [keyRef.value],
+  }))
+
+  mutate()
+  await vi.advanceTimersByTimeAsync(0)
+  expect(isMutating.value).toEqual(1)
+  await vi.advanceTimersByTimeAsync(10)
+  expect(isMutating.value).toEqual(0)
+
+  keyRef.value = 'isMutatingGetter-next'
+  mutate()
 
   await vi.advanceTimersByTimeAsync(0)
   expect(isMutating.value).toEqual(1)

   await vi.advanceTimersByTimeAsync(10)
   expect(isMutating.value).toEqual(0)
 })

Also applies to: 364-381

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/vue-query/src/__tests__/mutationOptions.test.ts` around lines 343 -
362, Update the tests that use keyRef, mutationOptions, useMutation and
useIsMutating to actually mutate keyRef between mutations and assert the
isMutating count follows the updated key; specifically, after the first mutate()
and relevant timer advances/assertions, change keyRef.value to a new key, call
mutate() again, and then advance timers and assert that useIsMutating (created
with mutationKey: [keyRef.value] or a getter) reflects the new key (i.e., the
previous key is no longer counted and the new key is counted while pending).
Ensure the test uses the same mutationOptions/getter form and updates keyRef
before the second mutation to verify reactive re-evaluation.
🧹 Nitpick comments (1)
packages/vue-query/src/__tests__/mutationOptions.test.ts (1)

21-28: Use reference-equality assertions for “without modification”

toStrictEqual validates structure, not identity. Since these tests claim unchanged pass-through behavior, toBe is a stronger assertion.

Proposed assertion tweak
- expect(mutationOptions(object)).toStrictEqual(object)
+ expect(mutationOptions(object)).toBe(object)

Also applies to: 30-36

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/vue-query/src/__tests__/mutationOptions.test.ts` around lines 21 -
28, The test asserts that mutationOptions returns the same object instance but
uses toStrictEqual (structural equality); update the two relevant tests (the one
using the object with mutationKey and the similar one at lines 30-36) to assert
reference identity by replacing
expect(mutationOptions(object)).toStrictEqual(object) with
expect(mutationOptions(object)).toBe(object), so the test verifies pass-through
behavior by reference equality for the mutationOptions function.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@packages/vue-query/src/__tests__/mutationOptions.test.ts`:
- Around line 343-362: Update the tests that use keyRef, mutationOptions,
useMutation and useIsMutating to actually mutate keyRef between mutations and
assert the isMutating count follows the updated key; specifically, after the
first mutate() and relevant timer advances/assertions, change keyRef.value to a
new key, call mutate() again, and then advance timers and assert that
useIsMutating (created with mutationKey: [keyRef.value] or a getter) reflects
the new key (i.e., the previous key is no longer counted and the new key is
counted while pending). Ensure the test uses the same mutationOptions/getter
form and updates keyRef before the second mutation to verify reactive
re-evaluation.

---

Nitpick comments:
In `@packages/vue-query/src/__tests__/mutationOptions.test.ts`:
- Around line 21-28: The test asserts that mutationOptions returns the same
object instance but uses toStrictEqual (structural equality); update the two
relevant tests (the one using the object with mutationKey and the similar one at
lines 30-36) to assert reference identity by replacing
expect(mutationOptions(object)).toStrictEqual(object) with
expect(mutationOptions(object)).toBe(object), so the test verifies pass-through
behavior by reference equality for the mutationOptions function.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2bd3f67e-579e-483c-b80f-6e3f3e196d56

📥 Commits

Reviewing files that changed from the base of the PR and between 5ca23d0 and ce18db8.

📒 Files selected for processing (3)
  • packages/vue-query/src/__tests__/mutationOptions.test-d.ts
  • packages/vue-query/src/__tests__/mutationOptions.test.ts
  • packages/vue-query/src/mutationOptions.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/vue-query/src/tests/mutationOptions.test-d.ts
  • packages/vue-query/src/mutationOptions.ts

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Apr 11, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/vue-query/src/__tests__/mutationOptions.test-d.ts`:
- Around line 18-21: The `@ts-expect-error` is placed before mutationFn but the
intentional TypeScript error is on the onMutates property; move the
`@ts-expect-error` directive so it precedes the onMutates line (the line
containing onMutates: 1000) to correctly suppress the type error for onMutates
while leaving mutationFn and mutationKey unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2ebc2c21-70da-4921-90f2-c7b1aa9a206e

📥 Commits

Reviewing files that changed from the base of the PR and between ce18db8 and 25ea553.

📒 Files selected for processing (5)
  • packages/vue-query/src/__tests__/mutationOptions.test-d.ts
  • packages/vue-query/src/index.ts
  • packages/vue-query/src/mutationOptions.ts
  • packages/vue-query/src/types.ts
  • packages/vue-query/src/useMutation.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • packages/vue-query/src/index.ts
  • packages/vue-query/src/useMutation.ts
  • packages/vue-query/src/mutationOptions.ts
  • packages/vue-query/src/types.ts

Comment on lines +18 to +21
// @ts-expect-error this is a good error, because onMutates does not exist!
mutationFn: () => Promise.resolve(5),
mutationKey: ['key'],
onMutates: 1000,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification: confirm which line each `@ts-expect-error` currently guards.
file="packages/vue-query/src/__tests__/mutationOptions.test-d.ts"

awk '
/@ts-expect-error/{
  dirLine=NR
  while (getline next) {
    if (next ~ /^[[:space:]]*$/) continue
    print "Directive at line " dirLine
    print "Next non-empty line: " NR ": " next
    print "---"
    break
  }
}
' "$file"

Repository: TanStack/query

Length of output: 150


🏁 Script executed:

cat -n packages/vue-query/src/__tests__/mutationOptions.test-d.ts | sed -n '16,25p'

Repository: TanStack/query

Length of output: 473


🏁 Script executed:

rg "@ts-expect-error" packages/vue-query/src/__tests__/mutationOptions.test-d.ts -n

Repository: TanStack/query

Length of output: 423


🏁 Script executed:

cat -n packages/vue-query/src/__tests__/mutationOptions.test-d.ts | sed -n '95,105p'

Repository: TanStack/query

Length of output: 517


🏁 Script executed:

cat -n packages/vue-query/src/__tests__/mutationOptions.test-d.ts | sed -n '173,180p'

Repository: TanStack/query

Length of output: 335


🏁 Script executed:

cat -n packages/vue-query/src/__tests__/mutationOptions.test-d.ts | sed -n '192,200p'

Repository: TanStack/query

Length of output: 351


🏁 Script executed:

cat -n packages/vue-query/src/__tests__/mutationOptions.test-d.ts | sed -n '211,220p'

Repository: TanStack/query

Length of output: 319


@ts-expect-error directive is on the wrong line.

The directive on line 18 applies to line 19 (mutationFn), but the intentional error is on line 21 (onMutates). Move the directive to line 21 to guard the correct property.

Fix
     mutationOptions({
-      // `@ts-expect-error` this is a good error, because onMutates does not exist!
       mutationFn: () => Promise.resolve(5),
       mutationKey: ['key'],
+      // `@ts-expect-error` this is a good error, because onMutates does not exist!
       onMutates: 1000,
       onSuccess: (data) => {
         expectTypeOf(data).toEqualTypeOf<number>()
       },
     })
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
// @ts-expect-error this is a good error, because onMutates does not exist!
mutationFn: () => Promise.resolve(5),
mutationKey: ['key'],
onMutates: 1000,
mutationFn: () => Promise.resolve(5),
mutationKey: ['key'],
// `@ts-expect-error` this is a good error, because onMutates does not exist!
onMutates: 1000,
onSuccess: (data) => {
expectTypeOf(data).toEqualTypeOf<number>()
},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/vue-query/src/__tests__/mutationOptions.test-d.ts` around lines 18 -
21, The `@ts-expect-error` is placed before mutationFn but the intentional
TypeScript error is on the onMutates property; move the `@ts-expect-error`
directive so it precedes the onMutates line (the line containing onMutates:
1000) to correctly suppress the type error for onMutates while leaving
mutationFn and mutationKey unchanged.

@@ -0,0 +1,5 @@
---
id: mutationOptions
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You also need to add reference in the config
Ex.
https://github.com/TanStack/query/blob/main/docs/config.json#L1003

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@DamianOsipiuk Added mutationOptions entry to docs/config.json. (0761b46)

@sukvvon sukvvon requested a review from DamianOsipiuk April 11, 2026 17:43
@DamianOsipiuk DamianOsipiuk merged commit f279ad2 into main Apr 11, 2026
8 checks passed
@DamianOsipiuk DamianOsipiuk deleted the feat/vue-query-mutationOptions branch April 11, 2026 17:49
@github-actions github-actions bot mentioned this pull request Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation package: vue-query

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants