Apple, Microsoft, Google, Adobe, et. al. install software have automatic code to handle pushing out security fixes.
Ruby has even better dependency retrieval tools: gem and bundle.
- It looks at the project dependency description file
- Discovers that the project needs jquery-ui-1.10.2, tiny_mce-3.5.8 and prettyLoader-1.0.1
- Retrieves jquery-ui-1.10.2.min.js, prettyLoader-1.0.1.js, tiny_mce-3.5.8 from the web
- Installs the .js and the .css into a local repository
- Realizes that jquery-ui relies on jquery-1.9.1 and downloads/installs jquery
- Determines that the tiny_mce needs the jquery plugin, and downloads and installs it.
After all this, the developer has a local copy of all the js/css files needed.
If a new tiny_mce or jquery comes out, the project file is updated and the developers just return the tool and they get all the new files.
If no version of a js library is specified then the latest release version is retrieved.