@@ -15,18 +15,20 @@ export async function checkDependencyVersions(
1515 category : string ,
1616 config ?: PatchPulseConfig ,
1717 options : {
18+ onProgress ?: ( args : { completedCount : number ; totalCount : number } ) => void ;
1819 silent ?: boolean ;
1920 } = { } ,
2021) : Promise < DependencyInfo [ ] > {
21- const { silent = false } = options ;
22+ const { onProgress , silent = false } = options ;
2223
2324 if ( ! dependencies || Object . keys ( dependencies ) . length === 0 ) {
2425 return [ ] ;
2526 }
2627
2728 const packageNames = Object . keys ( dependencies ) ;
2829 const progress = silent ? null : new ProgressSpinner ( ) ;
29- progress ?. start ( `Checking ${ packageNames . length } packages...` ) ;
30+ const totalCount = packageNames . length ;
31+ progress ?. start ( `Checking ${ totalCount } packages...` ) ;
3032
3133 const skippedResults : DependencyInfo [ ] = [ ] ;
3234 const dependenciesToCheck = Object . fromEntries (
@@ -50,6 +52,19 @@ export async function checkDependencyVersions(
5052 ) ;
5153
5254 let checkedResults : DependencyInfo [ ] = [ ] ;
55+ const reportProgress = ( completedCount : number ) : void => {
56+ const overallCompletedCount = completedCount + skippedResults . length ;
57+
58+ progress ?. updateMessage (
59+ `Checking ${ totalCount } packages... (${ overallCompletedCount } /${ totalCount } )` ,
60+ ) ;
61+ onProgress ?.( {
62+ completedCount : overallCompletedCount ,
63+ totalCount,
64+ } ) ;
65+ } ;
66+
67+ reportProgress ( 0 ) ;
5368
5469 try {
5570 checkedResults =
@@ -70,10 +85,8 @@ export async function checkDependencyVersions(
7085 ) ;
7186 }
7287 } ,
73- onResolved : ( { completedCount, totalCount } ) => {
74- progress ?. updateMessage (
75- `Checking ${ packageNames . length } packages... (${ completedCount + skippedResults . length } /${ totalCount + skippedResults . length } )` ,
76- ) ;
88+ onResolved : ( { completedCount } ) => {
89+ reportProgress ( completedCount ) ;
7790 } ,
7891 userAgent : 'patch-pulse-cli' ,
7992 } ) ) as DependencyInfo [ ] ) ;
0 commit comments