Effective Dependency Management for the JavaScript Software Ecosystem