Deno v1.21

Deno v1.21がリリースされました。

個別に記事を書いたので、詳しくはそちらを参照いただければと思います。

deno_std v0.136.0

deno_std v0.136.0がリリースされました。

testing/snapshot

スナップショットテストを行うためのモジュールが追加されました。

このモジュールではassertSnapshotという関数が公開されており、__snapshots__ディレクトリに保存されたスナップショットと第2引数で指定された値を比較し、マッチしなかった場合、エラーが発生します。

スナップショットを読み込む必要があるため、利用には--allow-readパーミッションが必要になります。

import { assertSnapshot } from "https://deno.land/std@0.136.0/testing/snapshot.ts"

Deno.test("doSomething", async (t) => {
  const result = doSomething();
  await assertSnapshot(t, result);
});

スナップショットを更新したいときは、テストを実行する際に--updateを指定する必要があります。

この場合、スナップショットを書き込むために、追加で--allow-writeが必要になります。

# スナップショットは__snapshots__に書き込まれます
$ deno test --allow-read --allow-write tests/some_test.js -- --update

testing/bdd

itに渡すテスト関数がTestContextを受け取るように修正されています。

import { describe, it } from "https://deno.land/std@0.136.0/testing/bdd.ts"

describe("sum", () => {
  it("should return sum of numbers", (t) => {
    assertEquals(sum(1, 2, 3), 6, t.name);
  });
});

http/server

serve()などのAPIでsignalオプションを指定した際に、addEventListenerではなくonabortプロパティを使用して"abort"イベントのリスナが登録されていた問題が修正されました。


https://github.com/denoland/deno_std/releases/tag/0.136.0

Netlify Edge Functions

Netlify Edge Functionsのpublic betaバージョンが公開されました。

NetlifyのEdgeネットワーク上でJavaScriptやTypeScript関数を実行することができます。

また、Netlify Edge FunctionsはDeno Deployをベースに実装されています。 そのため、Deno DeployでサポートされているAPIも利用できます。

現在、RemixAstro, Nuxt3など様々なフレームワークでNetlify Edge Functionsのサポートが提供されています


Aleph.js v1 alpha

Aleph.jsのv1 alphaバージョンが公開されました。

  • Deno Deployサポート
  • Remixのloader/actionライクなAPI
  • React以外のフレームワークのサポート (Vue.js)
  • UnoCSSの組み込みサポート
  • ts/jsx/tsxのオンデマンドでの変換

など、様々な機能の追加などが想定されているようです。


https://github.com/alephjs/aleph.js/releases/tag/1.0.0-alpha.1

Ultra v1

Ultraのv1がリリースされました。

MDXとの統合や@swc/wasm-webへの移行などが行われています。

また、このリリースに合わせて新しいWebサイトも公開されています。


https://github.com/exhibitionist-digital/ultra/releases/tag/v1.0.0

Stripe API

stripe-nodeパッケージがDenoでも動作するようになったようです。

https://github.com/stripe/stripe-node/issues/997#issuecomment-1104276450


この情報はaiotterさんに提供いただきました🙏

Deno cheat sheet

下記サイトでDenoのチートシートが公開されています。

Denoの各コマンドやAPIの使用方法などについて解説されています。