直近のDenoのアップデート

まだリリースは行われていませんが、直近でいくつかの機能が追加されてますため紹介いたします。

⚠️ 8c46ac3228762fb442b0080c7eb81e5e918543bb時点での canary バージョンを想定して記述していますが、正式にリリースされる際には仕様などに変更が発生する可能性があります。

deno approve-scripts

以前に紹介した deno approve-scriptsコマンドが追加されています。

この機能はDeno 3.0.0-rc.0で追加されているdeno.jsonallowScriptsフィールドをベースにしています。

このコマンドの引数にはnpmパッケージを指定可能で、その場合、指定されたパッケージがdeno.jsonallowScriptsフィールドに追加された後、該当パッケージのライフサイクルスクリプトが実行されます。引数の指定が省略された場合は、deno outdated --update --interactive と同様のUIが表示され、ライフサイクルスクリプトの実行を許可したいパッケージを対話的に選択できます。

# (1) ライフサイクルスクリプトを持つパッケージをインストールします
$ deno install npm:better-sqlite3@12.2.0
Add npm:better-sqlite3@12.2.0
╭ Warning
│  Ignored build scripts for packages:
│  npm:better-sqlite3@12.2.0
│  Run "deno approve-scripts" to run build scripts.
╰─


# (2) 対話的に特定パッケージに対するライフサイクルスクリプトの実行を許可できます
$ deno approve-scripts
? Select which packages to approve lifecycle scripts for
(<space> to select, ↑/↓/j/k to navigate, a to select all, i to invert selection, enter to accept, <Ctrl-c> to cancel)
❯ ○ npm:better-sqlite3@12.2.0


# (3) `deno.json`の`allowScripts`が更新されます
$ cat deno.json | jq .allowScripts
[
  "npm:better-sqlite3@12.2.0"
]

--ignore-readオプションが実装

以前に追加された--ignore-envオプションに続いて、--ignore-readオプションが実装されました。

このオプションで無視されたファイルを読もうとすると、Deno.errors.NotCapableではなくDeno.errors.NotFoundが発生します。

deno.jsonpublish: falseの指定がサポート

deno.jsonにおいて publish: falseの指定がサポートされています。

これを設定しておくと、対象のパッケージがdeno publishコマンドによるパッケージの公開対象から除外されます。

Deno Workspacesを採用したプロジェクトにおいて、jsrには公開したくない内部的なパッケージに対してpublish: falseを設定することが想定されています。

Deno v3 向けの破壊的変更が一時的に Revert

Deno 3.0.0-rc.0向けに実施されていたグローバルのタイマーAPIに関する変更と、直近で実施されていたdeno compileコマンドに関する破壊的変更が Revert されています。

現在はDeno v2.6.0のマイルストーンが公開されており、Deno v3の正式リリースまで一時的にこれらの変更の実施が延期されたようです。

Deno Advent Calendar 2025

Deno Advent Calendar 2025 が開始されています。

すでにいくつかの記事が公開されています。