From 61f371e809cac2b126acf2d04f76d866071a85ee Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 4 Aug 2022 00:07:35 +0200 Subject: [PATCH 1/2] @uppy/companion: remove `isobject` from dependencies --- packages/@uppy/companion/package.json | 1 - packages/@uppy/companion/src/server/Uploader.js | 9 ++++----- .../companion/src/server/header-blacklist.js | 3 +-- yarn.lock | 15 +++++++-------- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/packages/@uppy/companion/package.json b/packages/@uppy/companion/package.json index af476de757..49e6affe2a 100644 --- a/packages/@uppy/companion/package.json +++ b/packages/@uppy/companion/package.json @@ -47,7 +47,6 @@ "grant": "4.7.0", "helmet": "^4.6.0", "ipaddr.js": "^2.0.1", - "isobject": "3.0.1", "jsonwebtoken": "8.5.1", "lodash.merge": "^4.6.2", "mime-types": "2.1.25", diff --git a/packages/@uppy/companion/src/server/Uploader.js b/packages/@uppy/companion/src/server/Uploader.js index 8ddc8fc4d4..7bba45d1f0 100644 --- a/packages/@uppy/companion/src/server/Uploader.js +++ b/packages/@uppy/companion/src/server/Uploader.js @@ -1,7 +1,6 @@ // eslint-disable-next-line max-classes-per-file const tus = require('tus-js-client') const { randomUUID } = require('node:crypto') -const isObject = require('isobject') const validator = require('validator') const request = require('request') const { pipeline: pipelineCb } = require('node:stream') @@ -78,17 +77,17 @@ function validateOptions (options) { } // validate fieldname - if (options.fieldname && typeof options.fieldname !== 'string') { + if (options.fieldname != null && typeof options.fieldname !== 'string') { throw new ValidationError('fieldname must be a string') } // validate metadata - if (options.metadata != null) { - if (!isObject(options.metadata)) throw new ValidationError('metadata must be an object') + if (options.metadata != null && typeof options.metadata !== 'object') { + throw new ValidationError('metadata must be an object') } // validate headers - if (options.headers && !isObject(options.headers)) { + if (options.headers != null && typeof options.headers !== 'object') { throw new ValidationError('headers must be an object') } diff --git a/packages/@uppy/companion/src/server/header-blacklist.js b/packages/@uppy/companion/src/server/header-blacklist.js index 08e0e4b817..7506de195a 100644 --- a/packages/@uppy/companion/src/server/header-blacklist.js +++ b/packages/@uppy/companion/src/server/header-blacklist.js @@ -1,4 +1,3 @@ -const isObject = require('isobject') const logger = require('./logger') /** @@ -50,7 +49,7 @@ const isForbiddenHeader = (header) => { } module.exports = (headers) => { - if (!isObject(headers)) { + if (headers == null || typeof headers !== 'object') { return {} } diff --git a/yarn.lock b/yarn.lock index 23583755f9..4cbbd845b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10180,7 +10180,6 @@ __metadata: helmet: ^4.6.0 into-stream: ^6.0.0 ipaddr.js: ^2.0.1 - isobject: 3.0.1 jest: ^27.0.6 jsonwebtoken: 8.5.1 lodash.merge: ^4.6.2 @@ -24609,13 +24608,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"isobject@npm:3.0.1, isobject@npm:^3.0.0, isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 - languageName: node - linkType: hard - "isobject@npm:^2.0.0": version: 2.1.0 resolution: "isobject@npm:2.1.0" @@ -24625,6 +24617,13 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + "isobject@npm:^4.0.0": version: 4.0.0 resolution: "isobject@npm:4.0.0" From 5e8928a21a3ea8c9bb06fffac0ca31e4f7c217b3 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 4 Aug 2022 01:15:38 +0200 Subject: [PATCH 2/2] fixup! @uppy/companion: remove `isobject` from dependencies --- packages/@uppy/companion/src/server/header-blacklist.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@uppy/companion/src/server/header-blacklist.js b/packages/@uppy/companion/src/server/header-blacklist.js index 7506de195a..5e188bad40 100644 --- a/packages/@uppy/companion/src/server/header-blacklist.js +++ b/packages/@uppy/companion/src/server/header-blacklist.js @@ -49,7 +49,7 @@ const isForbiddenHeader = (header) => { } module.exports = (headers) => { - if (headers == null || typeof headers !== 'object') { + if (headers == null || typeof headers !== 'object' || Array.isArray(headers)) { return {} }