Denoばた会議 Monthly 第26回

Deno v1.40

Temporalサポート

--unstable-temporalを指定するとTemporalのサポートが有効化されます。

Temporal.Now.instant();

Decorators proposal (stage 3)のサポート

⚠️ .jsファイルではまだ動作しないようなためご注意 (.tsなどのトランスパイルされるファイルでのみ動作します)

TypeScriptのexperimentalDecoratorsを利用したい場合は、compilerOptions.experimentalDecoratorstrueを設定して明示的に有効化する必要があります

Import map expansion

import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";

上記のようにパッケージを読み込みたい場合、以下の記述だけで読み込みができます。

{
  "imports": {
    "msw": "npm:msw@2.0.8"
    // v1.39までは以下の記述も必要でした
    // "msw/": "npm:/msw@2.0.8/"
  }
}

v2に向けた非推奨化

  • --unstable (--unstable-*deno.jsonunstableオプションへの以降が推奨)
  • window (DENO_FUTURE環境変数を設定すると削除されます)
  • Deno.Reader & Deno.Writer
  • rid

など... (マイグレーションガイド)

External WebGPU surfaces / BYOW (Bring your own Window)

Deno v1.41

パッケージシステム(jsr)関連のアップデート

  • deno lintno-slow-typesルールが導入されています (#22430)
    • jsrパッケージに対してfast checkを実行してくれます
  • deno publishで型チェックが自動実行がサポート

deno compile - denortバイナリが再導入

過去に一度削除されていたdenortバイナリが再び導入されました。

deno compileによって生成される実行可能ファイルのサイズが大きく削減されています。

process.envの挙動の変更

// --allow-env=FOOが指定されていなければ、パーミッションプロンプトが表示されます
process.env.FOO

その他の話題

jsr

  • waitlistが公開: https://jsr.io/waitlist
  • deno-postgresはすでに公開されているらしいです👀
    // https://github.com/denodrivers/postgres/releases/tag/v0.18.0
    import { Client } from "jsr:@bartlomieju/postgres@0.18.0";
    
  • jsr-ioというGitHub Organizationが公開👀
  • jsr:@deno/x-to-jsr - deno.land/xパッケージをjsrパッケージに変換してくれるツール👀

Hono v4がリリース

LumeCMS

  • Announcing LumeCMS
  • コンテンツのプレビューや編集などがサポート
  • HonoやDeno KVなどが使われているようです
  • アダプターを作ればLume以外でも利用できるようです

Denoハンズオン&もくもく会:Fresh + KV

明日開催です!

  • Fresh + Deno Deployで簡単なWebサイトをPublishしてみよう
  • Deno KVを使ってWebサービスを作ってみよう
  • Freshのislandアーキテクチャって何?