Deno v1.45.3

Deno v1.45.3がリリースされています。

Node.js互換性の改善

npm workspaces

npm workspace内の複数のメンバー間で特定のパッケージのバージョンがコンフリクトした際に、それぞれのメンバー配下にnode_modulesが作られるように挙動が改善されています。(例: ./workspace-a./workspace-bがそれそれ@foo/barパッケージのv1とv2に依存している場合、./workspace-a/node_modules./workspace-b/node_modulesが作られるようです)

--allow-scripts

deno.jsonnodeModulesDir: trueが未設定の場合であっても、コマンドラインで--node-modules-dirが指定されていれば--allow-scriptsが動作するように改善されています。

node:fs

exists(Sync)のパフォーマンスが最適化されています (#24613)

また、WindowsでStats.modeに適切な値が設定されるように改善されています (chokidarがWindowsで動かない問題があったようです)

node:http

request()Buffersubarrayをボディに指定すると、データが欠損してしまう問題が修正されています。

node:tty

WriteStreamhasColors()getColorDepth()メソッドが実装されています。

deno publish

deno publishコマンドにLICENSEファイルが含まれていない場合に警告を表示する機能が追加されています。

現状では警告が表示されるようですが、エラーとするように挙動を変更することも検討されているようです。(Error when missing license file for deno publish (denoland/deno#24676))


deno lsp

deno lspnpm workspacesがサポートされています。

また、依存関係のキャッシュに失敗するとLSPがフリーズする問題が修正されています。

deno compile

deno compileで生成されたバイナリーでNode-APIがサポートされました。

その他

console.logなどでErrorcauseプロパティの内容がフォーマットして出力されるように改善されています。

また、lib.deno_web.d.tslib.dom.d.tslib.webworker.d.tsとの互換性が改善されています。(#24599)

Deno v1.45.4

Deno v1.45.4がリリースされています。

deno lint

no-sloppy-importsルール

sloppy importsに関する警告がdeno lintへ移動されています。deno lint--unstable-sloppy-importsを指定するとno-sloppy-importsルールが有効化されるようです。

構文エラーの報告

構文エラーなどが検出された際に、deno lintがエラーを報告してくれるように挙動が改善されています。

deno lsp

Infer function return typeによってnpmパッケージから提供される型が推論される際に、常にfile:形式のURLが挿入されてしまう問題が修正されています (#24344)

Node.js互換性の改善

node:os

Linuxにおいてcpus()で意図せぬ値が返されていた問題が修正されています (#24731)

node:worker_threads

MessagePortonceメソッドが実装されています。

deno_stdのリリース

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

@std/fs@1.0.0

@std/fs@1.0.0がリリースされています。

このリリースに合わせて、以下のエラーが削除されています。

  • SubdirectoryMoveError (move()throwされていたエラーです)
  • WalkError (walk()throwされていたエラーです)

今後は上記エラーの代わりにDeno.errors.NotSupportedthrowされます。

@std/streams@1.0.0

@std/streams@1.0.0がリリースされています。

このリリースに合わせて、toJson()toText()の引数の型定義がReadableStreamからReadableStream<string> | ReadableStream<Uint8Array>へ変更されています。

@std/expect@1.0.0

@std/expect@1.0.0がリリースされています。

@std/front-matter@1.0.0

@std/front-matter@1.0.0がリリースされています。

@std/json@1.0.0

@std/json@1.0.0がリリースされています。

@std/jsonc@1.0.0

@std/jsonc@1.0.0がリリースされています。

@std/yaml@1.0.0

@std/yaml@1.0.0がリリースされています。

@std/testing@1.0.0-rc.5

@std/testing@1.0.0-rc.5がリリースされています。

FakeTimeAbortSignal.timeoutに対応されています。

@std/text@1.0.1

@std/text@1.0.1がリリースされています。

@std/text/levenshtein-distance

levenshteinDistance()のパフォーマンスが147倍まで高速化されています (#5527)