I love how pip adresses the problem, especially in combination with virtualenv. Other languages have similar well thought out solutions. But JavaScript doesn't seem to have one.<p>The requirements.txt is usually added to the repository and enough to get everything running. But as soon as additional JavaScript libraries come into play I feel like I'm polluting the repository.<p>I'm not sure whether I should commit stuff like jQuery, require.js, backbone, e.g.<p>Adding them certainly prevents version incompatibilities and no further tools are required.<p>Then again, updating can be a hazzle, the installed version isn't always obvious and clutter adds up. If I add JavaScript libraries to my repository, why not Python libraries too? And then there are CSS dependencies too.<p>Bower seems to be a decent solution. Then again, it adds the dependency of node.js. Together with Sass's Ruby requirement anyone who wants to use my project has to install node.js and Ruby just to pull in additional code. Pretty annoying.<p>What is the common way of solving this dilemma at the moment?