Dependency graph does not read a single-document pnpm-lock.yaml (pnpm 12) #211526
Replies: 3 comments
|
💬 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. ⭐ |
|
I'm seeing the same symptom (only the direct dependencies from package.json are listed, nothing from a single-document pnpm-lock.yaml) and could narrow it down to one cause: the lockfile is ignored when it contains a Minimal reproduction: https://github.com/machimachida/pnpm-devengines-runtime-depgraph
Both lockfiles are single YAML documents (
The |
|
There appears to be a related issue in [dependabot/dependabot-core #15904](dependabot/dependabot-core#15904) that describes pnpm 12 lockfiles being parsed as an empty dependency graph. The important detail is that pnpm 12 can produce a two-document YAML lockfile, with the environment information first and the actual project dependencies in the last document. Your report describes the opposite layout, so it would be worth checking whether the dependency graph parser handles both single-document and multi-document files correctly. GitHub's [supported ecosystems documentation](https://docs.github.com/en/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems) lists Could GitHub investigate why the graph continues to show stale dependencies after the lockfile changed and the graph was refreshed? In particular, it would be useful to confirm whether the parser is reading the current lockfile or using stale dependency data. Since Dependabot alerts depend on the graph, ensuring that transitive dependencies are detected correctly is important for security coverage. |
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Bug
Body
Repository: Vincent-R-509/kit (private, GitHub Pro).
The dependency graph lists only the 21 direct dependencies read from package.json, and nothing from pnpm-lock.yaml: no transitive packages, so Dependabot alerts and malware alerts do not cover them. The lockfile has about 596 packages.
The lockfile is a single YAML document (lockfileVersion: '9.0', no leading ---), written by pnpm 12.14.0 with pmOnFail: ignore, as suggested in dependabot-core issue #15904 for the two-document format.
Before 2026-10-28 the file had two documents, and the graph showed only pnpm's own packages (@pnpm/exe.*). After the single-document file reached main (2026-10-28, then again with a Dependabot merge), the graph kept showing those stale packages.
"Refresh Dependabot alerts" and turning the dependency graph off and on changed the list to the direct dependencies from package.json, still with no entry from pnpm-lock.yaml.
Your documentation (Dependency graph supported package ecosystems) lists pnpm-lock.yaml as supported.
Could you check why pnpm-lock.yaml is not parsed for this repository?
All reactions