-
Notifications
You must be signed in to change notification settings - Fork 366
chore: reduce dependencies from qs #2407
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
base: master
Are you sure you want to change the base?
Conversation
@benmccann, thanks for the PR. While I understand the reason to switch to |
There are several other alternatives that could be chosen from: https://github.com/es-tooling/module-replacements/blob/fa9d67b02c9feb28c75bd3509930234b6f5383b1/docs/modules/qs.md I chose |
@benmccann, thanks for pointing it out. As you might've noticed already, |
Yeah, you're right that I guess you're thinking more downloads means it's more battle tested? Though As an alternative, https://www.npmjs.com/package/qs-esm is more downloaded, but it looks like this project still supports CJS and Node 18 and you can't require an ESM library until Node 20. I see that Node 18 was just dropped in core in loopbackio/loopback-next@88a3fe9, so perhaps we could bump the Node version requirement here as well and use that library? Yeah, my issue is how many dependencies are required. It's easy to think of it as not being that big of an issue, but the problem really adds up when using many dependencies. As an example, just installing the core docusaurus library without any plugins or anything adds up to over 1000 dependencies (https://npmgraph.js.org/?q=@docusaurus/core). This makes debugging anything a nightmare because you have to go through so many layers of libraries and there's so much code in the distributable not to mention the supply chain risks. As a result, it's something I check with every new library I adopt. |
Pull Request Test Coverage Report for Build 15396214664Details
💛 - Coveralls |
I'm good with either way. Would like to hear from other maintainers, especially @samarpanB @achrinza @raymondfeng. |
https://npmgraph.js.org/?q=qs - 18 dependencies
https://npmgraph.js.org/?q=neoqs - 0 dependencies
I used the legacy entry point to keep CJS support
Checklist
npm test
passes on your machine