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

推荐订阅源

J
Java Code Geeks
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
Jina AI
Jina AI
博客园_首页
M
MIT News - Artificial intelligence
D
DataBreaches.Net
L
LangChain Blog
宝玉的分享
宝玉的分享
F
Fortinet All Blogs
A
About on SuperTechFans
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
腾讯CDC
Vercel News
Vercel News
雷峰网
雷峰网
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】

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.