From c0b26cada8225a3cb0531329bbab6209056ce6ae Mon Sep 17 00:00:00 2001 From: Raashish Aggarwal <94279692+raashish1601@users.noreply.github.com> Date: Sat, 30 May 2026 17:13:41 +0530 Subject: [PATCH] fix(vue-query): avoid mounting QueryClient on server --- .../vue-query/src/__tests__/vueQueryPlugin.test.ts | 14 ++++++++++++++ packages/vue-query/src/vueQueryPlugin.ts | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/vue-query/src/__tests__/vueQueryPlugin.test.ts b/packages/vue-query/src/__tests__/vueQueryPlugin.test.ts index cfcb18ce956..f7dce9073d5 100644 --- a/packages/vue-query/src/__tests__/vueQueryPlugin.test.ts +++ b/packages/vue-query/src/__tests__/vueQueryPlugin.test.ts @@ -1,5 +1,6 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { isVue2, isVue3, ref } from 'vue-demi' +import { environmentManager } from '@tanstack/query-core' import { queryKey } from '@tanstack/query-test-utils' import { QueryClient } from '../queryClient' import { VueQueryPlugin } from '../vueQueryPlugin' @@ -218,6 +219,19 @@ describe('VueQueryPlugin', () => { customClient, ) }) + + it('should not mount client when in a server environment', () => { + environmentManager.setIsServer(() => true) + try { + const appMock = getAppMock() + const customClient = { mount: vi.fn() } as unknown as QueryClient + VueQueryPlugin.install(appMock, { queryClient: customClient }) + + expect(customClient.mount).not.toHaveBeenCalled() + } finally { + environmentManager.setIsServer(() => false) + } + }) }) describe('when called with custom client config', () => { diff --git a/packages/vue-query/src/vueQueryPlugin.ts b/packages/vue-query/src/vueQueryPlugin.ts index 590d994d304..5c24bac18b7 100644 --- a/packages/vue-query/src/vueQueryPlugin.ts +++ b/packages/vue-query/src/vueQueryPlugin.ts @@ -1,5 +1,5 @@ import { isVue2 } from 'vue-demi' -import { isServer } from '@tanstack/query-core' +import { environmentManager } from '@tanstack/query-core' import { QueryClient } from './queryClient' import { getClientKey } from './utils' @@ -38,7 +38,7 @@ export const VueQueryPlugin = { client = new QueryClient(clientConfig) } - if (!isServer) { + if (!environmentManager.isServer()) { client.mount() }