denoland/denokv

denoland/denokvというリポジトリが公開されています。

今後、Deno KVのSQLiteバックエンドやgRPCのスキーマの定義などはこのリポジトリで開発される想定のようです。

現在、Deno本体ではdenoland/denokvへの移行が行われているようです。

chore: update ext/kv to use denokv_* crates #20986

BYONMのサポートについて

Deno本体でnpmなどで作成されたnode_modulesディレクトリ(BYONM)をサポートするPRがマージされています。Deno v1.38でリリースされるかもしれません。

feat(unstable): ability to npm install then deno run main.ts #20967

⚠️この機能は実験的機能のため、今後、使い方などに変更が入る可能性があります。

例えば、以下のようにnpmkoaパッケージがインストールされていたとします。

$ npm i koa

npmによってインストールされたkoaパッケージをnpm:なしで読み込むJavaScriptファイルを用意します。

// index.js
import Koa from "koa";

const app = new Koa();

app.use(async (ctx) => {
  ctx.body = "Hello Deno!";
});

app.listen(3000);

この状態で--unstable-byonmオプションを指定すると、npmによって作成されたnode_modulesディレクトリからkoaパッケージが読みこまれます。

$ deno run --unstable-byonm --allow-net --allow-read --allow-env index.js

また、この機能は--unstable-byonmオプション以外にも、以下の方法でも有効化できるようです。

  • deno.jsonunstable: ["byonm"]を設定する。

    {
      "unstable": ["byonm"]
    }
    
  • DENO_UNSTABLE_BYONM環境変数に1を設定する。

--unstable-*オプションのサポートについて

上記の--unstable-byonmの導入に関連して、unstable APIの有効化についてより細かく制御するために、--unstable-*という形式のオプションを導入するPRが作成されています。

feat: granular –unstable-* flags #20968

具体的には--unstable-ffi--unstable-kvなどのオプションを導入することで、各カテゴリごとに細かく有効化できるようにする想定のようです。

awesome-deno-kv

Deno KVに関する情報をまとめたawesome-deno-kvというページが公開されています。

Deno Festのアーカイブ

2023/10/20に開催されたDeno Festのアーカイブが公開されたようです。