I just spent way too much time dealing with dependency issues in my latest project. Why does the JavaScript have to be such a tangled mess of nested dependencies and version conflicts?