From 45df3389117a238aefe10cb1e3ff9e911a4897ac Mon Sep 17 00:00:00 2001 From: Patrik Vogel Date: Sat, 6 Dec 2025 12:11:32 +0100 Subject: [PATCH] fix(devtools): prevent SSR memory leak in DevTools integration Add SSR guards to DevTools registration functions to prevent memory leaks in server-side environments by checking both __DEV__ and isClient. Fixes #4978 --- .changeset/gentle-geckos-share.md | 5 +++++ packages/vee-validate/src/devtools.ts | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100644 .changeset/gentle-geckos-share.md diff --git a/.changeset/gentle-geckos-share.md b/.changeset/gentle-geckos-share.md new file mode 100644 index 000000000..a2cdc41f0 --- /dev/null +++ b/.changeset/gentle-geckos-share.md @@ -0,0 +1,5 @@ +--- +'vee-validate': patch +--- + +fix(devtools): prevent SSR memory leak in DevTools integration diff --git a/packages/vee-validate/src/devtools.ts b/packages/vee-validate/src/devtools.ts index 51aac52c4..129aca109 100644 --- a/packages/vee-validate/src/devtools.ts +++ b/packages/vee-validate/src/devtools.ts @@ -176,6 +176,10 @@ export const refreshInspector = throttle(() => { }, 100); export function registerFormWithDevTools(form: PrivateFormContext) { + if (!__DEV__ || !isClient) { + return; + } + const vm = getCurrentInstance(); if (!API) { const app = vm?.appContext.app; @@ -197,6 +201,10 @@ export function registerFormWithDevTools(form: PrivateFormContext) { } export function registerSingleFieldWithDevtools(field: PrivateFieldContext) { + if (!__DEV__ || !isClient) { + return; + } + const vm = getCurrentInstance(); if (!API) { const app = vm?.appContext.app;