cdnjs.com
Open in
urlscan Pro
2606:4700:20::6818:b107
Public Scan
Submitted URL: http://api.cdnjs.com/
Effective URL: https://cdnjs.com/api
Submission: On December 21 via manual from US — Scanned from DE
Effective URL: https://cdnjs.com/api
Submission: On December 21 via manual from US — Scanned from DE
Form analysis
1 forms found in the DOM<form action="" role="search" novalidate="novalidate" class="ais-SearchBox-form"><input type="search" autocorrect="off" autocapitalize="off" autocomplete="off" spellcheck="false" required="required" maxlength="512" aria-label="Search"
placeholder="Search from 4,095 libraries on cdnjs..." class="ais-SearchBox-input"> <button type="submit" title="Search" class="ais-SearchBox-submit"><svg role="img" xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 40 40"
class="ais-SearchBox-submitIcon">
<path
d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z"
fillrule="evenodd"></path>
</svg></button> <button type="reset" title="Clear" hidden="hidden" class="ais-SearchBox-reset"><svg role="img" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20" class="ais-SearchBox-resetIcon">
<path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z" fillrule="evenodd"></path>
</svg></button> <!----></form>
Text Content
About Libraries API GitHub Status 1. Home 2. API Documentation CDNJS PROVIDES A SIMPLE API TO ALLOW ANYONE TO QUICKLY QUERY THE LIBRARIES WE HAVE ON THE CDN. We provide two main endpoints, the libraries endpoint which allows anyone to search through the full set of libraries we offer, and the libraries/:library endpoint which allows for detailed data to be ascertained for a specific library. * Endpoints * Browsing all libraries on cdnjs * Getting a specific library on cdnjs * Getting a specific version for a library on cdnjs * Listing all tutorials for a library on cdnjs * Getting a specific tutorial for a cdnjs library * Fetch details about the cdnjs file extension whitelist * Fetch basic statistics for cdnjs * Error responses from the cdnjs API BROWSING ALL LIBRARIES ON CDNJS The /libraries endpoint will return a JSON object with three top-level properties. This API endpoint can also be used to search cdnjs for libraries, by making use of the optional search URL query parameter. The cache lifetime on this endpoint is six hours. QUERY PARAMETERS Parameter Type Required Description search string optional The value to use when searching the libraries index on cdnjs. Libraries will not be ranked by search relevance when they are returned, they will be ranked using the same ranking as when no search query is provided. This ranking is done by Algolia and is primarily based on the number of stars each library's associated GitHub repo has. fields comma-separated string optional Provide a comma-separated string of fields to return in each library object from the cdnjs Algolia index. name and latest will always be present in every object. Any field requested that does not exist will be included in each object with a null value. Currently, the following fields (case-sensitive) are published in the Algolia index for each library and can be requested via this parameter: filename, description, version, keywords, alternativeNames, fileType, github, objectID, license, homepage, repository, author, originalName, sri. The available fields are based on the SearchEntry structure in our tools repo. search_fields comma-separated string optional Provide a comma-separated string of fields to be considered when searching for a given search query parameter. Not all fields are supported for this, any unsupported fields given will be silently ignored. Currently, the following fields (case-sensitive) are supported: name, alternativeNames, github. repo, description, keywords, filename, repositories. url, github. user, maintainers. name. The supported fields are controlled by our Algolia settings and are mirrored in the API server libraries route logic. limit integer optional Limit the number of library objects that are returned in the results array. This value will be reflected in the total top-level property, but the available property will return the full number with no limit applied. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description results array<object> This property will contain an object for every library that cdnjs has available. results[].name string This will be the full name of the library, as stored on cdnjs. results[].latest string This will be the URL of the default file on the latest version of the library. It is important to note that this URL is based on the latest version number of the library and the default file name configured, there is no validation in place to ensure that this URL will actually serve a valid asset. results[].filename optional string The will be the name of the default file for the library. There is no validation that this file actually exists in each version of the library. results[].description optional string The description of the library if it has been provided in the cdnjs package JSON file. results[].version optional string The latest version of the library that is available on cdnjs. results[].keywords optional nullable array<string> An array of keywords provided in the cdnjs package JSON for the library. results[].alternativeNames optional array<string> An array of other names that might be used for the library. These cannot be substituted for the actual library name when navigating the cdnjs API and website. results[].fileType optional string The file type (extension) for the default file defined for the library in the cdnjs package JSON. results[].github optional nullable object Some meta data from the relevant GitHub repository for the library, if available and configured in the cdnjs package JSON for the library. results[].github.user optional string The username or organisation name for the repository on GitHub. results[].github.repo optional string The name of the repository on GitHub. The full repository name can be constructed in the form user/repo. results[].github.stargazers_count optional integer The number of stars that the repository has on GitHub. results[].github.forks optional integer The number of forks the repository currently has (at time of indexing) on GitHub. results[].github.subscribers_count optional integer The number of users on GitHub who are watching the repository. results[].objectID optional string The ID used internally within Algolia to track this entry, this will be the name of the library as seen on cdnjs. results[].license optional string The license defined for the library on cdnjs, as a string. If the library has a custom license, it may not be shown here. results[].homepage optional string A link to the homepage of the package, if one is defined in the cdnjs package JSON file. Normally, this is either the package repository or the package website. results[].repository optional nullable object The repository for the library, if known, in standard repository format. results[].repository.type optional string The type of repository for the library, normally git. results[].repository.url optional string The url for repository associated with the library, if provided in the library's cdnjs package JSON file. results[].author optional string The attributed author for the library, as defined in the cdnjs package JSON file for this library. results[].originalName optional string If the library on cdnjs was every renamed, this value will contain the original name for this library. If it hasn't been renamed, this value will match the current name. results[].sri optional string The SRI hash value for the file provided in the latest property, if it exists and is valid (i.e. if the SRI hash could be calculated for it). total integer The total number of libraries returned in the request. available integer If a limit query parameter is given, this will be the total number of libraries available if no limit is given. If no limit parameter is given, this will match the total property. This endpoint is directly powered by our Algolia index, the same one that is used on this website for the search box at the top and on the Libraries page . EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES Raw Formatted {"results":[{"name":"vue","latest":"https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js"},{"name":"react","latest":"https://cdnjs.cloudflare.com/ajax/libs/react/16.13.1/umd/react.production.min.js"},{"name":"react-dom","latest":"https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.1/umd/react-dom.production.min.js"},{"name":"react-is","latest":"https://cdnjs.cloudflare.com/ajax/libs/react-is/16.13.1/umd/react-is.production.min.js"},{"name":"twitter-bootstrap","latest":"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.0/js/bootstrap.min.js"},{"name":"d3","latest":"https://cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.min.js"},{"name":"axios","latest":"https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js"},{"name":"animate.css","latest":"https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css"},{"name":"font-awesome","latest":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css"}, "..."],"total":3606,"available":3606} Example response has been trimmed to remove items in the results array. HTTPS://API.CDNJS.COM/LIBRARIES?SEARCH=JQUERY Raw Formatted {"results":[{"name":"jquery","latest":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"},{"name":"jquery-compat","latest":"https://cdnjs.cloudflare.com/ajax/libs/jquery-compat/3.0.0-alpha1/jquery.min.js"},{"name":"blueimp-file-upload","latest":"https://cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/10.23.0/js/jquery.fileupload.min.js"},{"name":"fullPage.js","latest":"https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/3.0.8/fullpage.min.css"},{"name":"select2","latest":"https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/js/select2.min.js"},{"name":"chosen","latest":"https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js"},{"name":"cheerio","latest":"https://cdnjs.cloudflare.com/ajax/libs/cheerio/1.0.0-rc.3/index.js"},{"name":"Sortable","latest":"https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.10.1/Sortable.min.js"}, "..."],"total":865,"available":865} Example response has been trimmed to remove items in the results array. HTTPS://API.CDNJS.COM/LIBRARIES?SEARCH=VUE&FIELDS=FILENAME,DESCRIPTION,VERSION,GITHUB&LIMIT=3 Raw Formatted {"results":[{"name":"vue","latest":"https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js","filename":"vue.min.js","description":"Simple, Fast & Composable MVVM for building interactive interfaces","version":"2.6.11","github":{"user":"vuejs","repo":"vue","stargazers_count":163564,"forks":24743,"subscribers_count":6145}},{"name":"element-ui","latest":"https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.13.1/index.js","filename":"index.js","description":"A Component Library for Vue.js.","version":"2.13.1","github":{"user":"ElemeFE","repo":"element","stargazers_count":45141,"forks":10399,"subscribers_count":1378}},{"name":"vuetify","latest":"https://cdnjs.cloudflare.com/ajax/libs/vuetify/2.3.0-beta.4/vuetify.min.js","filename":"vuetify.min.js","description":"Vue.js 2 Semantic Component Framework","version":"2.3.0-beta.4","github":{"user":"vuetifyjs","repo":"vuetify","stargazers_count":25230,"forks":4186,"subscribers_count":575}}],"total":3,"available":53} GETTING A SPECIFIC LIBRARY ON CDNJS The /libraries/:library endpoint allows for data on a specific library to be requested and will return a JSON object with all library data properties by default. The cache lifetime on this endpoint is six hours. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return in the library object. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description name string This will be the full name of the library, as stored on cdnjs. latest string This will be the URL of the default file on the latest version of the library. It is important to note that this URL is based on the latest version number of the library and the default file name configured, there is no validation in place to ensure that this URL will actually serve a valid asset. sri string The SRI hash value for the file provided in the latest property, if it exists and is valid (i.e. if the SRI hash could be calculated for it). filename string This will be the name of the default file for the library. If not defined in the package's JSON file, this will be an empty string There is no validation that this file actually exists in each version of the library. version string The latest version of the library that is available on cdnjs. description string The description of the library if it has been provided in the cdnjs package JSON file. homepage optional string A link to the homepage of the package, if one is defined in the cdnjs package JSON file. Normally, this is either the package repository or the package website. If the library has no defined homepage, this property will be omitted (unless requested via fields explicitly, then it will be null). keywords nullable array<string> An array of keywords provided in the cdnjs package JSON for the library. repository nullable object The repository for the library, if known, in standard repository format. repository.type string The type of repository for the library, normally git. repository.url string The url for repository associated with the library, if provided in the library's cdnjs package JSON file. license optional string The license defined for the library on cdnjs, as a string. If the library has a custom license, it may not be shown here. If the library has no defined licenses in its cdnjs package JSON file, this property may be omitted (if explicitly requested via fields, it will be null). author nullable string The attributed author for the library, as defined in the cdnjs package JSON file for this library. autoupdate optional object The auto-update configuration for the library, from the library's package JSON file on cdnjs. If the library has no auto-update configuration, this property will not be present (unless explicitly requested with fields, then it will be null). autoupdate.type optional string The source type of auto-update begin used for the library, either git or npm. This may be replaced with the source property in some responses. autoupdate.source optional string This property is the same as type but may be present in some responses instead of type. autoupdate.target string The target for the auto-update configuration. If git, this should be a valid git URL, if npm this will be a package name from the NPM package repository. assets array<object> An array containing an object for each version of the library that cdnjs has available. assets[].version string The version identifier for this version of the library on cdnjs. This may, or may not, be valid semver. assets[].files array<string> The files available for this version of the library on the cdnjs CDN. This array of files is filtered by our CDN whitelist, so all these files will be available for use on our CDN. assets[].rawFiles array<string> All the files that cdnjs has for this version of the library, irrespective of if they will be available on the CDN. This array of files ignores the whitelist filter, which means some files may not be available on the CDN if their extensions aren't whitelisted. assets[].sri object map<string, string> This object will contain a key for each file that cdnjs could calculate an SRI hash for, with the value being the SRI hash. versions array<string> An array containing all the versions from assets without the files. tutorials array<object> An array that houses all tutorials that cdnjs has for this library, from the cdnjs/tutorials GitHub repository. Alongside the properties listed here, there may be other optional properties available based on the metadata available in each source tutorial file. tutorials[].id string The slug/identifier for the tutorial, based on the filename of the tutorial in cdnjs/tutorials. This is the id that should be used when accessing the /libraries/:library/tutorials/:tutorial API endpoint. tutorials[].modified string The timestamp of when the tutorial was last modified, in ISO 8601 format. This is based on the last commit that touched the tutorial in cdnjs/tutorials. tutorials[].name string The title/name for the tutorial. tutorials[].content string The raw markdown content for the tutorial. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES/VUE?FIELDS=NAME,AUTHOR,DESCRIPTION,FILENAME,SRI,VERSION,REPOSITORY,AUTOUPDATE Raw Formatted {"name":"vue","author":"Evan You <yyx990803@gmail.com>","description":"Simple, Fast & Composable MVVM for building interactive interfaces","filename":"vue.min.js","sri":"sha256-ngFW3UnAN0Tnm76mDuu7uUtYEcG3G5H1+zioJw3t+68=","version":"2.6.11","repository":{"type":"git","url":"https://github.com/vuejs/vue.git"},"autoupdate":{"source":"npm","target":"vue"}} HTTPS://API.CDNJS.COM/LIBRARIES/REACT?FIELDS=NAME,DESCRIPTION,TUTORIALS Raw Formatted {"name":"react","description":"React is a JavaScript library for building user interfaces.","tutorials":[{"id":"universal-react-apps","modified":"2017-09-05T17:31:26.000Z","author":{"name":"Ahmed Bouchefra","email":"techiediaries9@gmail.com","description":"Web developer, technical writer and entrepreneur","homepage":"https://www.techiediaries.com","twitter":"techiediaries"},"description":"This tutorial will cover how to use React and Next.js to build a simple universal web app.","homepage":"https://www.techiediaries.com","keywords":["react","nextjs","universal"],"library-tags":["react","nextjs"],"name":"Building Universal Server Rendered Apps with React and Next.js 3.0","repository":"https://github.com/techiediaries","content":"\n## Introduction\n\nNext.js is a framework for quickly building universal (also called Isomorphic) server-rendered web apps with\nReact. In this tutorial you will learn essential concepts of server-rendered React apps by creating a demo app with Next.js.\n\nBuilding apps with Next.js is simple. You just create a <em>pages</em> directory and place React components in it.\nNext.js will take care of everything else.\n\nThis tutorial was originally published in [techiediaries](https://www.techiediaries.com/universal-react-apps-nextjs/)\n\nNow let's get started\n\nFirst we need to install the required tools:\n\n## Installing Next.js 2.0\n\nYou can install Next.js 2.0 via npm with:\n\n npm install --save next react react-dom\n\n## Installing Next.js 3.0\n\nNext.js 3.0 is still in beta, you can also install it via npm with:\n\n npm install next@beta react react-dom --save\n\n## Adding NPM Scripts to package.json\n\nBuilding apps with Next.js is a matter of using three commands:\n\n next\n next build\n next start\n\nSo lets add NPM scripts to trigger these commands:\n\n \"scripts\": {\n \"dev\": \"next\",\n \"build\": \"next build\",\n \"start\": \"next start\"\n },\n\n## Adding Pages\n\nTo create pages you first need to create a pages directory:\n\n mkdir pages\n\n### Adding the Home Page\n\nCreate an index.js file inside pages folder and put this content in it:\n\n import Link from 'next/link'\n export default () => (\n <div>\n <Link href='/'><a>Home</a></Link> -\n <Link href='/about'><a>About Me</a></Link> -\n <Link href='/contact'><a>Contact</a></Link>\n <br></br>\n <p>This is the home page</p>\n\n </div>\n )\n\n### Adding the About Page\n\nNext create an about.js file inside pages folder then put the following content:\n\n import Link from 'next/link'\n export default () => (\n <div>\n <Link href='/'><a>Home</a></Link> -\n <Link href='/about'><a>About Me</a></Link> -\n <Link href='/contact'><a>Contact</a></Link>\n <br></br>\n <p>This is about page</p>\n </div>\n )\n\n### Adding the Contact Page\n\nAdd contact.js file inside pages folder then put the following:\n\n import Link from 'next/link'\n export default () => (\n <div>\n <Link href='/'><a>Home</a></Link> -\n <Link href='/about'><a>About Me</a></Link> -\n <Link href='/contact'><a>Contact</a></Link>\n <br></br>\n <p>This is the contact page</p>\n\n </div>\n )\n\nNow you can launch next with:\n\n npm run dev\n\nYour app will be available from [http://localhost:3000](http://localhost:3000).\n\nAs you can see the names of files inside pages directory become the routes except for / which points to index.js\n\n## Conclusion\n\nUniversal apps become very popular in these days and thanks to React and Next.js you can build them in a matter\nof a few commands.\n\nThanks for reading!\n"}]} HTTPS://API.CDNJS.COM/LIBRARIES/JQUERY?FIELDS=ASSETS,VERSIONS Raw Formatted {"assets":[{"version":"3.5.1","files":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"rawFiles":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"sri":{"jquery.js":"sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=","jquery.min.js":"sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=","jquery.slim.js":"sha256-DrT5NfxfbHvMHux31Lkhxg42LY6of8TaYyK50jnxRnM=","jquery.slim.min.js":"sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs="}},{"version":"3.5.0","files":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"rawFiles":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"sri":{"jquery.js":"sha256-r/AaFHrszJtwpe+tHyNi/XCfMxYpbsRg2Uqn0x3s2zc=","jquery.min.js":"sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=","jquery.slim.js":"sha256-sCexhaKpAfuqulKjtSY7V9H7QT0TCN90H+Y5NlmqOUE=","jquery.slim.min.js":"sha256-MlusDLJIP1GRgLrOflUQtshyP0TwT/RHXsI1wWGnQhs="}}, "..."],"versions":["3.5.1","3.5.0","3.4.1","3.4.0","3.3.1","3.3.0","3.2.1","3.2.0","3.1.1","3.1.0","3.0.0","3.0.0-rc1","3.0.0-beta1","3.0.0-alpha1","2.2.4","2.2.3","2.2.2","2.2.1","2.2.0","2.1.4","2.1.3","2.1.2","2.1.1","2.1.1-rc2","2.1.1-rc1","2.1.1-beta1","2.1.0","2.1.0-rc1","2.1.0-beta3","2.1.0-beta2","2.0.3","2.0.2","2.0.1","2.0.0","1.12.4","1.12.3","1.12.2","1.12.1","1.12.0","1.11.3","1.11.2","1.11.1","1.11.1-rc2","1.11.1-rc1","1.11.1-beta1","1.11.0","1.11.0-rc1","1.11.0-beta3","1.10.2","1.10.1","1.10.0","1.9.1","1.9.0","1.8.3","1.8.2","1.8.1","1.8.0","1.7.2","1.7.1","1.6.4","1.6.3","1.6.2","1.6.1","1.5.1","1.4.4","1.4.3","1.4.2","1.4.1","1.4.0","1.3.2","1.3.1","1.3.0","1.2.6","1.2.3","1.7"]} Example response has been trimmed to remove items in the assets array. GETTING A SPECIFIC VERSION FOR A LIBRARY ON CDNJS The /libraries/:library/:version endpoint returns a JSON object with details specific to a requested version of a library on cdnjs. The cache lifetime on this endpoint is 355 days, identical to the CDN. The response is also marked as immutable, as a version on cdnjs will never change once published. cdnjs only allows access to specific versions of a library, and these are considered immutable. Access to tags for a library, such as latest, is not supported as these have a mutable definition, which would go against what cdnjs aims to provide with long-life caching on responses and SRI hashes. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return in the library version object. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description name string This will be the full name of the library, as stored on cdnjs. version string The version of the library that has been requested. This should match the version requested in the URL. files array<string> The files available for this version of the library on the cdnjs CDN. This array of files is filtered by our CDN whitelist, so all these files will be available for use on our CDN. rawFiles array<string> All the files that cdnjs has for this version of the library, irrespective of if they will be available on the CDN. This array of files ignores the whitelist filter, which means some files may not be available on the CDN if their extensions aren't whitelisted. sri object map<string, string> This object will contain a key for each file that cdnjs could calculate an SRI hash for, with the value being the SRI hash. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES/JQUERY/3.5.1 Raw Formatted {"name":"jquery","version":"3.5.1","rawFiles":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"files":["jquery.js","jquery.min.js","jquery.min.map","jquery.slim.js","jquery.slim.min.js","jquery.slim.min.map"],"sri":{"jquery.js":"sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=","jquery.min.js":"sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=","jquery.slim.js":"sha256-DrT5NfxfbHvMHux31Lkhxg42LY6of8TaYyK50jnxRnM=","jquery.slim.min.js":"sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs="}} HTTPS://API.CDNJS.COM/LIBRARIES/VUE/2.6.11?FIELDS=FILES,SRI Raw Formatted {"files":["vue.common.dev.js","vue.common.js","vue.common.prod.js","vue.esm.browser.js","vue.esm.browser.min.js","vue.esm.js","vue.js","vue.min.js","vue.runtime.common.dev.js","vue.runtime.common.js","vue.runtime.common.prod.js","vue.runtime.esm.js","vue.runtime.js","vue.runtime.min.js"],"sri":{"vue.common.dev.js":"sha256-soI/D3XnqcarOMK229d8GWs8P+gYViEsbWBeMaRoSPk=","vue.common.js":"sha256-G3CZay/nob7tG4ai5FI/O2sYakyatJ+0uknDnG3PSOc=","vue.common.prod.js":"sha256-L5CcYf/nJAyrA48AanDrEMdYitv4IL63aLL2geeCbEg=","vue.esm.browser.js":"sha256-HZGk4wNx/Sr9icBC5/ICwETaEvUvlcfCFwV0A4FgcU4=","vue.esm.browser.min.js":"sha256-2vv0EVENz4Azm6KkclYqEr1Hlk1GTTle9oFlZzBmdg0=","vue.esm.js":"sha256-ZbWf3bBKhQRGjg6NxSziPDQQrdPVIEp3yTYKQuMDBNk=","vue.js":"sha256-NSuqgY2hCZJUN6hDMFfdxvkexI7+iLxXQbL540RQ/c4=","vue.min.js":"sha256-ngFW3UnAN0Tnm76mDuu7uUtYEcG3G5H1+zioJw3t+68=","vue.runtime.common.dev.js":"sha256-K1I+V5ATCKkhmeLuhXPLi6MJ6baIMq63AdKfLr1to5o=","vue.runtime.common.js":"sha256-iPf9+Ogi9Q0ERtzOtUPfBttEZT7SGb3l/9LAldqDJmQ=","vue.runtime.common.prod.js":"sha256-Tj24teFUOrMRvvqrKP0Td42X/kbj/SJfgjTenZuIjJ8=","vue.runtime.esm.js":"sha256-R/wILGaOjQG2P8U21mBPH0uRyRIfF4xXW49y0buxBmo=","vue.runtime.js":"sha256-ry9SZACrXbOKzkD0/qM/0Z+ELi24EcrhwFgKF2cTuUQ=","vue.runtime.min.js":"sha256-vT4XcKWLfaGor0IJgp3nAOzlVh3B29yLJ7paM+bYgao="}} LISTING ALL TUTORIALS FOR A LIBRARY ON CDNJS The /libraries/:library/tutorials endpoint returns a JSON array containing all the user-submitted tutorials relating to this library on cdnjs. This is a mirror of the tutorials property returned from the main library endpoint. The cache lifetime on this endpoint is 24 hours. Alongside the properties listed here, there may be other optional properties available based on the metadata available in each source tutorial file. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return for each tutorial object in the array. The id property will always be present in every object to allow for identification of each tutorial in the array. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description [].id string The slug/identifier for the tutorial, based on the filename of the tutorial in cdnjs/tutorials. This is the id that should be used when accessing the /libraries/:library/tutorials/:tutorial API endpoint. [].modified string The timestamp of when the tutorial was last modified, in ISO 8601 format. This is based on the last commit that touched the tutorial in cdnjs/tutorials. [].created string The timestamp of when the tutorial was first published, in ISO 8601 format. This is based on the first commit where the tutorial was added in cdnjs/tutorials. [].name string The title/name for the tutorial. [].content string The raw markdown content for the tutorial. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES/VUE/TUTORIALS Raw Formatted [{"id":"wtf-is-vuex","modified":"2017-05-29T04:18:13.000Z","author":{"name":"Anthony","email":"anthony@vuejsdevelopers.com","description":"Web developer, author and online course instructor with Vue.js Developers","homepage":"http://vuejsdevelopers.com","twitter":"https://twitter.com/vuejsdevelopers"},"description":"Vuex is one of the most useful tools in the Vue.js ecosystem, but it can be very confusing at first. I've written this primer on Vuex to give you the background that I wish I'd had.","homepage":"http://vuejsdevelopers.com","keywords":["vue.js","vuex"],"library-tags":["vue.js","vuex"],"name":"WTF is Vuex? A Beginner's Guide To Vue's Application Data Store","repository":"https://github.com/vuejsdevelopers","content":"Vuex. Is it pronounced “vewks”, or “veweks”? Or maybe it’s meant to be “vew”, pronounced with a French-style silent “x”?\n\nMy trouble with understanding Vuex only began with the name.\n\nBeing an eager Vue developer I’d heard enough about Vuex to suspect that it must be an important part of the Vue ecosystem, even if I didn’t know what it actually was.\n\nI eventually had enough of wondering, so I went to the documentation with plans of a brief skim through; just enough to get the idea.\n\nTo my chagrin I was greeted with unfamiliar terms like “state management pattern”, “global singleton” and “source of truth”. These terms may make sense to anyone already familiar with the concept, but for me they didn’t gel at all.\n\nThe one thing I did get, though, was that Vuex had something to do with Flux and Redux. I didn’t know what those were either, but I figured it may help if I investigated them first.\n\nAfter a bit of research and persistence the concepts behind the jargon finally started to materialise in my mind. I was getting it. I went back to the Vuex documentation and it finally hit me…Vuex is freaking awesome!\n\nI’m still not quite sure how to pronounce it, but Vuex has become an essential piece in my Vue.js toolbelt. I think it’s totally worth your time to check it out too, so I’ve written this primer on Vuex to give you the background that I wish I’d had.\n\nNote: This article was originally posted [here on the Vue.js Developers blog](http://vuejsdevelopers.com/2017/05/15/vue-js-what-is-vuex/?jsdojo_id=cjs_wfv) on 2017/05/15 ..."}] Example response has been trimmed to remove text from tutorial content. HTTPS://API.CDNJS.COM/LIBRARIES/BACKBONE.JS/TUTORIALS?FIELDS=NAME,MODIFIED Raw Formatted [{"id":"cross-domain-sessions","name":"Cross-domain Backbone.js with sessions using CORS","modified":"2017-09-05T17:41:17.000Z"},{"id":"infinite-scrolling","name":"Lightweight Infinite Scrolling using Twitter API","modified":"2017-09-05T17:41:17.000Z"},{"id":"nodejs-restify-mongodb-mongoose","name":"Simple example - Node.js, Restify, MongoDb and Mongoose ","modified":"2017-09-05T17:41:17.000Z"},{"id":"organizing-backbone-using-modules","name":"Organizing your application using Modules (require.js)","modified":"2017-09-05T17:41:17.000Z"},{"id":"real-time-backbone-with-pubnub","name":"Real-Time Backbone With PubNub","modified":"2018-07-28T08:54:41.000Z"},{"id":"seo-for-single-page-apps","name":"SEO for single page apps","modified":"2017-09-05T17:41:17.000Z"},{"id":"what-is-a-collection","name":"What is a collection?","modified":"2017-09-05T17:41:17.000Z"},{"id":"what-is-a-model","name":"What is a model?","modified":"2017-09-05T17:41:17.000Z"},{"id":"what-is-a-router","name":"What is a router?","modified":"2017-09-05T17:41:17.000Z"},{"id":"what-is-a-view","name":"What is a view?","modified":"2017-09-05T17:41:17.000Z"},{"id":"why-would-you-use-backbone","name":"Why do you need Backbone.js?","modified":"2017-09-05T17:41:17.000Z"}] GETTING A SPECIFIC TUTORIAL FOR A CDNJS LIBRARY The /libraries/:library/tutorials/:tutorial endpoint returns a JSON object containing metadata and the content of a specified user-submitted tutorial relating to the specified library hosted on cdnjs. The cache lifetime on this endpoint is 2 weeks. Alongside the properties listed here, there may be other optional properties available based on the metadata available in each source tutorial file. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return for the tutorial object. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description id string The slug/identifier for the tutorial, based on the filename of the tutorial in cdnjs/tutorials. modified string The timestamp of when the tutorial was last modified, in ISO 8601 format. This is based on the last commit that touched the tutorial in cdnjs/tutorials. created string The timestamp of when the tutorial was first published, in ISO 8601 format. This is based on the first commit where the tutorial was added in cdnjs/tutorials. name string The title/name for the tutorial. content string The raw markdown content for the tutorial. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES/VUE/TUTORIALS/WTF-IS-VUEX Raw Formatted {"id":"wtf-is-vuex","modified":"2017-05-29T04:18:13.000Z","author":{"name":"Anthony","email":"anthony@vuejsdevelopers.com","description":"Web developer, author and online course instructor with Vue.js Developers","homepage":"http://vuejsdevelopers.com","twitter":"https://twitter.com/vuejsdevelopers"},"description":"Vuex is one of the most useful tools in the Vue.js ecosystem, but it can be very confusing at first. I've written this primer on Vuex to give you the background that I wish I'd had.","homepage":"http://vuejsdevelopers.com","keywords":["vue.js","vuex"],"library-tags":["vue.js","vuex"],"name":"WTF is Vuex? A Beginner's Guide To Vue's Application Data Store","repository":"https://github.com/vuejsdevelopers","content":"Vuex. Is it pronounced “vewks”, or “veweks”? Or maybe it’s meant to be “vew”, pronounced with a French-style silent “x”?\n\nMy trouble with understanding Vuex only began with the name.\n\nBeing an eager Vue developer I’d heard enough about Vuex to suspect that it must be an important part of the Vue ecosystem, even if I didn’t know what it actually was.\n\nI eventually had enough of wondering, so I went to the documentation with plans of a brief skim through; just enough to get the idea.\n\nTo my chagrin I was greeted with unfamiliar terms like “state management pattern”, “global singleton” and “source of truth”. These terms may make sense to anyone already familiar with the concept, but for me they didn’t gel at all.\n\nThe one thing I did get, though, was that Vuex had something to do with Flux and Redux. I didn’t know what those were either, but I figured it may help if I investigated them first.\n\nAfter a bit of research and persistence the concepts behind the jargon finally started to materialise in my mind. I was getting it. I went back to the Vuex documentation and it finally hit me…Vuex is freaking awesome!\n\nI’m still not quite sure how to pronounce it, but Vuex has become an essential piece in my Vue.js toolbelt. I think it’s totally worth your time to check it out too, so I’ve written this primer on Vuex to give you the background that I wish I’d had.\n\nNote: This article was originally posted [here on the Vue.js Developers blog](http://vuejsdevelopers.com/2017/05/15/vue-js-what-is-vuex/?jsdojo_id=cjs_wfv) on 2017/05/15. ..."} Example response has been trimmed to remove text from tutorial content. HTTPS://API.CDNJS.COM/LIBRARIES/BACKBONE.JS/TUTORIALS/CROSS-DOMAIN-SESSIONS?FIELDS=ID,NAME,MODIFIED,AUTHOR Raw Formatted {"id":"cross-domain-sessions","name":"Cross-domain Backbone.js with sessions using CORS","modified":"2017-09-05T17:41:17.000Z","author":{"name":"Thomas Davis","email":"thomasalwyndavis@gmail.com","description":"I work with a few open source projects and also work in the drone industry","homepage":"https://ajaxdavis.com/","github":"thomasdavis","twitter":"ajaxdavis"}} Example includes fetching an extra, undocumented field (author) from this tutorial's metadata. FETCH DETAILS ABOUT THE CDNJS FILE EXTENSION WHITELIST The /whitelist endpoint returns a JSON object containing a list of extensions permitted on the CDN as well as categories for those extensions. The cache lifetime on this endpoint is 6 hours. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return from the available whitelist data. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description extensions array<string> The full list of file extensions that are whitelisted on the CDN, allowing files with these extensions to be available. categories object map<string, string> An object that maps each whitelisted extension to a category, used for sorting files on the cdnjs website. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/WHITELIST Raw Formatted {"extensions":["js","ts","wasm","map","swf","json","css","scss","png","gif","jpg","jpeg","svg","webp","cur","ttf","eot","woff","woff2","otf","aac","mp3","ogg","lang","hpb"],"categories":{"js":"JavaScript","ts":"TypeScript","wasm":"WebAssembly","map":"Source Maps","swf":"Flash","json":"JSON","css":"Styling","scss":"Styling","png":"Images","gif":"Images","jpg":"Images","jpeg":"Images","svg":"Images","webp":"Images","cur":"Images","ttf":"Fonts","eot":"Fonts","woff":"Fonts","woff2":"Fonts","otf":"Fonts","aac":"Audio","mp3":"Audio","ogg":"Audio","lang":"Other","hpb":"Other"}} FETCH BASIC STATISTICS FOR CDNJS The /stats endpoint returns a JSON object containing a set of statistics relating to cdnjs. The cache lifetime on this endpoint is 6 hours. QUERY PARAMETERS Parameter Type Required Description fields comma-separated string optional Provide a comma-separated string of fields to return from the available whitelist data. output string optional Use the output value human to receive the JSON results in pretty print format, presented on a HTML page. JSON RESPONSE Property Type Description libraries integer The total number of libraries available on cdnjs and on the API. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/STATS Raw Formatted {"libraries":3909} ERROR RESPONSES FROM THE CDNJS API All errors generated by using the cdnjs API will return with a unified structure for easy detection & processing. They will return a JSON object containing the error status code as well as a message explaining the error. The HTTP response code will also reflect the error. 404 error responses will have a 1 hour cache lifetime, all other errors (5xx etc.) have no cache lifetime set. JSON RESPONSE Property Type Description error boolean This will always be set to true to indicate that an error has occurred. status integer The status code for the error, which should be identical to the HTTP response status code. message string A message explaining what error has occurred. EXAMPLE REQUESTS HTTPS://API.CDNJS.COM/LIBRARIES/THIS-LIBRARY-DOESNT-EXIST Raw Formatted {"error":true,"status":404,"message":"Library not found"} HTTPS://API.CDNJS.COM/LIBRARIES/BACKBONE.JS/TUTORIALS/THIS-TUTORIAL-DOESNT-EXIST Raw Formatted {"error":true,"status":404,"message":"Tutorial not found"} HTTPS://API.CDNJS.COM/THIS-ROUTE-DOESNT-EXIST Raw Formatted {"error":true,"status":404,"message":"Endpoint not found"} Help support cdnjs You can contribute on GitHub to help make cdnjs sustainable! Or, donate $5 to cdnjs via Open Collective or Patreon. © 2021 cdnjs. About About Us Swag Store Community Discussions OpenCollective Patreon CDN Network Map Libraries Search Libraries API Documentation Status Status Page cdnjsStatus on Twitter Sponsors Cloudflare Algolia DigitalOcean StatusPage Sentry Lean20