Merge pull request #556 from R0m1k3/1.1

fix(server): use createRequire for form-data to resolve dynamic impor…
This commit is contained in:
LogiFlow authored and GitHub committed 2026-01-13 16:37:16 +01:00
commit ac89171b9e
1 file changed
+5 -12
+5 -12
View File
@@ -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<Server> {
});
// 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,