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も参照されるように挙動が変更されています

  • .gitignoreexcludeで除外されたファイルの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.jsonTemporalの有効化がサポートされました。

今までTemporalを使用するには--unstable-temporalを指定する必要がありましたが、今後はdeno.jsonでも有効化を制御できそうです。

{
  "unstable": ["temporal"]
}

deno_std v0.219.0

deno_std v0.219.0がリリースされています。

std/semver - 非推奨APIの削除

非推奨化されていた以下のAPIが削除されました。

削除対象移行先
std/semver/gtr.tsstd/semver/greater_than.ts & std/semver/range_min.ts
std/semver/ltr.tsstd/semver/less_than.ts & std/semver/range_min.ts
std/semver/reverse_sort.tsstd/semver/compare.ts & Array#sort
Operator"=="/"==="/"!=="/"""="/"!=",undefined

std/expect - expect.extendがサポート

expect.extendが実装されました。


バグ修正

  • std/log/file_handler.ts: 4096バイト以上のデータを書き込もうとすると例外が発生する問題が修正されています
  • std/path/common.ts: common()の引数に指定されたパスの順番や要素数によっては、意図せぬ結果を返すことがある問題が修正されています