@@ -234,15 +234,14 @@ var updateExistingNpmDirectory = function (packageName, newPackageNpmDir,
234
234
// be careful not to make the common case of no changes too
235
235
// slow.
236
236
if ( _ . isEqual ( installedDependencies , npmDependencies ) ) {
237
- // OK, so what we have installed matches the top-level dependencies
238
- // specified in `Npm.depends`. But what if we just pulled a change in
239
- // npm-shrinkwrap.json to an indirectly used module version? We'll have to
240
- // compare more carefully. First, normalize the tree (strip irrelevant
241
- // fields and normalize to 'version').
242
- var minimizedInstalled = minimizeDependencyTree ( installedDependenciesTree ) ;
243
- // If what we have installed is the same as what we have shrinkwrapped, then
244
- // we're done.
245
- if ( _ . isEqual ( minimizedInstalled , shrinkwrappedDependenciesTree ) ) {
237
+ // What we have installed matches the top-level dependencies specified
238
+ // in `Npm.depends`. But what if we just pulled a change in
239
+ // npm-shrinkwrap.json to an indirectly used module version? We'll
240
+ // have to compare more carefully. First, normalize the tree (strip
241
+ // irrelevant fields and normalize to 'version'). If what we have
242
+ // installed is the same as what we have shrinkwrapped, we're done.
243
+ if ( _ . isEqual ( minimizeDependencyTree ( installedDependenciesTree ) ,
244
+ minimizeDependencyTree ( shrinkwrappedDependenciesTree ) ) ) {
246
245
return ;
247
246
}
248
247
}
@@ -484,17 +483,19 @@ function getInstalledDependenciesTree(dir) {
484
483
if ( ! pkg ) return ;
485
484
}
486
485
487
- const info = result [ item ] = { } ;
486
+ const info = result [ item ] = {
487
+ version : pkg . version
488
+ } ;
488
489
489
- function copy ( name ) {
490
- if ( pkg [ name ] ) {
491
- info [ name ] = pkg [ name ] ;
492
- }
490
+ const resolved = pkg . _resolved || pkg . resolved ;
491
+ if ( resolved ) {
492
+ info . resolved = resolved ;
493
493
}
494
494
495
- copy ( "version" ) ;
496
- copy ( "resolved" ) ;
497
- copy ( "from" ) ;
495
+ const from = pkg . _from || pkg . from ;
496
+ if ( from ) {
497
+ info . from = from ;
498
+ }
498
499
499
500
const deps = ls ( files . pathJoin ( pkgDir , "node_modules" ) ) ;
500
501
if ( deps && ! _ . isEmpty ( deps ) ) {
@@ -645,9 +646,7 @@ var ensureConnected = function () {
645
646
646
647
// `npm shrinkwrap`
647
648
function shrinkwrap ( dir ) {
648
- const tree = minimizeDependencyTree (
649
- getInstalledDependenciesTree ( dir )
650
- ) ;
649
+ const tree = getInstalledDependenciesTree ( dir ) ;
651
650
652
651
files . writeFile (
653
652
files . pathJoin ( dir , "npm-shrinkwrap.json" ) ,
@@ -664,7 +663,7 @@ var minimizeDependencyTree = function (tree) {
664
663
var minimizeModule = function ( module ) {
665
664
var version ;
666
665
if ( module . resolved &&
667
- ! module . resolved . match ( / ^ h t t p s : \/ \/ r e g i s t r y .n p m j s .o r g \/ / ) ) {
666
+ ! module . resolved . match ( / ^ h t t p s ? : \/ \/ r e g i s t r y .n p m j s .o r g \/ / ) ) {
668
667
version = module . resolved ;
669
668
} else if ( utils . isNpmUrl ( module . from ) ) {
670
669
version = module . from ;
0 commit comments