Replies: 2 comments 1 reply
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
I'm looking for a cheap shared RDP mainly for uploading and downloading files. Here are my basic requirements: Speed: 1-10Gbps preferred |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Product Feedback
Body
NPM already has an endpoint to check for security audits in bulk:
/-/npm/v1/security/advisories/bulk.I'd like to propose something similar but for package metadata, specifically publish timestamps.
Context
Package managers like pnpm have a
minimumReleaseAgesetting that prevents installing packages published too recently. It's a supply-chain security measure, if a package gets compromised, you have a time buffer before your CI picks it up.The problem is that this check currently only happens at resolution time. Once a version is in the lockfile, later installs skip the check entirely. There's an open PR on pnpm to fix this by re-validating the lockfile before install: pnpm/pnpm#11583
The fix works, but it has a performance cost: to revalidate, you need to fetch metadata for every package in the lockfile individually. In a large project with hundreds of dependencies, that's countless of HTTP requests on every CI run.
Proposal
A bulk endpoint, something like
/-/npm/v1/packages/metadata/bulk, where you POST a list of(name, version)pairs and get back the publish timestamps (and potentially other metadata) in a single response.Something along these lines:
{ "lodash": { "4.17.21": { "time": "2021-02-20T15:42:15.077Z" } }, "express": { "4.18.2": { "time": "2023-10-12T..." }, "4.19.0": { "time": "2024-03-25T..." } } }Why it matters
Right now the choice is between security (revalidate everything, pay the network cost) and speed (trust the lockfile, skip the check).
A bulk endpoint would make revalidation more efficient in terms of network overhead: one request instead of hundreds. This benefits not just pnpm but any package manager or tool that wants to verify publish timestamps post-resolution.
I'm not deeply familiar with the registry internals so I might be missing some constraints, but from what I know, it looks like this would make a big difference. Happy to hear if there are better approaches to solve the same problem.
Beta Was this translation helpful? Give feedback.
All reactions