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.json
でnodeModulesDir: true
が未設定の場合であっても、コマンドラインで--node-modules-dir
が指定されていれば--allow-scripts
が動作するように改善されています。
node:fs
exists(Sync)
のパフォーマンスが最適化されています (#24613)
また、WindowsでStats.mode
に適切な値が設定されるように改善されています (chokidarがWindowsで動かない問題があったようです)
node:http
request()
でBuffer
のsubarray
をボディに指定すると、データが欠損してしまう問題が修正されています。
node:tty
WriteStream
でhasColors()
とgetColorDepth()
メソッドが実装されています。
deno publish
deno publish
コマンドにLICENSE
ファイルが含まれていない場合に警告を表示する機能が追加されています。
現状では警告が表示されるようですが、エラーとするように挙動を変更することも検討されているようです。(Error when missing license file for deno publish
(denoland/deno#24676))
deno lsp
deno lsp
でnpm workspacesがサポートされています。
また、依存関係のキャッシュに失敗するとLSPがフリーズする問題が修正されています。
deno compile
deno compile
で生成されたバイナリーでNode-APIがサポートされました。
その他
console.log
などでError
のcause
プロパティの内容がフォーマットして出力されるように改善されています。
また、lib.deno_web.d.ts
のlib.dom.d.ts
やlib.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
MessagePort
でonce
メソッドが実装されています。
deno_std
のリリース
deno_stdがリリースされています。
@std/fs@1.0.0
@std/fs@1.0.0がリリースされています。
このリリースに合わせて、以下のエラーが削除されています。
SubdirectoryMoveError
(move()
でthrow
されていたエラーです)WalkError
(walk()
でthrow
されていたエラーです)
今後は上記エラーの代わりにDeno.errors.NotSupported
がthrow
されます。
@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がリリースされています。
FakeTime
がAbortSignal.timeout
に対応されています。
@std/text@1.0.1
@std/text@1.0.1がリリースされています。
@std/text/levenshtein-distance
levenshteinDistance()
のパフォーマンスが147倍まで高速化されています (#5527)