Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace deprecated unzipper with jszip #440

Closed
johannesrue opened this issue May 21, 2024 · 7 comments
Closed

Replace deprecated unzipper with jszip #440

johannesrue opened this issue May 21, 2024 · 7 comments

Comments

@johannesrue
Copy link
Contributor

Unzipper uses deprecated module fstream (https://www.npmjs.com/package/fstream ZJONSSON/node-unzipper#261), therefore we should replace it with jszip.

I will create a pull request to fix this deprecated dependency.

johannesrue pushed a commit to ibis-thome/node-geckodriver that referenced this issue May 21, 2024
@christian-bromann
Copy link
Contributor

Unzipper uses deprecated module fstream

What is the impact for users here?

I am hesitating a bit to switch to jszip as it hasn't seen any contributions for 2 years while unzipper still seems to be actively maintained.

@johannesrue
Copy link
Contributor Author

What is the impact for users here?

There are already several documented vulnerabilities in the transitive dependencies of fstream: ZJONSSON/node-unzipper#261

The fstream package is officially marked as deprecated, so there is no maintenance ongoing anymore.

We use npm audit in our deployment process, so that's why we came across this. Another way would be to replace fstream with something else in unzipper, but it seemed easier to me to use another zip tool in the first place.

Actually you're right, jszip is probably not maintained much better. At least there are no known CVE or deprecations in its current dependency tree.

Do you have another suggestion how to deal with the deprecation of fstream?

@johannesrue
Copy link
Contributor Author

https://gildas-lormeau.github.io/zip.js/ might be a good option. I could provide another MR using that too.

@johannesrue
Copy link
Contributor Author

Another option using a C library compiled to wasm: https://github.com/nika-begiashvili/libarchivejs/tree/master

@christian-bromann
Copy link
Contributor

gildas-lormeau.github.io/zip.js might be a good option. I could provide another MR using that too.

I think this is a great option. Can we migrate to this package?

@johannesrue
Copy link
Contributor Author

gildas-lormeau.github.io/zip.js might be a good option. I could provide another MR using that too.

I think this is a great option. Can we migrate to this package?

Yes, i will do that in the next few days.

This was referenced May 24, 2024
@christian-bromann
Copy link
Contributor

Thanks @johannesrue for taking a stab at this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants