fresh v1.5
fresh v1.5がリリースされました。
以下に内容をまとめたため、よろしければそちらを参照いただければと思います。
Deno v1.37.2
Deno v1.37.2がリリースされました。
Deno.serve
Deno.serveでUnixドメインソケットがサポートされています。(unstable)
Deno.serve
のpathオプションを指定することで有効化されます。
また、Deno.serve
から返却されるDeno.Serverがthenableオブジェクトではなくなりました。
これにより、async
関数から直接Deno.Server
をreturn
できなかった問題が解消されたようです。
TransformStream
でキャンセルがサポート (cancel
オプションの追加)
readable
がキャンセルされたタイミング または writable
が中断されたタイミングでcancel
オプションに指定された関数が呼ばれるようです。
TransformStream cleanup using “Transformer.cancel” (whatwg/streams#1283)
deno jupyter
deno.land/x/display
のDeno本体への追加
deno.land/x/displayがDeno本体に取り込まれたようです。
これにより、以下のAPIが追加されています。
Deno.jupyter.broadcast
Deno.jupyter.broadcast
に以下のオプションが追加されています。
metadata
オプションbuffers
オプション (バイナリデータを送信したい場合に使用できます)
Deno.test
のサポート
deno repl
やdeno jupyter
でDeno.test
がサポートされています。
$ deno repl
Deno 1.37.2
exit using ctrl+d, ctrl+c, or close()
> Deno.test(function ok() {});
ok ... ok (4ms)
ok | 1 passed | 0 failed (0ms)
undefined
Jupyter.display
Symbol.for("Jupyter.display")
に設定した関数からPromise
の返却がサポートされています。
deno lsp
deno.json
またはpackage.json
の変更時にクライアントへ通知(deno/didChangeDenoConfiguration
)が送信されるようになりました。
その他の改善点
--watch
と--inspect
の併用がサポートされました。FormData
で複数のヘッダーがサポートされました。- 同じファイルパスを参照するDeno.Kvインスタンスが複数存在する場合、あるインスタンスで
enqueue
されたメッセージが全てのインスタンスのlistenQueue
で購読できるように改善されました。
deno_std v0.204.0
deno_std v0.204.0がリリースされました。
std/path
- モジュール構造の整理
std/path
モジュールの構造が整理されています。
std/path/posix/
ディレクトリの追加std/path/windows/
ディレクトリの追加std/path/posix.ts
の非推奨化std/path/win32.ts
の非推奨化
std/front_matter
- いくつかのAPIの非推奨化
以下のAPIが非推奨化されています。
- Format型
- 以下のモジュールの
test()
(今後はstd/front_matter/test.tsの使用が推奨されます)std/front_matter/any.ts
std/front_matter/json.ts
std/front_matter/toml.ts
std/front_matter/yaml.ts
std/crypto/crypto.ts
BLAKE2B-128
がサポートされました。
std/archive/untar.ts
tarファイルの中に含まれるシンボリックリンク先の情報がlinkNameプロパティから参照できるようになりました。
freshのイテレーションプラン (2023/10〜2023/11)
2023/10〜2023/11までのfreshのイテレーションプランが公開されています。
今のところ、View TransitionsのサポートやUnoCSSプラグインなどの開発が想定されているようです。
2023年Q4におけるNode.js互換性の改善計画について
2023年Q4におけるNode.js互換性の改善計画が公開されています。
今のところ、以下の対応などが検討されているようです。
npm
やyarn
などで作成されたnode_modules/
のサポート (BYONM)- ライフサイクルスクリプト(
preinstall
/postinstall
など)のインタラクティブな実行のサポート - npm workspaceのサポート
このissueは継続的に更新される可能性があるようなので、もし興味がある際はSubscribeしておくとよいかもしれません。
unstable APIの詳細な制御の仕組みについて
以下のissueでDenoのunstable APIの利用に関して、より詳細に制御できるような仕組みを導入することが提案されています。
まだ導入されるかどうかはわかりませんが、--unstable-kv
や--unstable-http
など、関連するカテゴリごとにunstable APIを有効化するためのオプションなどが入る可能性もありそうです。
社内で使う npm パッケージの作成に Deno を採用した話
社内用npmパッケージの開発におけるDenoとdnt
の採用に関する記事が公開されています。