fix(image-upload): make imageRouter ESM ready

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
Erik Michelson
2026-08-21 18:08:08 +02:00
parent 01e1b6bd4d
commit b7c46b0a90
2 changed files with 9 additions and 4 deletions

View File

@@ -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'