From 4d6816cc374b37f935184fc7a852b7d606923680 Mon Sep 17 00:00:00 2001 From: Alexander Wunschik Date: Sat, 27 Jan 2024 13:53:16 +0100 Subject: [PATCH] fix: Blob might be undefined --- PDFMergerBase.js | 2 +- package-lock.json | 109 ----------------------------------------- package.json | 1 - test/PDFMerger.test.js | 3 +- 4 files changed, 2 insertions(+), 113 deletions(-) diff --git a/PDFMergerBase.js b/PDFMergerBase.js index 86a525b..daa4196 100644 --- a/PDFMergerBase.js +++ b/PDFMergerBase.js @@ -155,7 +155,7 @@ export default class PDFMergerBase { } // see https://developer.mozilla.org/en-US/docs/Web/API/Blob - if (input instanceof Blob) { + if (Blob && input instanceof Blob) { const aBuffer = await input.arrayBuffer() return new Uint8Array(aBuffer) } diff --git a/package-lock.json b/package-lock.json index ae78a32..ade5dec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "pdf-lib": "^1.17.1" }, "devDependencies": { - "cross-blob": "^3.0.2", "fs-extra": "^11.2.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -1774,12 +1773,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/blob-polyfill": { - "version": "7.0.20220408", - "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-7.0.20220408.tgz", - "integrity": "sha512-oD8Ydw+5lNoqq+en24iuPt1QixdPpe/nUF8azTHnviCZYu9zUC+TwdzIp5orpblJosNlgNbVmmAb//c6d6ImUQ==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2094,19 +2087,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cross-blob": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cross-blob/-/cross-blob-3.0.2.tgz", - "integrity": "sha512-u+7xq68MAjIqvoEKrdgIEupKJNBeU8MSl/cpfPmJ3rm9yvxrgbMPr8TkZS9qnwCgiVC8BsEt9kDkeD7He2zmNA==", - "dev": true, - "dependencies": { - "blob-polyfill": "^7.0.20220408", - "fetch-blob": "^3.2.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3284,29 +3264,6 @@ "bser": "2.1.1" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -5601,25 +5558,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -7363,15 +7301,6 @@ "makeerror": "1.0.12" } }, - "node_modules/web-streams-polyfill": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", - "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -9029,12 +8958,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "blob-polyfill": { - "version": "7.0.20220408", - "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-7.0.20220408.tgz", - "integrity": "sha512-oD8Ydw+5lNoqq+en24iuPt1QixdPpe/nUF8azTHnviCZYu9zUC+TwdzIp5orpblJosNlgNbVmmAb//c6d6ImUQ==", - "dev": true - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -9256,16 +9179,6 @@ "prompts": "^2.0.1" } }, - "cross-blob": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cross-blob/-/cross-blob-3.0.2.tgz", - "integrity": "sha512-u+7xq68MAjIqvoEKrdgIEupKJNBeU8MSl/cpfPmJ3rm9yvxrgbMPr8TkZS9qnwCgiVC8BsEt9kDkeD7He2zmNA==", - "dev": true, - "requires": { - "blob-polyfill": "^7.0.20220408", - "fetch-blob": "^3.2.0" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -10120,16 +10033,6 @@ "bser": "2.1.1" } }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11829,12 +11732,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true - }, "node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -13081,12 +12978,6 @@ "makeerror": "1.0.12" } }, - "web-streams-polyfill": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", - "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", - "dev": true - }, "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", diff --git a/package.json b/package.json index 4b22110..eaa6d14 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "pdf-lib": "^1.17.1" }, "devDependencies": { - "cross-blob": "^3.0.2", "fs-extra": "^11.2.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", diff --git a/test/PDFMerger.test.js b/test/PDFMerger.test.js index fa9b1af..66f4406 100644 --- a/test/PDFMerger.test.js +++ b/test/PDFMerger.test.js @@ -1,7 +1,6 @@ import path from 'path' import fs from 'fs-extra' -import Blob from 'cross-blob' import pdfDiff from 'pdf-diff' import { PDFDocument } from 'pdf-lib' import { jest } from '@jest/globals' @@ -103,7 +102,7 @@ describe('PDFMerger', () => { expect(diff).toBeFalsy() }) - test('provide input as Blob', async () => { + (Blob ? test : test.skip)('provide input as Blob', async () => { const merger = new PDFMerger() const TestfileAUint8Array = await fs.readFile(path.join(FIXTURES_DIR, 'Testfile_A.pdf')) const TestfileABlob = new Blob([TestfileAUint8Array])