1

Recently I've run into an issue where a new version of some transitive dependency of babel-eslint fails to parse Flow parameterized types. Downgrading babel-eslint didn't work because the newer versions of the transitive deps are semver-compatible with the older version of babel-eslint.

Since a fresh npm install worked fine several months ago, if there was a time machine-like feature whereby it would install exactly the same packages as it would have on a specific date several months ago, I should be able to get a working project setup again.

Is there a way to make npm partyinstall like it's 2015?

Andy
  • 7,885
  • 5
  • 55
  • 61

1 Answers1

0

You can (and probably should) avoid getting into this fix by using npm shrinkwrap --dev to lock down versions of all dependencies.

However, if you've gotten stuck with a broken project, and you're having trouble figuring out what transitive deps to roll back to earlier versions, you can use this fork of npm I created that allows you to npm install --ignore-versions-after=2016-05-03 (or whatever date you remember it working on) to get back working deps, and then npm shrinkwrap --dev.

Andy
  • 7,885
  • 5
  • 55
  • 61