So, for one of our projects, we've moved to having a bunch of npm modules 
on an internal registry for various sub-parts of our projects and we're 
running into some trouble that seems like it would generally be an issue. 
 Our primary package.json has a bunch of explicit version number 
dependencies (3rd party modules that we don't want changing out from under 
us unknowingly), and a bunch of ~version dependencies (mostly for internal 
packages which are updated daily).

So, the problem is, now after every "git pull", we need to do an "npm 
update" to get all of the related module changes, but "npm update" is 
really slow, as it appears to re-download and re-install *every* package, 
not just those that have updated versions available.  "npm install" is fast 
(and is what we were used to doing), and that updates all of the packages 
for which we explicitly bumped the version number, but doesn't update 
packages with the ~version number dependencies that have had a new version 
published recently.  I saw there's an "npm outdated" command which, very 
quickly, tells us exactly which packages would actually need to get 
updated, but I cannot find any npm command that will just update what needs 
to be updated without spending lots of time re-downloading/building/etc all 
of our "static" dependencies.

I did put together this, uh, simple command to do what we need efficiently, 
but it seems like there should be a better way (within npm)!
npm outdated --parseable | cut -f 2-3 -d : | grep -ve "^\(.*\):\\1$" | cut 
-f 1 -d @ | xargs npm update

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/71d4d5fb-61e6-4d72-9f84-2a09258293a7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to