Skip to content

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 lance astro build), Vite régénère ou nettoie le dossier de cache d’optimisation des dépendances SSR (.vite/deps_ssr). Comme le serveur dev astro dev tournait en parallèle, son cache Vite est devenu obsolète/invalidé.

1. Context & Problem Analysis2/2

  • Solution recommandée par Vite & Astro :
    1. Ajouter @sanity/client et @sanity/astro à optimizeDeps.exclude dans la configuration Vite de apps/web/astro.config.mjs afin que Vite ne pré-bundle pas inutilement ces packages ESM côté SSR.
    2. Purger le cache .vite (rm -rf apps/web/node_modules/.vite).
    3. Redémarrer le serveur de développement.

2. Specification of Changes

A. Configuration (apps/web/astro.config.mjs)

  • Ajouter la section optimizeDeps dans vite configuration :
vite: {
optimizeDeps: {
exclude: ['@sanity/client', '@sanity/astro'],
},
// ...
}

B. Procédure de nettoyage et relance

  • Supprimer le dossier .vite dans apps/web/node_modules/.vite.
  • Tuer le processus task dev existant et relancer task dev.

3. Test & Validation Protocol

  1. Vérifier la compilation et le typage : npx pnpm@12.3.4 typecheck.
  2. Tester le serveur dev (http://localhost:4321/) via curl et vérifier l’absence d’erreurs 500 Vite.
  3. Vérifier le build de production : npx pnpm@12.3.4 --filter ./apps/web build.
Switch to normal mode

Contents