Skip to content

Commit 41d82fd

Browse files
committed
fix: force vee-validate out of optimized deps
1 parent e3a8c50 commit 41d82fd

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

.changeset/tall-hotels-refuse.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@vee-validate/nuxt": patch
3+
---
4+
5+
fix: force vee-validate out of optimized deps

packages/nuxt/src/module.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ export default defineNuxtModule<VeeValidateNuxtOptions>({
5252
componentNames: {},
5353
},
5454
setup(options, nuxt) {
55+
addMjsAlias('vee-validate', 'vee-validate', nuxt);
56+
prepareVeeValidate(nuxt);
57+
5558
if (options.autoImports) {
5659
composables.forEach(composable => {
5760
addImports({
@@ -94,8 +97,6 @@ export default defineNuxtModule<VeeValidateNuxtOptions>({
9497
checkForValibot(options, nuxt);
9598
}
9699
}
97-
98-
addMjsAlias('vee-validate', 'vee-validate', nuxt);
99100
},
100101
}) as NuxtModule<VeeValidateNuxtOptions>;
101102

@@ -192,3 +193,15 @@ declare module '@nuxt/schema' {
192193
'vee-validate'?: VeeValidateNuxtOptions;
193194
}
194195
}
196+
197+
/**
198+
* Excludes vee-validate and vee-validate/rules from the optimization process.
199+
* The optimization process causes issues with the symbols export not matching between the module components and the main vee-validate package.
200+
* Maybe it is because vite chunks them in different files/sources.
201+
* Only happens with SSR tho, SPA works.
202+
*/
203+
function prepareVeeValidate(nuxt: Nuxt) {
204+
nuxt.options.vite.optimizeDeps = nuxt.options.vite.optimizeDeps || {};
205+
nuxt.options.vite.optimizeDeps.exclude = nuxt.options.vite.optimizeDeps.exclude || [];
206+
nuxt.options.vite.optimizeDeps.exclude.push('vee-validate', '@vee-validate/rules');
207+
}

0 commit comments

Comments
 (0)