SPEC: Correction de l'erreur Dev Server Vite Dep Optimizer (@sanity/client)
SPEC: Correction de l'erreur Dev Server Vite Dep Optimizer (@sanity/client)
Documentation technique
1. Context & Problem Analysis1/2
- Erreur constatée :
[ERROR] [vite] Internal server error: The file does not exist at "/home/anderson/PP/apps/web/node_modules/.vite/deps_ssr/@sanity_client.js?v=e3864250" which is in the optimize deps directory. - Cause :
Lors de l’exécution de
pnpm build(qui lanceastro build), Vite régénère ou nettoie le dossier de cache d’optimisation des dépendances SSR (.vite/deps_ssr). Comme le serveur devastro devtournait en parallèle, son cache Vite est devenu obsolète/invalidé.
1. Context & Problem Analysis2/2
- Solution recommandée par Vite & Astro :
- Ajouter
@sanity/clientet@sanity/astroàoptimizeDeps.excludedans la configuration Vite deapps/web/astro.config.mjsafin que Vite ne pré-bundle pas inutilement ces packages ESM côté SSR. - Purger le cache
.vite(rm -rf apps/web/node_modules/.vite). - Redémarrer le serveur de développement.
- Ajouter
2. Specification of Changes
A. Configuration (apps/web/astro.config.mjs)
- Ajouter la section
optimizeDepsdansviteconfiguration :
vite: { optimizeDeps: { exclude: ['@sanity/client', '@sanity/astro'], }, // ...}B. Procédure de nettoyage et relance
- Supprimer le dossier
.vitedansapps/web/node_modules/.vite. - Tuer le processus
task devexistant et relancertask dev.
3. Test & Validation Protocol
- Vérifier la compilation et le typage :
npx pnpm@12.3.4 typecheck. - Tester le serveur dev (
http://localhost:4321/) via curl et vérifier l’absence d’erreurs 500 Vite. - Vérifier le build de production :
npx pnpm@12.3.4 --filter ./apps/web build.