@@ -46,16 +46,13 @@ export async function updatePackagesAndNotify(
4646 environment : PythonEnvironment ,
4747 before : Package [ ] | undefined ,
4848 onChanges : PackageChangesCallback ,
49- ) : Promise < void > {
50- const after = ( await packageManager . getPackages ( environment , { skipCache : true } ) ) ?? [ ] ;
49+ ) : Promise < Package [ ] | undefined > {
50+ const [ after , afterDirectDependenciesNames ] = await Promise . all ( [
51+ packageManager . getPackages ( environment , { skipCache : true } ) . then ( ( pkgs ) => pkgs ?? [ ] ) ,
52+ // Handle transitive dependencies (best-effort, don't break package refresh on failure)
53+ packageManager . getDirectPackageNames ?.( environment ) . catch ( ( ) => undefined ) ,
54+ ] ) ;
5155
52- // Handle transitive dependencies (best-effort, don't break package refresh on failure)
53- let afterDirectDependenciesNames : Set < string > | undefined ;
54- try {
55- afterDirectDependenciesNames = await packageManager . getDirectPackageNames ?.( environment ) ;
56- } catch {
57- // If direct package detection fails, leave isTransitive undefined rather than breaking refresh
58- }
5956 if ( afterDirectDependenciesNames && afterDirectDependenciesNames . size > 0 ) {
6057 for ( const pkg of after ) {
6158 ( pkg as { isTransitive ?: boolean } ) . isTransitive = ! afterDirectDependenciesNames . has ( pkg . name ) ;
@@ -67,4 +64,6 @@ export async function updatePackagesAndNotify(
6764 if ( changes . length > 0 ) {
6865 onChanges ( changes ) ;
6966 }
67+
68+ return after ;
7069}
0 commit comments