Skip to content

Commit 15d9db6

Browse files
committed
Add resolve command for dependency graph output
Add Resolve() to the Manager interface and GenericManager, following the same pattern as Vendor(). Each manager's resolve command shells out to the local package manager CLI to produce dependency graph output (JSON or text tree depending on the ecosystem). 24 YAML definitions updated with resolve commands and capability flags. Skipped managers with no useful resolve command (brew, cabal, cocoapods, cpanm, gem, luarocks, nimble, opam, sbt, shards, vcpkg).
1 parent 2f87105 commit 15d9db6

27 files changed

Lines changed: 276 additions & 0 deletions

definitions/bun.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ commands:
8484
type: template
8585
pattern: "node_modules/{package}"
8686

87+
resolve:
88+
base: [pm, ls]
89+
default_flags: [--all]
90+
exit_codes:
91+
0: success
92+
1: error
93+
8794
capabilities:
8895
- install
8996
- install_frozen
@@ -95,3 +102,4 @@ capabilities:
95102
- outdated
96103
- update
97104
- path
105+
- resolve

definitions/bundler.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@ commands:
111111
0: success
112112
1: error
113113

114+
resolve:
115+
base: [list]
116+
exit_codes:
117+
0: success
118+
1: error
119+
114120
# bundle cache caches .gem files into vendor/cache
115121
vendor:
116122
base: [cache]
@@ -130,3 +136,4 @@ capabilities:
130136
- json_output
131137
- path
132138
- vendor
139+
- resolve

definitions/cargo.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,13 @@ commands:
114114
extract_field: manifest_path
115115
strip_filename: true
116116

117+
resolve:
118+
base: [metadata]
119+
default_flags: [--format-version, "1"]
120+
exit_codes:
121+
0: success
122+
1: error
123+
117124
# cargo vendor copies crate sources into vendor/
118125
vendor:
119126
base: [vendor]
@@ -132,5 +139,6 @@ capabilities:
132139
- workspace
133140
- path
134141
- vendor
142+
- resolve
135143
# No json_output for tree by default
136144
# No native outdated

definitions/composer.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,13 @@ commands:
8383
0: success
8484
1: error
8585

86+
resolve:
87+
base: [show]
88+
default_flags: [--tree]
89+
exit_codes:
90+
0: success
91+
1: error
92+
8693
capabilities:
8794
- install
8895
- add
@@ -93,3 +100,4 @@ capabilities:
93100
- outdated
94101
- json_output
95102
- path
103+
- resolve

definitions/conan.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,17 @@ commands:
7575
0: success
7676
1: error
7777

78+
resolve:
79+
base: [info, .]
80+
exit_codes:
81+
0: success
82+
1: error
83+
7884
capabilities:
7985
- install
8086
- add
8187
- remove
8288
- list
8389
- update
8490
- path
91+
- resolve

definitions/conda.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ commands:
8888
type: line_prefix
8989
prefix: "Location: "
9090

91+
resolve:
92+
base: [list]
93+
default_flags: [--json]
94+
exit_codes:
95+
0: success
96+
1: error
97+
9198
capabilities:
9299
- install
93100
- install_frozen
@@ -98,3 +105,4 @@ capabilities:
98105
- update
99106
- json_output
100107
- path
108+
- resolve

definitions/deno.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ commands:
7878
type: line_prefix
7979
prefix: "local: "
8080

81+
resolve:
82+
base: [info]
83+
default_flags: [--json]
84+
exit_codes:
85+
0: success
86+
1: error
87+
8188
capabilities:
8289
- install
8390
- install_frozen
@@ -87,3 +94,4 @@ capabilities:
8794
- outdated
8895
- update
8996
- path
97+
- resolve

definitions/gomod.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ commands:
110110
type: json
111111
field: Dir
112112

113+
resolve:
114+
base: [mod, graph]
115+
exit_codes:
116+
0: success
117+
1: error
118+
113119
# go mod vendor copies all dependencies into vendor/
114120
vendor:
115121
base: [mod, vendor]
@@ -127,4 +133,5 @@ capabilities:
127133
- json_output
128134
- path
129135
- vendor
136+
- resolve
130137
# No add_dev - Go doesn't have dev dependencies

definitions/gradle.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ commands:
7070
0: success
7171
1: error
7272

73+
resolve:
74+
base: [dependencies]
75+
exit_codes:
76+
0: success
77+
1: error
78+
7379
capabilities:
7480
- install
7581
- list
82+
- resolve

definitions/helm.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,16 @@ commands:
6767
0: success
6868
1: error
6969

70+
resolve:
71+
base: [dependency, list]
72+
exit_codes:
73+
0: success
74+
1: error
75+
7076
capabilities:
7177
- install
7278
- add
7379
- remove
7480
- list
7581
- update
82+
- resolve

0 commit comments

Comments
 (0)