惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
Vercel News
Vercel News
Last Week in AI
Last Week in AI
罗磊的独立博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
美团技术团队
U
Unit 42
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
J
Java Code Geeks
V
V2EX
量子位
腾讯CDC
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
L
LangChain Blog
C
Check Point Blog

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno
Updates to deno.land/x | Deno
Luca Casonat · 2020-08-03 · via Deno

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).

Goals

  • Make source code immutable.
  • Remove the GitHub API rate limits on the website.
  • Remove the need to manually update database.json to add modules.

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.

Changes

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.

  • Source code is no longer fetched from raw.githubusercontent.com but rather from our S3 bucket, where we can preserve it forever.
  • Publishing modules works through a Webhook now, rather than by opening a PR on the deno_website2 repository.
  • You can not import from arbitrary commits or branches anymore, only tags / releases. Example: https://deno.land/std@BRANCH will not work anymore, only tagged commits like https://deno.land/std@0.63.0.
  • All files served from the registry are immutable. They can not be changed or removed by the package author.

How does this affect you?

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:

  1. Add a GitHub Webhook to your repository. You can find instructions for how to do so on https://deno.land/x by pressing the “Add a module” button.
  2. If you do not have any Git tags in your repository, please create a tag. Only tagged versions are published on deno.land/x.

We will remove all modules that don’t publish a tag within 30 days of adding the webhook.

Future plans

With this new architecture we have the possibility to add all kinds of features. Here are a few that we have planned:

  1. Display download counts for all modules
  2. Give all modules a score based on how well their module is maintained
    • verify that deno lint, deno fmt, deno doc and type checking produce no errors
    • are dependencies pinned to specific version
    • does the module have a LICENCE, README.md
  3. Display dependencies of modules on the site
  4. Serve a JS (type stripped) version of all TypeScript files in a module, to be imported directly from a web browser

If you have any comments or feedback, please open an issue on the deno_registry2 repository or come chat on the Deno Discord.