Skip to content

Commit 37d408b

Browse files
ejntaylorclaude
andauthored
Add pnpm-lock.yaml parser (#15)
Vibe-coded apps from platforms like v0/Bolt/Lovable often ship with pnpm-lock.yaml, which the connector previously rejected with LOCKFILE_UNSUPPORTED. This adds a zero-dep parser that handles every common pnpm lockfile format (v5 slash-separated, v6-v8 leading-slash with `@`, v9 unquoted/quoted keys with `(peer)` suffixes) and marks direct dependencies from either `importers:` (v9) or top-level dependency sections (v6-v8 single-project lockfiles). Detection routes pnpm before yarn so an in-progress yarn migration with both lockfiles present still works. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 7c85673 commit 37d408b

15 files changed

Lines changed: 1479 additions & 47 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ That's the entire payload. No source code, no environment variables, no file pat
114114
## Supported lockfiles
115115

116116
-`package-lock.json` (npm v6 / v2 / v3) — parsed directly
117+
-`pnpm-lock.yaml` (pnpm v5 / v6 / v7 / v8 / v9) — parsed directly
117118
-`bun.lockb` (binary) — package list resolved by walking `node_modules/`
118119
-`bun.lock` (text) — same fallback; direct parsing coming
119120
-`yarn.lock` — coming soon
120-
-`pnpm-lock.yaml` — coming soon
121121

122122
If both a Bun lockfile and `node_modules/` are present, the connector walks `node_modules/` to enumerate the installed packages. Run `bun install` (or `npm install`) before scanning so the directory is populated.
123123

dist/cli.js

Lines changed: 265 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cli.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)