1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 06:38:07 +02:00

[api-minor] Replace the canvas package with @napi-rs/canvas

The `@napi-rs/canvas` package has fewer dependencies, which should *hopefully* make installing and using it easier for `pdfjs-dist` end-users. (Over the years we've seen, repeatedly, that `canvas` can be difficult to install successfully.)
Furthermore, this package includes more functionality (such as `Path2D`) which reduces the overall number of dependencies in the PDF.js project.

One point to note is that `@napi-rs/canvas` is a fair bit newer than `canvas`, and has a lot fewer users, however looking at the commit history it does seem to be actively maintained.

Note that I've successfully tested the [Node.js examples](https://github.com/mozilla/pdf.js/tree/master/examples/node), in particular the `pdf2png` one, with this patch applied and things appear to work fine.

Please see:
 - https://www.npmjs.com/package/@napi-rs/canvas
 - https://github.com/Brooooooklyn/canvas
This commit is contained in:
Jonas Jenwald 2024-11-08 11:29:24 +01:00
parent bff6738966
commit 86f943ca03
7 changed files with 188 additions and 104 deletions

View file

@ -10,11 +10,11 @@
"@jazzer.js/core": "^2.1.0",
"@metalsmith/layouts": "^2.7.0",
"@metalsmith/markdown": "^1.10.0",
"@napi-rs/canvas": "^0.1.60",
"@types/node": "^22.8.7",
"autoprefixer": "^10.4.20",
"babel-loader": "^9.2.1",
"caniuse-lite": "^1.0.30001677",
"canvas": "^3.0.0-rc2",
"core-js": "^3.39.0",
"eslint": "^8.57.1",
"eslint-plugin-import": "^2.31.0",
@ -37,7 +37,6 @@
"metalsmith": "^2.6.3",
"metalsmith-html-relative": "^2.0.5",
"ordered-read-streams": "^2.0.0",
"path2d": "^0.2.1",
"pngjs": "^7.0.0",
"postcss": "^8.4.47",
"postcss-dark-theme-class": "^1.3.0",