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.tsstd/front_matter/json.tsstd/front_matter/toml.tsstd/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の採用に関する記事が公開されています。