August 3, 2020
Luca Casonato
The goal of deno.land/x has been to provide a central location for third party Deno modules consistent with how Deno operates. We want people to be able to copy and paste source code URLs like https://deno.land/x/oak/mod.ts directly into the browser and be able to view marked up source code and have links to auto-generated documentation.
Today we are releasing a rewrite of the deno.land/x service that solves many long standing issues like rate limits on the GitHub API and providing immutable source code downloads (like on crates.io).
The way the website currently works is by querying github in the background to receive source code. This worked okay, but we would hit API limits, and the code could change out from under users. The change we settled on would be to keep a copy of any published code ourselves, so we could ensure content availability and integrity.
We settled on a design where we provide a webhook, which when integrated into your repository, will save an immutable version of any git tagged code.
https://deno.land/std@BRANCH
will not work anymore, only
tagged commits like https://deno.land/std@0.63.0
.If you only consume modules from deno.land/x you should see very few functional differences. Downloads and navigating through files/folders on the website should be faster, and all modules now display their GitHub star count.
If you are the author of a module, there are a few things you need to do:
We will remove all modules that don't publish a tag within 30 days of adding the webhook.
With this new architecture we have the possibility to add all kinds of features. Here are a few that we have planned:
deno lint
, deno fmt
, deno doc
and type checking produce
no errorsIf you have any comments or feedback, please open an issue on the deno_registry2 repository or come chat on the Deno Discord.