Deno v1.41.2
Deno v1.41.2がリリースされています。
jsr
deno addでnpmパッケージがサポート
deno addの引数にnpm:<パッケージ名>の形式でパッケージを指定すると、対象のnpmパッケージがdeno.jsonに追加されます。
$ deno add npm:chalk@5.3.0
deno addでパッケージのバージョン指定がサポート
deno addでパッケージを追加する際に、以下のような形式などでバージョンを指定できます。
$ deno add @std/ulid@0.219.1
$ deno add @oak/oak@14
deno publish - include/excludeに関する挙動の改善
deno publishがJSRにパッケージを公開する際に、パッケージに含めるまたは除外するファイルを決定する際の挙動が改善されています。
祖先のディレクトリの
.gitignoreも参照されるように挙動が変更されています.gitignoreやexcludeで除外されたファイルのunexcludeがサポートされています{ "publish": { "exclude": [ "!tmp/generated" ] }, "exclude": [ "tmp" ] }
deno publish --dry-run - GitHub Actionsのパーミッションに関する改善
GitHub Actionsでdeno publish --dry-runを実行する際に、GitHub Actionsのパーミッションなしで動作するように改善されました。
deno publish - コミットされていないファイルがあった際に失敗するように
コミットされてないファイルがあったらdeno publishによるパッケージの公開が失敗するように挙動が変更されました。
この挙動は--allow-dirtyオプションにより無効化できるようです。
deno lsp
jsr:URLのhoverの改善
importにおけるjsr:URLに対してhoverした際にJSRレジストリ上における該当パッケージのURLが表示されるように挙動が改善されました。
リモートモジュールのシンボルをリネームした際のバグの修正
リモートモジュールからnamed importされているシンボルをリネームしようとすると、リモートモジュール内のファイルのシンボルもリネームされてしまう問題が修正されています。
Node.js互換性の改善
node:util:styleTextが実装されました (nodejs/node#51850)node:worker_threads:Worker#ref/unrefの基本的な実装が追加されましたnode:async_hooks:AsyncLocalStorage#enterWithが実装されました- これによりSvelteKitが動くようになったらしいです
unstable: ["temporal"]のサポート
deno.jsonでTemporalの有効化がサポートされました。
今までTemporalを使用するには--unstable-temporalを指定する必要がありましたが、今後はdeno.jsonでも有効化を制御できそうです。
{
"unstable": ["temporal"]
}
deno_std v0.219.0
deno_std v0.219.0がリリースされています。
std/semver - 非推奨APIの削除
非推奨化されていた以下のAPIが削除されました。
| 削除対象 | 移行先 |
|---|---|
std/semver/gtr.ts | std/semver/greater_than.ts & std/semver/range_min.ts |
std/semver/ltr.ts | std/semver/less_than.ts & std/semver/range_min.ts |
std/semver/reverse_sort.ts | std/semver/compare.ts & Array#sort |
Operator型の"=="/"==="/"!=="/"" | "="/"!=",undefined |
std/expect - expect.extendがサポート
expect.extendが実装されました。
バグ修正
std/log/file_handler.ts: 4096バイト以上のデータを書き込もうとすると例外が発生する問題が修正されていますstd/path/common.ts:common()の引数に指定されたパスの順番や要素数によっては、意図せぬ結果を返すことがある問題が修正されています