veza/docs/archive/frontend-sessions-2026/FIX_MODULE_ERROR.md
senke 0e7097ed1b chore(cleanup): J1 — purge 220MB debris, archive session docs (complete)
First-attempt commit 3a5c6e184 only captured the .gitignore change; the
pre-commit hook silently dropped the 343 staged moves/deletes during
lint-staged's "no matching task" path. This commit re-applies the intended
J1 content on top of bec75f143 (which was pushed in parallel).

Uses --no-verify because:
- J1 only touches .md/.json/.log/.png/binaries — zero code that would
  benefit from lint-staged, typecheck, or vitest
- The hook demonstrated it corrupts pure-rename commits in this repo
- Explicitly authorized by user for this one commit

Changes (343 total: 169 deletions + 174 renames):

Binaries purged (~167 MB):
- veza-backend-api/{server,modern-server,encrypt_oauth_tokens,seed,seed-v2}

Generated reports purged:
- 9 apps/web/lint_report*.json (~32 MB)
- 8 apps/web/tsc_*.{log,txt} + ts_*.log (TS error snapshots)
- 3 apps/web/storybook_*.json (1375+ stored errors)
- apps/web/{build_errors*,build_output,final_errors}.txt
- 70 veza-backend-api/coverage*.out + coverage_groups/ (~4 MB)
- 3 veza-backend-api/internal/handlers/*.bak

Root cleanup:
- 54 audit-*.png (visual regression baselines, ~11 MB)
- 9 stale MVP-era scripts (Jan 27, hardcoded v0.101):
  start_{iteration,mvp,recovery}.sh,
  test_{mvp_endpoints,protected_endpoints,user_journey}.sh,
  validate_v0101.sh, verify_logs_setup.sh, gen_hash.py

Session docs archived (not deleted — preserved under docs/archive/):
- 78 apps/web/*.md     → docs/archive/frontend-sessions-2026/
- 43 veza-backend-api/*.md → docs/archive/backend-sessions-2026/
- 53 docs/{RETROSPECTIVE_V,SMOKE_TEST_V,PLAN_V0_,V0_*_RELEASE_SCOPE,
          AUDIT_,PLAN_ACTION_AUDIT,REMEDIATION_PROGRESS}*.md
                        → docs/archive/v0-history/

README.md and CONTRIBUTING.md preserved in apps/web/ and veza-backend-api/.

Note: The .gitignore rules preventing recurrence were already pushed in
3a5c6e184 and remain in place — this commit does not modify .gitignore.

Refs: AUDIT_REPORT.md §11
2026-04-14 17:12:03 +02:00

2.2 KiB

Fix: "module is not defined" Error

Problème

L'erreur Uncaught ReferenceError: module is not defined dans index.js:6 indique qu'un fichier utilise la syntaxe CommonJS (module.exports) dans un contexte ES modules.

Solutions Appliquées

1. Configuration Vite (vite.config.ts)

  • Ajout de esmExternals: true dans commonjsOptions
  • Ajout de format: 'esm' dans esbuildOptions de optimizeDeps
  • Ajout de interop: 'compat' dans rollupOptions.output

2. MSW (Mock Service Worker)

  • Ajout d'un try/catch dans enableMocking() pour éviter que MSW bloque l'app
  • MSW est désactivé par défaut (nécessite VITE_USE_MSW=1)

3. Code PWA

  • Correction de l'erreur "unreachable code after return" dans pwa.ts

Si l'erreur persiste

Option 1: Désactiver MSW complètement

# S'assurer que MSW n'est pas activé
unset VITE_USE_MSW
# ou
export VITE_USE_MSW=0

Option 2: Vider le cache et redémarrer

# Arrêter le serveur
pkill -f vite

# Vider le cache Vite
rm -rf node_modules/.vite
rm -rf dist

# Redémarrer
cd apps/web
npm run dev

Option 3: Vérifier les chunks générés

L'erreur pourrait venir d'un chunk généré. Vérifier dans la console du navigateur quel fichier exact cause le problème.

Option 4: Désactiver le service worker MSW

Si MSW est nécessaire, on peut désactiver son service worker :

// Dans src/main.tsx, modifier enableMocking() pour ne pas utiliser le service worker
await worker.start({
  onUnhandledRequest: 'bypass',
  // Ne pas utiliser serviceWorker si problème
  // serviceWorker: {
  //   url: '/mockServiceWorker.js',
  // },
});

Vérification

  1. Ouvrir la console du navigateur (F12)
  2. Vérifier l'onglet "Console" pour l'erreur exacte
  3. Vérifier l'onglet "Network" pour voir quel fichier est chargé
  4. Vérifier l'onglet "Sources" pour voir le code source du fichier problématique

Notes

  • L'erreur pourrait aussi venir d'une dépendance dans node_modules qui n'est pas correctement transformée
  • Vérifier que toutes les dépendances sont à jour : npm update
  • Si le problème persiste, il pourrait être nécessaire de mettre à jour Vite ou certaines dépendances