diff --git a/package-lock.json b/package-lock.json index 6cf5b2a..3aa9897 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,6 @@ "dotenv": "^16.0.3", "express": "^4.18.2", "git-clone": "^0.2.0", - "p-queue-es5": "^6.0.2", "unzipper": "^0.10.11" }, "devDependencies": { @@ -1462,11 +1461,6 @@ "node": ">= 0.6" } }, - "node_modules/eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, "node_modules/express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -2646,14 +2640,6 @@ "node": ">= 0.8.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -2684,29 +2670,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-queue-es5": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/p-queue-es5/-/p-queue-es5-6.0.2.tgz", - "integrity": "sha512-3kOouw1w/EPcBuWqAcCK6q/gmb3ux5+BtldP6pYCAElXAR1ILoy7rn3qd7KOi45AYpX3q46BajfsnYedtFVy4Q==", - "dependencies": { - "eventemitter3": "^3.1.0", - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4781,11 +4744,6 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, "express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -5694,11 +5652,6 @@ "word-wrap": "^1.2.3" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -5717,23 +5670,6 @@ "p-limit": "^3.0.2" } }, - "p-queue-es5": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/p-queue-es5/-/p-queue-es5-6.0.2.tgz", - "integrity": "sha512-3kOouw1w/EPcBuWqAcCK6q/gmb3ux5+BtldP6pYCAElXAR1ILoy7rn3qd7KOi45AYpX3q46BajfsnYedtFVy4Q==", - "requires": { - "eventemitter3": "^3.1.0", - "p-timeout": "^3.1.0" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", diff --git a/package.json b/package.json index d0f10f6..d01cb2d 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,6 @@ "dotenv": "^16.0.3", "express": "^4.18.2", "git-clone": "^0.2.0", - "p-queue-es5": "^6.0.2", "unzipper": "^0.10.11" }, "devDependencies": { @@ -102,4 +101,4 @@ "prettier": "^2.1.2", "typescript": "^4.3.2" } -} \ No newline at end of file +} diff --git a/src/controller/upload.ts b/src/controller/upload.ts index c142ab1..143dbb6 100644 --- a/src/controller/upload.ts +++ b/src/controller/upload.ts @@ -3,7 +3,6 @@ import * as path from 'path'; import busboy from 'busboy'; import { NextFunction, Request, Response } from 'express'; -import PQueue from 'p-queue-es5'; import { Extract } from 'unzipper'; import { currentFile, namearg } from '../constants'; @@ -30,24 +29,15 @@ const getUploadError = (on: keyof busboy.BusboyEvents): AppError => { export default (req: Request, res: Response, next: NextFunction): void => { const bb = busboy({ headers: req.headers }); - const queue = new PQueue({ concurrency: 1 }); const handleError = (fn: () => void, on: keyof busboy.BusboyEvents) => { - queue - .add(() => { - try { - fn(); - } catch (e) { - req.unpipe(bb); - queue.pause(); - next(getUploadError(on)); - } - }) - .catch(err => { - req.unpipe(bb); - queue.pause(); - next(err); - }); + try { + fn(); + } catch (e) { + console.error(e); + req.unpipe(bb); + next(getUploadError(on)); + } }; bb.on('file', (name, file, info) => {