diff --git a/next.config.ts b/next.config.ts index 3031d14..ae65302 100644 --- a/next.config.ts +++ b/next.config.ts @@ -9,12 +9,21 @@ const nextConfig: NextConfig = { // wodurch das Docker-Image (siehe Dockerfile) deutlich kleiner bleibt. output: "standalone", - // pdfkit laedt seine Schriftart-Metadaten (.afm-Dateien) zur Laufzeit ueber - // einen eigenen __dirname-relativen Pfad. Wird das Paket vom Bundler - // (Turbopack/Webpack) mitgebuendelt, geht dieser Pfad verloren (ENOENT). - // "serverExternalPackages" laesst Next.js es stattdessen ganz normal per - // require() aus node_modules laden. - serverExternalPackages: ["pdfkit"], + // Pakete, die zur Laufzeit eigene Dateien ueber einen __dirname-relativen + // Pfad nachladen. Werden sie vom Bundler (Turbopack/Webpack) mitgebuendelt, + // zeigt ihr __dirname auf einen virtuellen Bundle-Pfad ("/ROOT/...") statt + // auf das echte Verzeichnis in node_modules — der Zugriff schlaegt dann mit + // ENOENT fehl. "serverExternalPackages" laesst Next.js sie stattdessen ganz + // normal per require() aus node_modules laden. + // + // - pdfkit: laedt seine Schriftart-Metadaten (.afm-Dateien). + // - ffmpeg-static: exportiert den Pfad zur mitgelieferten ffmpeg-Binary + // (siehe lib/video-transcode.ts). Gebuendelt lieferte es + // "\ROOT\node_modules\...\ffmpeg.exe" -> jeder Video-Upload ohne + // System-ffmpeg im PATH (also jede lokale Entwicklungsumgebung unter + // Windows/macOS) scheiterte mit "Das Video konnte nicht verarbeitet + // werden." + serverExternalPackages: ["pdfkit", "ffmpeg-static"], // Turbopacks Dateisystem-Caches (.next/dev/cache & .next/cache/turbopack) // kollidieren in diesem OneDrive-synchronisierten Arbeitsverzeichnis