2023/03/06〜2023/03/12の最新情報

Deno v1.31.2 Deno v1.31.2がリリースされました。 Node.js互換性の改善 循環依存のあるpeerDependenciesの解決が改善 例えば、以下のようなシナリオにおいて、初回実行時はうまくいくものの、ロックファイルが適用されるとうまく動かないケースがあったようで、この問題が修正されています。 a -> b -> c -> d -> c -> b (peer) その他の改善 npm:URLを使っていると、依存関係が変わっていなくても、毎回Lockfileがtouchされてしまう問題が修正されています。 複数のDenoプロセスが同時にnode_modulesを更新できないように制御が入りました。 package.jsonの依存関係の解析に失敗しても、npmパッケージが実際にimportされるタイミングまではエラーが起きないように修正されています。 これにより、package.jsonは存在するものの、スクリプト内でnpmパッケージを利用していないようなケースでエラーが発生しなくなります。 node:cryptoのcreateHashが高速化されています。 util.types.isSharedArrayBufferが動作しない問題が修正されています。 .d.tsファイルの型チェックに関する修正 以下のようなケースで、deno checkなどでうまく型チェックが行われていなかった問題が修正されています。 エントリポイントに指定した.d.tsファイル エントリポイントに含まれるX-TypeScript-Types/<reference types="..." />経由で読み込まれる.d.tsファイル .d.tsファイル内のファイルタイプが指定されていないコードブロック (deno test --docの実行時のみ) Deno.UnsafePointer.ofの改善 Deno.UnsafePointer.ofでバッファのメモリを取得する際に、もしユーザーがバッファの参照をどこかに保持していなかった場合、孤立したポインタができてしまう可能性がありました。 この問題を解消するため、Deno.UnsafePointer.ofの内部でWeakMapを使ってポインタとバッファのマッピングが管理されるようになりました。 その他 WindowsでDeno.stdin.setRaw(false)によって適切にrawモードが無効化されるように修正されています localStorageへのアイテムのINSERT時に、事前に入力内容のサイズがチェックされるように挙動が修正されています https://github.com/denoland/deno/releases/tag/v1.31.2 deno_std v0.179.0 deno_std v0.179.0がリリースされました。 std/encoding/varint.tsの追加, std/encoding/varint/mod.tsの非推奨化 TypeScriptをベースに実装されたstd/encoding/varint.tsが追加されました。 (実装はhttps://deno.land/x/varintがベースのようです) これに合わせて、WASMベースのstd/encoding/varint/mod.tsが非推奨化されています。 std/fsの改善 std/fs/expand_glob: expandGlob()にfollowSymlinksオプションが追加されました (trueを指定すると、シンボリックリンクが解決されます) std/fs/ensure_dir: ensureDir()を同じディレクトリに対して並列で呼んだときに、Deno.errors.AlreadyExistsがthrowされる問題が修正されています。 std/fs/ensure_symlink: ensureSymlink()でtargetに対する相対的なリンクを作ろうとすると、意図せぬパスを指すリンクが作成されてしまう問題が修正されています (#2312) std/http/cookie - =の取り扱いが改善 Cookieの値に=が含まれていると、getSetCookiesが意図せぬ値を返す問題が修正されています。...

March 12, 2023