diff --git a/package-lock.json b/package-lock.json index a578e908..5717140d 100644 Binary files a/package-lock.json and b/package-lock.json differ diff --git a/package.json b/package.json index add4c59f..19324488 100644 --- a/package.json +++ b/package.json @@ -38,40 +38,40 @@ }, "homepage": "https://spacebar.chat", "devDependencies": { - "@eslint/eslintrc": "^3.1.0", + "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.14.0", "@types/amqplib": "^0.10.5", "@types/bcrypt": "^5.0.2", "@types/body-parser": "^1.19.5", - "@types/cookie-parser": "^1.4.7", + "@types/cookie-parser": "^1.4.8", "@types/express": "^4.17.21", "@types/i18next-node-fs-backend": "^2.1.5", "@types/json-bigint": "^1.0.4", - "@types/jsonwebtoken": "^9.0.7", + "@types/jsonwebtoken": "^9.0.9", "@types/module-alias": "^2.0.4", "@types/morgan": "^1.9.9", "@types/multer": "^1.4.12", "@types/murmurhash-js": "^1.0.6", - "@types/node": "^22.8.4", - "@types/node-fetch": "^2.6.11", + "@types/node": "^22.14.0", + "@types/node-fetch": "^2.6.12", "@types/node-os-utils": "^1.3.4", - "@types/nodemailer": "^6.4.16", + "@types/nodemailer": "^6.4.17", "@types/probe-image-size": "^7.2.5", "@types/sharp": "^0.31.1", - "@types/ws": "^8.5.12", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", - "eslint": "^9.13.0", + "@types/ws": "^8.18.1", + "@typescript-eslint/eslint-plugin": "^8.29.1", + "@typescript-eslint/parser": "^8.29.1", + "eslint": "^9.24.0", "express": "^4.21.2", - "globals": "^15.12.0", - "husky": "^9.1.6", - "prettier": "^3.3.3", - "pretty-quick": "^4.0.0", - "typescript": "^5.6.3" + "globals": "^15.15.0", + "husky": "^9.1.7", + "prettier": "^3.5.3", + "pretty-quick": "^4.1.1", + "typescript": "^5.8.3" }, "dependencies": { - "@aws-sdk/client-s3": "^3.682.0", - "@sentry/node": "^8.35.0", + "@aws-sdk/client-s3": "^3.782.0", + "@sentry/node": "^8.55.0", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "amqplib": "^0.10.4", @@ -79,17 +79,17 @@ "body-parser": "^1.20.3", "cheerio": "^1.0.0", "cookie-parser": "^1.4.7", - "dotenv": "^16.4.5", - "email-providers": "^2.7.0", + "dotenv": "^16.4.7", + "email-providers": "^2.10.0", "exif-be-gone": "^1.5.1", "fast-zlib": "^2.0.1", "fido2-lib": "^3.5.3", "file-type": "~16.5.4", - "form-data": "^4.0.1", - "i18next": "^23.16.4", - "i18next-fs-backend": "^2.3.2", - "i18next-http-middleware": "^3.6.0", - "image-size": "^1.1.1", + "form-data": "^4.0.2", + "i18next": "^23.16.8", + "i18next-fs-backend": "^2.6.0", + "i18next-http-middleware": "^3.7.2", + "image-size": "^1.2.1", "json-bigint": "^1.0.0", "jsonwebtoken": "^9.0.2", "lambert-server": "^1.2.12", @@ -101,17 +101,17 @@ "node-2fa": "^2.0.3", "node-fetch-commonjs": "^3.3.2", "node-os-utils": "^1.3.7", - "nodemailer": "^6.9.16", + "nodemailer": "^6.10.0", "picocolors": "^1.1.1", "probe-image-size": "^7.2.3", - "proxy-agent": "^6.4.0", + "proxy-agent": "^6.5.0", "reflect-metadata": "^0.2.2", "ts-node": "^10.9.2", - "tslib": "^2.8.0", - "typeorm": "^0.3.20", + "tslib": "^2.8.1", + "typeorm": "^0.3.22", "typescript-json-schema": "^0.50.1", "wretch": "^2.11.0", - "ws": "^8.18.0" + "ws": "^8.18.1" }, "_moduleAliases": { "@spacebar/api": "dist/api", @@ -126,7 +126,7 @@ "nodemailer-mailgun-transport": "^2.1.5", "nodemailer-mailjet-transport": "github:n0script22/nodemailer-mailjet-transport", "nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport", - "pg": "^8.13.1", + "pg": "^8.14.1", "sqlite3": "^5.1.7" } } diff --git a/src/api/middlewares/ImageProxy.ts b/src/api/middlewares/ImageProxy.ts index deb48bd5..185d3eac 100644 --- a/src/api/middlewares/ImageProxy.ts +++ b/src/api/middlewares/ImageProxy.ts @@ -157,11 +157,11 @@ export async function ImageProxy(req: Request, res: Response) { const buffer = Buffer.from(arrayBuffer); if (sharp && sharpSupported.has(contentType)) { - resultBuffer = await sharp + resultBuffer = Buffer.from(await sharp .default(buffer) // Sharp doesn't support "scaleToFit" .resize(width) - .toBuffer(); + .toBuffer()); } else if (Jimp && jimpSupported.has(contentType)) { resultBuffer = await Jimp.read(buffer).then((image) => { contentType = image.getMIME(); @@ -183,3 +183,5 @@ export async function ImageProxy(req: Request, res: Response) { res.send(resultBuffer); } + +