If your project is on npm, it's already on unpkg. The beauty of unpkg is that it requires no additional work for a library author to maintain. unpkg, in turn, un-packages that tarball, and caches the files to its store. The files are already there on npm, but not directly accessible. Every time you publish a version of a library to npm, it saves that version's files to the npm registry as a tarball. unpkg is built on top of the npm registry (and originally named "npmcdn"). Unpkg was just the solution to overcome CDNJS woes. It could never completely graduate from it. Personally, I am unable to actually work on the repo because of these issues of scale.ĬDNJS was created in a previous era, before semver, before npm. Due to the vast amount of files that have been tracked over the years, the repo is vulnerable to bizarre git errors, like this case sensitive bug across operating systems. While git provided a solid mechanism for tracking changes across its libraries, the repo became unwieldy when containing thousands of projects. Any developer can commit their library's files to the CDNJS repo to have them hosted. CDNJS' array of libraries is managed via git. Ultimately, CDNJS' popularity and core structure led to its biggest pain points. In a peculiar move, CDNJS adopted Google's URL pattern. Google's CDN still exists to this today as Google Hosted Libraries. Prior to CDNJS, Google was the key JS CDN player, who only hosted the top tier libraries of the day - jQuery, Dojo, etc. Library developers finally had a centralized place where they could host their files for wide-spread usage. The rise & fall of CDNJSĬDNJS was a blessing when it first came out. In my own work, I use CDN files for CodePen demos. Developers can point directly to the CDN files and getting started coding. They allow any developer to use external files without having to download and host them. Last year I switched all of Metafizzy's CDN links from CDNJS to unpkg.įor front-end libraries, CDNs are external sites that host and deliver library JavaScript and CSS files.
0 Comments
Leave a Reply. |