Skip to content

Commit f36345c

Browse files
committed
Add dependency chain example to resolve docs
1 parent d27cd7e commit f36345c

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

docs/resolve.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,28 @@ git pkgs resolve -q \
173173
git pkgs resolve -q | jq '[.. | select(.Name? == "lodash")]'
174174
```
175175

176+
### Show why a transitive dependency is in the tree
177+
178+
Find every path from a direct dependency down to a specific package. This tells you which of your dependencies pulled it in:
179+
180+
```bash
181+
git pkgs resolve -q | jq --arg pkg "mime-types" '
182+
def paths_to($name):
183+
if .Name == $name then [.Name]
184+
elif (.Deps // []) | length > 0 then
185+
.Name as $n | .Deps[] | paths_to($name) | select(length > 0) | [$n] + .
186+
else empty
187+
end;
188+
[.Direct[] | paths_to($pkg)] | unique[] | join(" > ")
189+
'
190+
```
191+
192+
```
193+
express > accepts > mime-types
194+
```
195+
196+
This walks the dependency tree recursively and prints each chain that leads to the package. If `mime-types` appears under multiple direct dependencies, you'll see all paths.
197+
176198
### Diff resolved dependencies between branches
177199

178200
```bash

0 commit comments

Comments
 (0)