@@ -282,3 +282,57 @@ for (const entry of entryPoints) {
282282 printTree ( entry , new Set ( [ entry ] ) , "" , true , true ) ;
283283 if ( entryPoints . length > 1 ) console . log ( ) ;
284284}
285+
286+ // --- Summary ---
287+
288+ let totalDirect = 0 ;
289+ let totalTransitive = 0 ;
290+ const uniqueDirect = new Set < string > ( ) ;
291+ const uniqueTransitive = new Set < string > ( ) ;
292+ let maxDirect = 0 ;
293+ let maxDirectFile = "" ;
294+ let maxTransitive = 0 ;
295+ let maxTransitiveFile = "" ;
296+ let maxDepthSeen = 0 ;
297+ let maxDepthFile = "" ;
298+
299+ for ( const entry of entryPoints ) {
300+ const info = cache . get ( entry ) ;
301+ if ( ! info ) continue ;
302+ totalDirect += info . directImports . length ;
303+ totalTransitive += info . totalReachable ;
304+ for ( const dep of info . directImports ) {
305+ uniqueDirect . add ( dep ) ;
306+ }
307+ for ( const dep of getAllReachable ( entry , new Set ( ) ) ) {
308+ uniqueTransitive . add ( dep ) ;
309+ }
310+ if ( info . directImports . length > maxDirect ) {
311+ maxDirect = info . directImports . length ;
312+ maxDirectFile = entry ;
313+ }
314+ if ( info . totalReachable > maxTransitive ) {
315+ maxTransitive = info . totalReachable ;
316+ maxTransitiveFile = entry ;
317+ }
318+ if ( info . maxDepth > maxDepthSeen ) {
319+ maxDepthSeen = info . maxDepth ;
320+ maxDepthFile = entry ;
321+ }
322+ }
323+
324+ console . log ( `${ c . dim } ───────────────────────────${ c . reset } ` ) ;
325+ console . log ( `Target: ${ c . bold } ${ displayPath ( resolved ) } ${ c . reset } ` ) ;
326+ console . log ( `Total direct: ${ c . bold } ${ totalDirect } ${ c . reset } ` ) ;
327+ console . log ( `Total transitive: ${ c . bold } ${ totalTransitive } ${ c . reset } ` ) ;
328+ console . log ( `Unique direct: ${ c . bold } ${ uniqueDirect . size } ${ c . reset } ` ) ;
329+ console . log ( `Unique transitive: ${ c . bold } ${ uniqueTransitive . size } ${ c . reset } ` ) ;
330+ console . log (
331+ `Max direct: ${ c . bold } ${ maxDirect } ${ c . reset } ${ c . dim } (${ displayPath ( maxDirectFile ) } )${ c . reset } ` ,
332+ ) ;
333+ console . log (
334+ `Max transitive: ${ c . bold } ${ maxTransitive } ${ c . reset } ${ c . dim } (${ displayPath ( maxTransitiveFile ) } )${ c . reset } ` ,
335+ ) ;
336+ console . log (
337+ `Max depth: ${ c . bold } ${ maxDepthSeen } ${ c . reset } ${ c . dim } (${ displayPath ( maxDepthFile ) } )${ c . reset } ` ,
338+ ) ;
0 commit comments