Denoばた会議 Monthly 第10回

Deno v1.23

deno rundeno cacheなどのコマンドで型チェックが無効化

今後は、型チェックを行いたい場合は、deno checkコマンドを使う必要があります。

$ deno check mod.ts

deno testdeno bundleなどのコマンドでは、引き続き型チェックが行われます。

APIの削除

下記APIが削除されています。

Worker内でのDeno.exitの振る舞いが変更

Deno.exit()Worker内ではself.close()と同様の振る舞いを行うように変更されました。

self.onmessage = () => {
  Deno.exit(); // => Workerが閉じます
};

TypeScript v4.7へのアップデート

Denoの内部で使用されるTypeScriptのバージョンがv4.7へアップデートされました。

合わせて、Denoの内部で"moduleDetection": "force"オプションが有効化されています。

このアップデートに関連して、deno fmtコマンドでcjs/cts/mjs/mts拡張子がサポートされています。

deno taskコマンドの改善

リダイレクションがサポートされました。

{
  "tasks": {
    "test": "echo foo > test.txt"
  }
}

その他にも、catxargsコマンドが実装されています。

その他の変更内容

  • CompressionStreamDecompressionStream"deflate-raw"フォーマット(Deflateアルゴリズム)がサポート
  • FFI(Deno.dlopen)でBigIntがサポート
  • (Windows) Deno.addSignalListenerSIGINTSIGBREAKシグナルがサポート
  • Deno.Child.killの引数が省略可能に変更

deno_stdのアップデート

std/media_typesの追加

oakserver/media_typesdeno_stdに追加されました。

import { contentType } from "https://deno.land/std@0.142.0/media_types/mod.ts";

contentType(".js"); // => "application/javascript; charset=UTF-8"
contentType("application/json"); // => "application/json; charset=UTF-8"

その他にも、oakserver/commonsでメンテナンスされているいくつかの機能のdeno_stdへの移植が行われているようです。

std/encoding/front_matterの追加

import { extract } from "https://deno.land/std@0.144.0/encoding/front_matter.ts";

const { attrs, body } = extract<{ title: string, date: Date }>(`---
title: foobar
date: 2022-06-12
---

Hello`);
console.assert(attrs.title === "foobar");
console.assert(attrs.date instanceof Date);
console.assert(body === "Hello");

Deno Deploy Beta 4

2022年のQ3でGA版がリリース予定とのことです。

denoland/showcase_chat

Deno公式でチャットアプリの実装例が公開されています。

FreshやSupabase, twindなどを使用して実装されているようです。

Fresh v1.0のロードマップが公開

v1.0のリリースまでに、以下の変更などが行われる予定のようです。

DenoのYoutubeチャンネルでイベントの動画が公開

DenoのYoutubeチャンネルでMelbJSやRemixConfなどでの発表内容が公開されています。