piqnt / svgexport

SVG to PNG/JPEG command-line tool and Node.js module
927 stars 85 forks source link

Update to puppeteer 3.0.0 #79

Closed KasparEtter closed 4 years ago

KasparEtter commented 4 years ago

I ran into a rendering issue: marker-mid was displayed on a a single arc in a path. I believe this bug has been captured by this issue. Chrome was rendering the SVG correctly, while ~/project/node_modules/puppeteer/.local-chromium/mac-737027/chrome-mac/Chromium.app was not. It turned out that the fix has been merged into the Chromium that ships with puppeteer 3.0.0. My current workaround is just adding "puppeteer": "^3.0.0" directly to my dependencies but naturally I would prefer an upstream fix. Thank you! 🙂

shakiba commented 4 years ago

Thanks for reporting the issue with a fix! It would be great if you make a PR.

KasparEtter commented 4 years ago

Here you go. I haven't studied what the breaking changes in puppeteer 3.0.0 were but since it includes things like Node.js v8.x.x is no longer supported., svgexport with these updated dependencies should probably be released with a major version bump.

KasparEtter commented 4 years ago

On a different note: I also wanted to commit the package-lock.json file (see its documentation for why) but failed to actually install puppeteer because it's currently not working with node 14. I'm too lazy to downgrade my node installation and the issue should be fixed with the 14.1.0 release.

shakiba commented 4 years ago

Thank, this is great! Will merge it soon, I think we can merge it as alpha version for next minor version update. Also let's cc @MichaelHeerklotz to see if he has any comment.

KasparEtter commented 4 years ago

Since node@14.1.0 has been released in the meantime (and thus installing puppeteer works again), I added another commit to my PR in order to put package-lock.json under revision control. Otherwise, different developers can run into different issues due to differing versions of dependencies (as the dependencies are not "locked" to specific versions in the package.json file).