[Bug]: npm lifecycle hooks re-evaluated without any change to inputs
There have been reports of lifecycle hooks re-running unnecessarily, when no inputs change.
Our use case: we depend on nodegit which has a very expensive (120s+) lifecycle hook:
[85,797 / 85,799] Running lifecycle hooks on npm package [email protected]_t2g22a3cflk65wz3kqpekiolbu [for tool]; 45s local
We literally never change the version of nodegit we use so I'd expect that this lifecycle hook output is cached on my laptop forever (or at least until I clear it manually) but that is not the case. It seems that some set of conditions cause this thing to rebuild sometimes ... I have not figured out what they are.
Possibly related? If seen on MacOS:
https://github.com/bazel-contrib/bazel-lib/issues/887
@matthewjh that's a really interesting theory! And yes I am on macOS