From 65eb74a96eb767fd3efe8b837bd7703e958e90db Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Tue, 13 Jan 2026 16:36:46 +0100 Subject: [PATCH] fix(server): use createRequire for form-data to resolve dynamic import issues --- server/routes.ts | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/server/routes.ts b/server/routes.ts index d508393..9b3c691 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -4,6 +4,9 @@ import { storage } from "./storage"; import { setupLocalAuth, requireAuth } from "./localAuth"; import { requireModulePermission, requireAdmin, requirePermission } from "./permissions"; import { db, pool } from "./db"; +import { createRequire } from "module"; +const require = createRequire(import.meta.url); +const FormData = require('form-data'); console.log('πŸ” Using development storage and authentication'); @@ -887,21 +890,11 @@ export async function registerRoutes(app: Express): Promise { }); // Import dynamique standard pour ESM (sans eval) - // Import dynamique standard pour ESM (sans eval) - const FormDataModule = await import('form-data'); - // 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', { + console.log('πŸ” INVOICE PROXY: FormData loaded', { type: typeof FormData, - isConstructor: typeof FormData === 'function', - hasDefault: !!FormDataModule.default + isConstructor: typeof FormData === 'function' }); - 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, { filename: parts.file.filename,