Deno v1.22.3
Deno v1.22.3がリリースされました。
主な変更点:
- fetch APIの引数に
URL
オブジェクト渡す形式が非推奨ではなくなりました。(TypeScript公式の型定義でもサポートされたため)// Deno v1.22.3までは、下記の形式は非推奨でした const res = await fetch(new URL("https://example.com"));
- Import Mapファイルなどの
.json
や.jsonc
形式のファイルが変更されたときに、deno lsp
が自動で変更を検知してくれるようになりました。 --watch
オプションで、dynamic importされるファイルが監視されない問題が修正されました。- エラー以外の値が
throw
された際にコンソールへ出力される内容が改善されました。
https://github.com/denoland/deno/releases/tag/v1.22.3
deno_std v0.143.0
deno_std v0.143.0がリリースされました。
http/http_status
での破壊的変更について
STATUS_TEXT
がMap<Status, string>
からReadonly<Record<Status, String>>
へ変更されています。(破壊的変更)
その他にも、いくつかのヘルパー関数やタイプが追加されています。
import { isErrorStatus, STATUS_TEXT } from "https://deno.land/std@0.143.0/http/http_status.ts";
STATUS_TEXT[404]; // => "Not Found"
isErrorStatus(404); // => true
isErrorStatus(200); // => false
flags
モジュールでnegatable
オプションがサポート
ここで指定されたフラグのみが、--no-
プレフィックスの付与による否定がサポートされます。
import { parse } from "https://deno.land/std@0.143.0/flags/mod.ts";
parse(["deno", "fmt", "--no-config"], {
string: ["config"],
negatable: ["config"],
}); // => { _: [ "deno", "fmt" ], config: false }
parse(["deno", "fmt", "--no-config"], {
string: ["config"],
}); // => { _: [ "deno", "fmt" ], "no-config": true }
dotenv
モジュールでインラインコメントがサポート
#
に続けてコメントを記述できます。
# This is a comment.
FOO=BAR # foobar
PORT=3000
import { config } from "https://deno.land/std@0.143.0/dotenv/mod.ts";
await config(); // => { FOO: "BAR", PORT: "3000" }
encoding/varint
モジュールの追加
LEB128によるエンコーディング・デコーディングがサポートされています。
import { encodeU32 } from "https://deno.land/std@0.143.0/encoding/varint.ts";
encodeU32(128); // => Uint8Array(2) [ 128, 1 ]
node/assert
の改善
deepEqual
とnotDeepEqual
がサポートされました。
https://github.com/denoland/deno_std/releases/tag/0.143.0
deno_std
へのencoding/front_matter
モジュールの追加について
deno_std
へFrontmatter用のモジュールを追加するPRが作成されています。
今のところ、下記のように使用できる想定のようです。
import { extract } from "https://deno.land/std/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");
https://github.com/denoland/deno_std/pull/2335
Fresh v1.0のロードマップ
Fresh v1.0のロードマップが公開されています。
v1.0のリリースまでに、以下の変更などが行われる予定のようです。
- Preactのバージョンのカスタマイズ
- Freshをhttps://github.com/denoland配下へ移動
詳しい内容については、下記を参照いただければと思います:
https://github.com/lucacasonato/fresh/issues/219
DenoのYoutubeチャンネルでイベントの動画が公開
DenoのYoutubeチャンネルでMelbJSやRemixConfなどでの発表内容が公開されています。
- Kitson Kelly’s “Deno on the Edge” at MelbJS Meetup
- Luca Casonato on “Writing Typescript Libraries for Deno, Node, and the Browser” at TSCongress 2022
- Ryan Dahl’s “My Dream Stack” at RemixConf 2022
https://deno.news/archive/44-ryans-dream-stack-kitson-deploys-to-the-edge
oakserver/nat
DenoとDeno Deploy向けのSSRフレームワーク
acornやnano-jsx, twindなどを使用して実装されているようです。