@@ -150,13 +150,10 @@ benchmark_scenario() {
150150 end_time=$( date +%s.%N)
151151 runtime=$( echo " $end_time - $start_time " | bc -l)
152152
153- # Count packages from output using new structure
153+ # Count packages from output (detector-specific logic will override this)
154154 package_count=0
155155 if echo " $result " | jq . > /dev/null 2>&1 ; then
156- # New structure: count all packages in project and system scopes
157- local project_count=$( echo " $result " | jq ' .project.packages | length' 2> /dev/null || echo " 0" )
158- local system_count=$( echo " $result " | jq ' .system.packages | length' 2> /dev/null || echo " 0" )
159- package_count=$(( project_count + system_count))
156+ package_count=$( echo " $result " | jq ' [.[] | .dependencies | keys] | add | length' 2> /dev/null || echo " 0" )
160157 fi
161158
162159 print_timing " ${runtime} s"
@@ -254,28 +251,11 @@ parse_package_counts() {
254251 local total_count=0
255252
256253 if echo " $result " | jq . > /dev/null 2>&1 ; then
257- # New structure: count packages in project and system scopes
258- local project_count=0
259- local system_count=0
260-
261- # Count project packages (filtered by package managers if specified)
262- if [ -z " $package_managers " ]; then
263- # If no package managers specified, count all packages
264- project_count=$( echo " $result " | jq ' .project.packages | length' 2> /dev/null || echo " 0" )
265- system_count=$( echo " $result " | jq ' .system.packages | length' 2> /dev/null || echo " 0" )
266- else
267- # Filter by specific package managers
268- for manager in $package_managers ; do
269- local proj_count
270- local sys_count
271- proj_count=$( echo " $result " | jq " [.project.packages[]? | select(.type == \" $manager \" )] | length" 2> /dev/null || echo " 0" )
272- sys_count=$( echo " $result " | jq " [.system.packages[]? | select(.type == \" $manager \" )] | length" 2> /dev/null || echo " 0" )
273- project_count=$(( project_count + proj_count))
274- system_count=$(( system_count + sys_count))
275- done
276- fi
277-
278- total_count=$(( project_count + system_count))
254+ for manager in $package_managers ; do
255+ local count
256+ count=$( echo " $result " | jq " .${manager} .dependencies | keys | length" 2> /dev/null || echo " 0" )
257+ total_count=$(( total_count + count))
258+ done
279259 fi
280260
281261 echo " $total_count "
0 commit comments