I don't get why we are concerned about space. Space at this scale (never reached GB level) is so cheap and easy, to me at least, yet reproducibility is not.
with NPM shrinkwrap you lock down the version of the package you installed and their deps. That way you can use the same package on all envs.
Helps with testing and debugging as you're removing a variable (bad deps, outdated deps, newer deps etc)