We will host any version of any library. Feel free to add a pull request for an older version of a library if your site still uses it.
Libraries must have notable popularity. 100 stars on GitHub is a good example, but as long as reasonably popularity can be demonstrated the library will be added.
Extensions, Plugins, Resources
Extensions, Plugins, ResourcesConventions
- Filenames should not include version number and be lowercase
 - Javascript & Css files should be minified, If the library doesn't already provide a minified version, our preferred minifier is UglifyJS
 - If updating an existing library, try to keep consistent with the existing structure
 
Pull requests steps
- Fork this repository
- Install all the needed dependencies locally (you will need 
node):npm install 
 - Install all the needed dependencies locally (you will need 
 - Add your library (following the conventions of this repository)
- 1 commit per pull request
 - 1 library per pull request
 - The files in the pull request must correspond to a tag in the original repository (some exceptions apply)
 - include a package.json in the npm format (see 
test/schemata/npm-package.jsonfor details - it's very simple) - Run 
npm testto check everything is ok 
 - Send us a pull request.
- If you are the author of the library, add 
[author]to the pull request title - Make sure you include in the pull description:
- Where you downloaded the script
 - If it isn't clear, how you found the version of the script
 
 - e.g. https://github.com/cdnjs/cdnjs/pull/541
 
 - If you are the author of the library, add 
 - If the library doesn't already provide a minified version, our preferred minifier is UglifyJS
 
Enabling NPM auto update
We automatically update libraries that are also hosted on NPM e.g. Lodash.This script runs automatically every 4 hours
- Update the package.json and configure it as below and submit a pull request.
 
 // Lodash package.json
 // ...
  "npmName": "lodash",
  "npmFileMap": [{
    "basePath": "/dist/",
    "files": [
      "*"
    ]
  }],
  // ...
npmName should map to the name of the library on NPM
npmFileMap is a white list of files to take from the NPM tarball and host on the cdn
basePath will be ignored when copying over to the cdn
files is a pattern matcher that you can select many files withThe above example looks in the tarball whose structure might look like
- dist/lodash.js
- dist/lodash.min.js
- README
It then will look for dist/* which will find the two files inside the dist folder. It will now copy it over to cdnjs but without the dist path. Such that they will end up. ajax/libs/lodash.js/2.0/lodash.jsRunning the validator
- Install all the needed dependencies locally (you will need 
node):npm install - Run the test suite: 
npm test from https://github.com/cdnjs/cdnjs