The repository mirroring all scripts on cdnjs.cloudflare.com, created and maintained by Thomas Davis, Ryan Kirkman and Lachlan Collins
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
- 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
- Fork this repository
- Install all the needed dependencies locally (you will need
node
):npm install
- 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.json
for details - it's very simple) - Run
npm test
to 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. cdnjs#541
- If the library doesn't already provide a minified version, our preferred minifier is UglifyJS
We automatically update libraries that are also hosted on NPM e.g. Lodash.
- 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 with
The 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.js
- Install all the needed dependencies locally (you will need
node
):npm install
- Run the test suite:
npm test