From b7c46b0a904aae143523b50928a8770de6053525 Mon Sep 17 00:00:00 2001 From: Erik Michelson Date: Fri, 21 Aug 2026 18:08:08 +0200 Subject: [PATCH] fix(image-upload): make imageRouter ESM ready Signed-off-by: Erik Michelson --- app.js | 2 +- lib/web/imageRouter/index.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app.js b/app.js index 75b6d46a..996c01d6 100644 --- a/app.js +++ b/app.js @@ -275,7 +275,7 @@ app.use(require('./lib/web/statusRouter')) app.use(require('./lib/web/auth')) app.use(require('./lib/web/historyRouter')) app.use(require('./lib/web/userRouter')) -app.use(require('./lib/web/imageRouter')) +app.use(require('./lib/web/imageRouter').default) app.use(require('./lib/web/note/router')) // response not found if no any route matxches diff --git a/lib/web/imageRouter/index.js b/lib/web/imageRouter/index.js index 380021f4..3c3bb93b 100644 --- a/lib/web/imageRouter/index.js +++ b/lib/web/imageRouter/index.js @@ -1,5 +1,10 @@ 'use strict' +import isSvg from 'is-svg' + +import { createRequire } from 'module' +const require = createRequire(import.meta.url) + const Router = require('express').Router const formidable = require('formidable') const path = require('path') @@ -7,7 +12,6 @@ const fs = require('fs') const { v4: uuidv4 } = require('uuid') const os = require('os') const rimraf = require('rimraf') -const isSvg = require('is-svg') const { JSDOM } = require('jsdom') const config = require('../../config') @@ -24,7 +28,8 @@ try { logger.error('Failed to initialize DOMPurify for SVG sanitization:', err) } -const imageRouter = (module.exports = Router()) +const imageRouter = Router() +export default imageRouter async function checkUploadType (filePath) { const extension = path.extname(filePath).toLowerCase() @@ -32,7 +37,7 @@ async function checkUploadType (filePath) { let typeFromMagic = await FileType.fileTypeFromFile(filePath) if (extension === '.svg' && (typeFromMagic === undefined || typeFromMagic.mime === 'application/xml')) { const fileContent = fs.readFileSync(filePath) - if (isSvg(fileContent)) { + if (isSvg(fileContent.toString())) { typeFromMagic = { ext: 'svg', mime: 'image/svg+xml'