diff --git a/lib/web/imageRouter/index.js b/lib/web/imageRouter/index.js index ee123867c..07dedb083 100644 --- a/lib/web/imageRouter/index.js +++ b/lib/web/imageRouter/index.js @@ -3,7 +3,6 @@ const Router = require('express').Router const formidable = require('formidable') const path = require('path') -const FileType = require('file-type') const fs = require('fs') const os = require('os') const rimraf = require('rimraf') @@ -17,7 +16,8 @@ const imageRouter = (module.exports = Router()) async function checkUploadType (filePath) { const extension = path.extname(filePath).toLowerCase() - let typeFromMagic = await FileType.fromFile(filePath) + const FileType = await import('file-type') + let typeFromMagic = await FileType.fileTypeFromFile(filePath) if (extension === '.svg' && (typeFromMagic === undefined || typeFromMagic.mime === 'application/xml')) { const fileContent = fs.readFileSync(filePath) if (isSvg(fileContent)) { diff --git a/package.json b/package.json index 2f4d7c4c8..f1053b7e4 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "ejs": "^3.0.0", "express": ">=4.14", "express-session": "^1.14.2", - "file-type": "^16.1.0", + "file-type": "^17.0.0", "formidable": "^1.0.17", "graceful-fs": "^4.1.11", "helmet": "^4.5.0", @@ -110,7 +110,7 @@ "**/request": "^2.88.0" }, "engines": { - "node": "12.x || 14.x || 16.x" + "node": "^12.20.0 || ^14.13.1 || 16.x" }, "bugs": "https://github.com/hedgedoc/hedgedoc/issues", "keywords": [ diff --git a/yarn.lock b/yarn.lock index 52dfd8ad0..5976f4506 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4472,13 +4472,13 @@ file-saver@2.0.5: resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== -file-type@^16.1.0: - version "16.5.3" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" - integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== +file-type@^17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.0.0.tgz#83878c2e1e98fc1eaa60e5a419e3a32615517547" + integrity sha512-AncQKsnXTRHHEn3EwMobGwaQ84FOrLfy9GbbbeZ0mZC9FROiesHdycyG/hoPfDoTf32CzFUQLR1HsByOW92X2g== dependencies: - readable-web-to-node-stream "^3.0.0" - strtok3 "^6.2.4" + readable-web-to-node-stream "^3.0.2" + strtok3 "7.0.0-alpha.4" token-types "^4.1.1" file-uri-to-path@1.0.0: @@ -8148,10 +8148,10 @@ pdfobject@^2.0.201604172: resolved "https://registry.yarnpkg.com/pdfobject/-/pdfobject-2.2.7.tgz#487ec2ab425c9385f2d80eea5890d632f503cac2" integrity sha512-9ptX0XNCtpYz0hNWz6j/1O4rvJkcPR2rct3UDBhs8ZEosOO67dCEAu4VpBvVJ64SMh8Mrn9pWWODnyLjgFQYgg== -peek-readable@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.1.tgz#9a045f291db254111c3412c1ce4fec27ddd4d202" - integrity sha512-7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ== +peek-readable@^5.0.0-alpha.4: + version "5.0.0-alpha.4" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0-alpha.4.tgz#bb609b7e062288ca84970cd2c39f7783173d244b" + integrity sha512-oQrEBW4g7Dsh4z9cQRJEpx56kiQLgNQr6gQni3GxzNYst4o64cL4RhjSLEmyvojA3qxfA5RUod2DFPAaZ+maPw== performance-now@^2.1.0: version "2.1.0" @@ -8869,7 +8869,7 @@ readable-stream@~2.0.0: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readable-web-to-node-stream@^3.0.0: +readable-web-to-node-stream@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== @@ -10449,13 +10449,13 @@ strnum@^1.0.4: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.4.tgz#e97e36a7d6ba9f93d0d6b496b2ed0678d422832b" integrity sha512-lMzNMfDpaQOLt4B2mEbfzYS0+T7dvCXeojnlGf6f1AygvWDMcWyXYaLbyICfjVu29sErR8fnRagQfBW/N/hGgw== -strtok3@^6.2.4: - version "6.2.4" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.4.tgz#302aea64c0fa25d12a0385069ba66253fdc38a81" - integrity sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw== +strtok3@7.0.0-alpha.4: + version "7.0.0-alpha.4" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0-alpha.4.tgz#2892c53d90118bde1e5526fc8ce93b1a8acc69d5" + integrity sha512-PwgcN4vvEoVoHOwVsnp3tWc+wrliwMh/Yr00wZ+LuFdWRHELZEDAn3+dIqCauj4GO1sLO8aM3yDA6p/PnY+3Kw== dependencies: "@tokenizer/token" "^0.3.0" - peek-readable "^4.0.1" + peek-readable "^5.0.0-alpha.4" stylehacks@^5.0.1: version "5.0.1"