@@ -17,11 +17,10 @@ function collectFlatList(targetObj) {
1717}
1818
1919function registerDependency ( packageTree , resolvedName ) {
20- var version = resolvedName . split ( '@' ) [ 1 ] ;
2120 var name = resolvedName . split ( '@' ) [ 0 ] ;
22- var dependency = new Dependecy ( name , version ) ;
23- packageTree . dependencies [ resolvedName ] =
24- packageTree . dependencies [ resolvedName ] || dependency ;
21+ var version = resolvedName . split ( '@' ) [ 1 ] ;
22+ packageTree . dependencies [ name ] =
23+ packageTree . dependencies [ name ] || new Dependecy ( name , version ) ;
2524 debug ( resolvedName ) ;
2625}
2726
@@ -45,19 +44,18 @@ function parse(fileContent, packageTree) {
4544
4645 Object . keys ( targetObj ) . forEach ( function ( key ) {
4746 var resolvedName = convertFromPathSyntax ( key ) ;
48- var dependency = packageTree . dependencies [ resolvedName ] ;
47+ var depName = resolvedName . split ( '@' ) [ 0 ] ;
48+ var dependency = packageTree . dependencies [ depName ] ;
4949 var depManifest = targetObj [ key ] ;
5050 Object . keys ( depManifest . dependencies || { } ) . forEach ( function ( key ) {
5151 try {
5252 var version = depManifest . dependencies [ key ] ;
5353 var lookup = key + '@' + version ;
54- packageTree . dependencies [ key ] =
55- packageTree . dependencies [ key ] || new Dependecy ( key , version ) ;
5654 if ( lookup . toLowerCase ( ) . indexOf ( 'system.' ) === 0 ) {
5755 // skip system packages in tree
5856 return ;
5957 }
60- dependency . dependencies [ key ] = packageTree . dependencies [ key ] ;
58+ dependency . dependencies [ key ] = new Dependecy ( key , version ) ;
6159 }
6260 catch ( err ) {
6361 console . log ( err ) ;
@@ -72,11 +70,13 @@ function parse(fileContent, packageTree) {
7270
7371 // restructure tree with "from" chains.
7472 function buildPath ( node , from ) {
73+
7574 node . from = node . from . concat ( from ) ;
7675 Object . keys ( node . dependencies ) . forEach ( function ( key ) {
7776 var depFrom = node . from . concat ( node . name + '@' + node . version ) ;
7877 buildPath ( node . dependencies [ key ] , depFrom ) ;
7978 } ) ;
79+ node . from = node . from . concat ( node . name + '@' + node . version ) ;
8080 }
8181
8282 // to disconnect the object references inside the tree
0 commit comments