diff --git a/gulpfile.js b/gulpfile.js index c7863c075..4d574269f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -80,7 +80,7 @@ const ENV_TARGETS = [ "Chrome >= 88", "Firefox ESR", "Safari >= 14.1", - "Node >= 16", + "Node >= 18", "> 1%", "not IE > 0", "not dead", @@ -2168,7 +2168,6 @@ function packageJson() { }, dependencies: { "path2d-polyfill": "^2.0.1", - "web-streams-polyfill": "^3.2.1", }, browser: { canvas: false, @@ -2184,7 +2183,7 @@ function packageJson() { url: DIST_REPO_URL, }, engines: { - node: ">=16", + node: ">=18", }, }; diff --git a/package-lock.json b/package-lock.json index 1feb190a2..1c5469733 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,14 +62,13 @@ "typogr": "^0.6.8", "vinyl": "^3.0.0", "vinyl-fs": "^3.0.3", - "web-streams-polyfill": "^3.2.1", "webpack": "^5.80.0", "webpack-stream": "^7.0.0", "wintersmith": "^2.5.0", "yargs": "^17.7.1" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@ampproject/remapping": { @@ -18622,15 +18621,6 @@ "node": ">=10.13.0" } }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -33566,12 +33556,6 @@ "graceful-fs": "^4.1.2" } }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true - }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index cdb42c66f..c3fd6999d 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "typogr": "^0.6.8", "vinyl": "^3.0.0", "vinyl-fs": "^3.0.3", - "web-streams-polyfill": "^3.2.1", "webpack": "^5.80.0", "webpack-stream": "^7.0.0", "wintersmith": "^2.5.0", @@ -69,7 +68,7 @@ "url": "git://github.com/mozilla/pdf.js.git" }, "engines": { - "node": ">=16" + "node": ">=18" }, "license": "Apache-2.0" } diff --git a/src/core/worker.js b/src/core/worker.js index 14f5a576a..b5b2f5059 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -133,14 +133,10 @@ class WorkerMessageHandler { // Ensure that (primarily) Node.js users won't accidentally attempt to use // a non-translated/non-polyfilled build of the library, since that would // quickly fail anyway because of missing functionality. - if ( - (isNodeJS && typeof Path2D === "undefined") || - typeof ReadableStream === "undefined" - ) { + if (isNodeJS && typeof Path2D === "undefined") { const partialMsg = "The browser/environment lacks native support for critical " + - "functionality used by the PDF.js library " + - "(e.g. `Path2D` and/or `ReadableStream`); "; + "functionality used by the PDF.js library (e.g. `Path2D`); "; if (isNodeJS) { throw new Error(partialMsg + "please use a `legacy`-build instead."); diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index 8375e62a7..35a42ab4b 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -36,17 +36,7 @@ import { isNodeJS } from "./is_node.js"; polyfillPath2D(globalThis); })(); -// Support: Node.js<18.0.0 -(function checkReadableStream() { - if (globalThis.ReadableStream || !isNodeJS) { - return; - } - globalThis.ReadableStream = __non_webpack_require__( - "web-streams-polyfill/dist/ponyfill.js" - ).ReadableStream; -})(); - -// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0 +// Support: Chrome<92, Safari<15.4 (function checkArrayAt() { if (Array.prototype.at) { return; @@ -54,7 +44,7 @@ import { isNodeJS } from "./is_node.js"; require("core-js/es/array/at.js"); })(); -// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0 +// Support: Chrome<92, Safari<15.4 (function checkTypedArrayAt() { if (Uint8Array.prototype.at) { return; @@ -62,7 +52,7 @@ import { isNodeJS } from "./is_node.js"; require("core-js/es/typed-array/at.js"); })(); -// Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0 +// Support: Chrome<98, Safari<15.4 (function checkStructuredClone() { if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("IMAGE_DECODERS")) { // The current image decoders are synchronous, hence `structuredClone`