News for hackers. Stuff that matters.
Re:State of React Native 2018 by davidjnelson on Thursday June 14, 2018 @07:14PM (#17316201)
> Running NPM Update ranges from doing not much at all, to breaking my entire system making deleting all of node_modules the only realistic fix.

Why not just pin your dependencies to specific versions, ie - “somepackage”: “4.2.9” ?

Re:State of React Native 2018 by Tehnix on Friday June 15, 2018 @11:02AM (#17320220)
Having to delete node_modules to “fix” it is indicative of a poor package manager. Although not entirely the same, it reminds me of cabal hell, in Haskell many years ago.
Re:State of React Native 2018 by always_good on Friday June 15, 2018 @01:51PM (#17321903)
I've had to do that with every package manager though.
Re:State of React Native 2018 by theWheez on Saturday June 16, 2018 @04:45PM (#17329307)
After working with pip and gradle I have never encountered that issue
Re:State of React Native 2018 by megaman22 on Friday June 15, 2018 @01:42AM (#17317739)
I'm borderline infuriated that this isn't the default way that npm works. Maybe if people didn't willnilly break things and followed semver, it'd be okay, but I waste too much time bisecting why some package that used to work is blowing up my build or failing in less obvious ways.

But I'm a crusty almost-30 .Net developer used to Nuget.

Re:State of React Native 2018 by allover on Friday June 15, 2018 @04:13AM (#17318259)
npm does maintain a lockfile for you by default since npm 5, if that's what you mean.

There really is no reason to be encountering surprise sub-dependency changes with npm.

Re:State of React Native 2018 by megaman22 on Friday June 15, 2018 @06:03AM (#17318641)
Happens all the time when package.json defaults to foo: "^1.2.3", and some bozo does breaking changes in 1.2.5.
Re:State of React Native 2018 by danabramov on Friday June 15, 2018 @10:16AM (#17319912)
If you have a package lock, even caret in package.json won't automatically install it.
Re:State of React Native 2018 by allover on Friday June 15, 2018 @04:40PM (#17323361)
> Happens all the time when package.json defaults to foo: "^1.2.3", and some bozo does breaking changes in 1.2.5.

No it doesn't. Since npm 5, npm is lockfile-by-default, you don't get updates unless you ask for them. Whether one particular package correctly respects semver is irrelevant.

Re:State of React Native 2018 by xab9 on Friday June 15, 2018 @01:49AM (#17317763)
Because that's not how it works. Subdependencies are still liable to slight shifting - of course there is the shrink-wrappish package-lock and npm ci, but they do some weird things I don't want to elaborate here.

Npm is more fragile than it should be.