[api-minor] Let Babel handle the necessary core-js polyfills automatically

In the last couple of years we've been quicker to remove support for older browsers/environments, which means that at this point in time we don't bundle that many polyfills. (The polyfills are also generally simpler nowadays, ever since we removed support for e.g. Internet Explorer.)
Rather than having to *manually* handle the polyfills, we can actually let Babel take care of bundling the necessary polyfills for us; please refer to https://babeljs.io/docs/babel-preset-env

The only exception here is the Node.js-specific compatibility-code, which is moved into the `src/display/node_utils.js` file. This ought to be fine since workers are not available/used in Node.js-environments.

*Please note:* For the `legacy`-builds this will increase the size of the *built* files, however that seems like a very small price to pay in order to simplify maintenance of the general PDF.js library.
This commit is contained in:
Jonas Jenwald 2023-07-17 15:44:30 +02:00
parent 9db65ad083
commit 67303b16f1
4 changed files with 30 additions and 56 deletions

View file

@ -13,16 +13,6 @@
* limitations under the License.
*/
// Skip compatibility checks for modern builds and if we already ran the module.
if (
typeof PDFJSDev !== "undefined" &&
!PDFJSDev.test("SKIP_BABEL") &&
!globalThis._pdfjsCompatibilityChecked
) {
globalThis._pdfjsCompatibilityChecked = true;
require("./compatibility.js");
}
const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];