Deno v2.1.3
Deno v2.1.3がリリースされています。
deno task
--recursive
オプション
v2.1.0で追加された--recursive
オプションが動作していなかった問題が修正されています (--filter *
を指定した場合と同様に動作します)
# ワークスペース内の各パッケージで定義されたtestタスクを実行します
$ deno task --recursive test
(Unix環境向け) 子プロセスへのシグナルの転送がサポート
Unix環境において、deno task
のプロセス向けに送信されたシグナルがタスクで起動された子プロセスへ転送されるよう挙動が改善されています。
(Windows向け) 子プロセスの自動停止
Windowsにおいてdeno task
のプロセスを停止させた際に、deno task
によって起動された子プロセスも停止されるよう改善されています。
タスクの依存関係が定義されている際の引数の取り扱いの変更
deno task
に追加の引数が渡された場合、その引数がルートのタスクにのみ渡されるよう修正されています (dependenciesで指定された子タスクには渡されません)
# 例) a b cはbuildタスクにのみ渡され、dependenciesで指定された子タスクには渡されません
$ deno task build a b c
deno fmt
HTMLファイルのフォーマットの安定性が改善
<script>
タグを持つHTMLファイルに対するdeno fmt
の安定性が改善されています。
deno install
exports
で複数のエントリーポイントが定義されたjsrパッケージに関する修正
あるjsrパッケージのexports
を確認する際に、deno.lock
で指定されたバージョンとは異なるバージョンのdeno.json
で宣言されたexports
が参照されてしまうことがある問題が修正されています。
deno outdated
--update
が指定されていない場合でも--latest
が利用できるように
deno outdated
の--latest
オプションが--update
なしだと指定できない問題が修正されています。
OpenTelemetry
metricsのexport
Deno.telemetry.MetricExporter
が追加され、metricsのexportがサポートされています。
Node.js互換性の改善
workspace:~
/workspace:^
のサポート
npm workspacesにおいて、バージョン制約としてworkspace:~
とworkspace:^
の指定がサポートされています。
node:fs
readdir()
のrecursive
オプションがサポートされています。
node:worker_threads
eval
オプションが指定された際に意図せずSyntaxErrorが発生することがある問題が修正されています。
Temporal API
Temporal.Duration#toLocaleString
でロケールが考慮されるように改善
内部的にIntl.DurationFormat#format
を使ってフォーマットされるよう改善されています。
その他
dynamic importが多用されたコードにおけるOOMへの対策
dynamic importが多用されている場合、初回の実行時にOOMが発生することがある問題への対策が行われています。
deno_std
のリリース
deno_std
のリリースが行われています (release-2024.12.06)
@std/http@1.0.12
@std/http@1.0.12がリリースされています。
@std/http/unstable-route
ハンドラーのinfo
引数とparams
引数の順番が入れ替わっています (params
引数が第2引数へ変更)
info
引数よりもparams
引数の方が使用頻度が高いと考えられるため、この変更が実施されました。
@std/http/file-server
ファイルサーバーがHEADリクエストを適切に処理するよう改善されています。
@std/dotenv@0.225.3
@std/dotenv@0.225.3がリリースされています。
Windowsサポートの改善
\r\n
が含まれた値が適切に解析されていなかった問題が解消されています。
@std/expect@1.0.9
@std/expect@1.0.9がリリースされています。
expect().toMatchObject()
のエラーメッセージの修正
expect().toMatchObject()
でエラーが発生した際にexpect().not.toMatchObject()
と同じメッセージが表示されてしまう問題が修正されています。
@std/testing@1.0.6
@std/testing@1.0.6がリリースされています。
@std/testing/bdd
test.only()
/test.ignore()
/test.skip()
が実装されています。
@std/text@1.0.9
@std/text@1.0.9がリリースされています。
toCamelCase()
などの各種APIの内部で、String#toLocaleLowerCase
などのロケール依存のAPIを使用しないよう修正されています。
deno_lint
- JavaScriptプラグインのサポートについて
⚠️ まだ正式に導入されるかどうかはわからないためご注意ください🙏
Denoのリポジトリでdeno lint
向けにJavaScriptプラグインをサポートするPRが作成されています:
- feat(lint): add JavaScript plugin support (denoland/deno#27203)
- feat: Add LintOptionsConfig.plugins (denoland/deno_config#145)
現時点(54f002f
)では、--plugins
オプション もしくは deno.json
のlint.plugins
でプラグインモジュールのパスを指定して利用する想定のようです。
プラグインモジュールからはname
及びrules
プロパティーを持つオブジェクトをdefault export
によって提供することで、カスタムのリントルールなどを提供できるようにする想定のようです。
Run your Next.js SSR app on Deno Deploy
@deno/nextjs-startを使って、Deno DeployでNext.jsアプリケーションを動作させる記事がDenoの公式ブログで公開されています: