diff --git a/server/routes.ts b/server/routes.ts index e2502e5..d508393 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -886,9 +886,21 @@ export async function registerRoutes(app: Express): Promise { size: parts.file.buffer.length }); + // Import dynamique standard pour ESM (sans eval) // Import dynamique standard pour ESM (sans eval) const FormDataModule = await import('form-data'); - const FormData = FormDataModule.default; + // Gestion robuste de l'import CJS/ESM : certains environnements retournent le constructeur directement, d'autres via .default + const FormData = (FormDataModule.default || FormDataModule) as any; + + console.log('🔍 INVOICE PROXY: FormData loaded', { + type: typeof FormData, + isConstructor: typeof FormData === 'function', + hasDefault: !!FormDataModule.default + }); + + if (typeof FormData !== 'function') { + throw new Error(`Impossible de charger FormData (type reçu: ${typeof FormData})`); + } const formData = new FormData(); formData.append('file', parts.file.buffer, {