@@ -719,16 +719,19 @@ export default class Package {
719719 if ( linked ) {
720720 const linkedDependencies = await this . #getLinkedDependencies( ) ;
721721
722- for ( const name of linkedDependencies . keys ( ) ) {
723- if ( ! outdatedDependencies [ name ] ) {
724- outdatedDependencies [ name ] = [ ] ;
722+ for ( const dependency of linkedDependencies . value ( ) ) {
723+ if ( ! outdatedDependencies [ dependency . name ] ) {
724+ outdatedDependencies [ dependency . name ] = [ ] ;
725725 }
726- else if ( ! Array . isArray ( outdatedDependencies [ name ] ) ) {
727- outdatedDependencies [ name ] = [ outdatedDependencies [ name ] ] ;
726+ else if ( ! Array . isArray ( outdatedDependencies [ dependency . name ] ) ) {
727+ outdatedDependencies [ name ] = [ outdatedDependencies [ dependency . name ] ] ;
728728 }
729729
730- outdatedDependencies [ name ] . push ( {
731- "linked" : linkedDependencies . get ( name ) ,
730+ outdatedDependencies [ dependency . name ] . push ( {
731+
732+ // XXX
733+ // "location": dependency.location,
734+ "linked" : dependency . link || true ,
732735 } ) ;
733736 }
734737 }
@@ -1499,22 +1502,34 @@ export default class Package {
14991502 "directories" : true ,
15001503 } ) ) ,
15011504 ] ) ,
1502- ] . map ( name =>
1503- fs . promises
1504- . readlink ( `${ this . root } /node_modules/${ name } ` )
1505- . then ( link => dependencies . set ( name , link ) )
1505+ ] . map ( name => {
1506+ const location = path . join ( this . root , "node_modules" , name ) ;
1507+
1508+ return fs . promises
1509+ . readlink ( location )
1510+ . then ( link =>
1511+ dependencies . set ( name , {
1512+ name,
1513+ location,
1514+ link,
1515+ } ) )
15061516 . catch ( e => {
15071517
15081518 // not exists
15091519 if ( e . code === "ENOENT" ) {
1510- dependencies . set ( name , true ) ;
1520+ dependencies . set ( name , {
1521+ name,
1522+ location,
1523+ "link" : null ,
1524+ } ) ;
15111525 }
15121526
15131527 // other error
15141528 else if ( e . code !== "EINVAL" ) {
15151529 console . log ( e ) ;
15161530 }
1517- } ) ) ) ;
1531+ } ) ;
1532+ } ) ) ;
15181533
15191534 return dependencies ;
15201535 }
0 commit comments