From ae6b56840a011f27d9a723bb0eea1fa507a1ef70 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 3 May 2026 14:54:47 +0900 Subject: [PATCH 1/2] test(vue-query-devtools): set up vitest environment with production fallback test --- packages/vue-query-devtools/package.json | 2 ++ .../src/__tests__/VueQueryDevtools.test.ts | 16 ++++++++++++++++ .../__tests__/VueQueryDevtoolsPanel.test.ts | 16 ++++++++++++++++ packages/vue-query-devtools/vite.config.ts | 19 ++++++++++++++++++- 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 packages/vue-query-devtools/src/__tests__/VueQueryDevtools.test.ts create mode 100644 packages/vue-query-devtools/src/__tests__/VueQueryDevtoolsPanel.test.ts diff --git a/packages/vue-query-devtools/package.json b/packages/vue-query-devtools/package.json index 2ec2f6cf996..9b1d4c328f7 100644 --- a/packages/vue-query-devtools/package.json +++ b/packages/vue-query-devtools/package.json @@ -19,6 +19,8 @@ "compile": "vue-tsc --build", "test:eslint": "eslint --concurrency=auto ./src", "test:types": "vue-tsc --build", + "test:lib": "vitest", + "test:lib:dev": "pnpm run test:lib --watch", "test:build": "publint --strict && attw --pack", "build": "pnpm run compile && vite build" }, diff --git a/packages/vue-query-devtools/src/__tests__/VueQueryDevtools.test.ts b/packages/vue-query-devtools/src/__tests__/VueQueryDevtools.test.ts new file mode 100644 index 00000000000..9d31e6c380e --- /dev/null +++ b/packages/vue-query-devtools/src/__tests__/VueQueryDevtools.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, it, vi } from 'vitest' + +describe('VueQueryDevtools', () => { + it('should return null in non-development environments', async () => { + vi.stubEnv('NODE_ENV', 'production') + vi.resetModules() + + try { + const { VueQueryDevtools } = await import('..') + expect((VueQueryDevtools as unknown as () => null)()).toBeNull() + } finally { + vi.unstubAllEnvs() + vi.resetModules() + } + }) +}) diff --git a/packages/vue-query-devtools/src/__tests__/VueQueryDevtoolsPanel.test.ts b/packages/vue-query-devtools/src/__tests__/VueQueryDevtoolsPanel.test.ts new file mode 100644 index 00000000000..5b9dfa09e65 --- /dev/null +++ b/packages/vue-query-devtools/src/__tests__/VueQueryDevtoolsPanel.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, it, vi } from 'vitest' + +describe('VueQueryDevtoolsPanel', () => { + it('should return null in non-development environments', async () => { + vi.stubEnv('NODE_ENV', 'production') + vi.resetModules() + + try { + const { VueQueryDevtoolsPanel } = await import('..') + expect((VueQueryDevtoolsPanel as unknown as () => null)()).toBeNull() + } finally { + vi.unstubAllEnvs() + vi.resetModules() + } + }) +}) diff --git a/packages/vue-query-devtools/vite.config.ts b/packages/vue-query-devtools/vite.config.ts index 7f66d0e5001..fd16eb1dd70 100644 --- a/packages/vue-query-devtools/vite.config.ts +++ b/packages/vue-query-devtools/vite.config.ts @@ -1,7 +1,10 @@ -import { defineConfig, mergeConfig } from 'vite' +import { mergeConfig } from 'vite' +import { defineConfig } from 'vitest/config' import vue from '@vitejs/plugin-vue' import { tanstackViteConfig } from '@tanstack/vite-config' +import packageJson from './package.json' + const config = defineConfig({ plugins: [vue()], // fix from https://github.com/vitest-dev/vitest/issues/6992#issuecomment-2509408660 @@ -15,6 +18,20 @@ const config = defineConfig({ }, }, }, + test: { + name: packageJson.name, + dir: './src', + watch: false, + environment: 'jsdom', + coverage: { + enabled: true, + provider: 'istanbul', + include: ['src/**/*'], + exclude: ['src/__tests__/**'], + }, + typecheck: { enabled: true }, + restoreMocks: true, + }, }) export default mergeConfig( From a1f7fb068f1a3cb562f1f860c1909873435d1894 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Mon, 4 May 2026 17:55:18 +0900 Subject: [PATCH 2/2] chore(vue-query-devtools): unify 'defineConfig' and 'mergeConfig' import from 'vitest/config' --- packages/vue-query-devtools/vite.config.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/vue-query-devtools/vite.config.ts b/packages/vue-query-devtools/vite.config.ts index fd16eb1dd70..443d097a0a6 100644 --- a/packages/vue-query-devtools/vite.config.ts +++ b/packages/vue-query-devtools/vite.config.ts @@ -1,5 +1,4 @@ -import { mergeConfig } from 'vite' -import { defineConfig } from 'vitest/config' +import { defineConfig, mergeConfig } from 'vitest/config' import vue from '@vitejs/plugin-vue' import { tanstackViteConfig } from '@tanstack/vite-config'