diff --git a/content/articles/2025/01/26.md b/content/articles/2025/01/26.md new file mode 100644 index 000000000..463e0b361 --- /dev/null +++ b/content/articles/2025/01/26.md @@ -0,0 +1,123 @@ +--- +title: 2025/01/20〜2025/01/26の最新情報 +tags: + - Deno + - deno_std + - Preact +categories: + - news +date: 2025-01-26 +description: > + Deno v2.1.7 (v2.1.6で発生していたWorkerに関する問題の修正など), deno_stdのリリース (@std/async@1.0.10 - `waitFor`の追加, @std/fs@1.0.10 - Node.js向けサポートの改善), wasmbuild v0.19.0 (古いバージョンのDenoやブラウザーなど向けに --inline オプションが追加), @preact/preset-vite v2.10.0 (Denoのサポート) +--- + +## Deno v2.1.7 + +[Deno v2.1.7](https://github.com/denoland/deno/releases/tag/v2.1.7)がリリースされています。 + +### v2.1.6で発生していた`Worker`に関する問題の修正 + +[v2.1.6]({{< ref "articles/2025/01/19.md" >}})において`Worker`の使用時にDenoがパニックすることがあった問題が修正されています ([#27741](https://github.com/denoland/deno/pull/27741)) + +### `deno install -g --config`に関する挙動の変更 + +`deno install -g`で`--config`が指定された際に、指定された設定ファイルに含まれる`importMap`が無視されるよう挙動が変更されています ([#27744](https://github.com/denoland/deno/pull/27744)) + +`deno install -g`で`--import-map`と`--config`が併用された際に、意図せぬ動作をすることの防止が目的のようです。 + +### Node.js互換性の改善 + +#### `node:crypto` + +`Decipher`で`aes-256-gcm`または`aes-128-gcm`を使用している際に、`final`メソッドにおいて認証タグのチェックが行われるように改善されています ([#27733](https://github.com/denoland/deno/pull/27733)) + +#### `node:fs/promises` + +`FileHandle`に`datasync()`と`sync()`メソッドが追加されています ([#27677](https://github.com/denoland/deno/pull/27677)) + +#### `node:http` + +`ClientRequest`が保持する`socket`においてエラーが発生した際に、その`ClientRequest`オブジェクトで`error`イベントが発火されるよう改善されています ([#27678](https://github.com/denoland/deno/pull/27678)) + +#### `node:tls` + +`connect()`で`ECONNRESET`エラーが起きることのある問題が修正されています ([#27707](https://github.com/denoland/deno/pull/27707)) + +## `deno_std`のリリース + +`deno_std`のリリースが行われています ([release-2025.01.22](https://github.com/denoland/std/releases/tag/release-2025.01.22)) + +### `@std/async@1.0.10` + +[@std/async@1.0.10](https://jsr.io/@std/async@1.0.10)がリリースされています。 + +#### `@std/async/unstable-wait-for`が追加 + +`waitFor` (`@std/async/unstable-wait-for`)という新しい実験的APIが追加されています。`predicate`が満たされるまで待機してくれます。 + +```typescript +import { waitFor } from "jsr:@std/async@1.0.10/unstable-wait-for"; + +// ... + +await waitFor( + () => task.isFinished(), // predicate + 5_000, // timeout +); +``` + +### `@std/fs@1.0.10` + +[@std/fs@1.0.10](https://jsr.io/@std/fs@1.0.10)がリリースされています。 + +#### Node.js向けサポートの改善 + +[`@std/fs`のNode.jsサポート]({{< ref "articles/2024/12/15.md" >}})向けに、以下のモジュールが追加されています: + +- `@std/fs/unstable-symlink` (`symlink()`と`symlinkSync()`が提供されます) +- `@std/fs/unstable-chmod` (`chmod()`と`chmodSync()`が提供されます) +- `@std/fs/unstable-read-dir` + +### `@std/assert@1.0.11` + +[@std/assert@1.0.11](https://jsr.io/@std/assert@1.0.11)がリリースされています。 + +#### `assertObjectMatch`の改善 + +`assertObjectMatch`において`__proto__`を持つオブジェクトが適切に比較されるよう改善されています。 + +### `@std/cbor@0.1.6` + +[@std/cbor@0.1.6](https://jsr.io/@std/cbor@0.1.6)がリリースされています。 + +#### `subarray`の取り扱いの改善 + +`decodeCbor()`に`subarray` (`TypedArray#subarray`)が渡された際に適切にデコーディングが行われない問題が修正されています。 + +### `@std/cli@1.0.11` + +[@std/cli@1.0.11](https://jsr.io/@std/cli@1.0.11)がリリースされています。 + +#### `@std/cli/unstable-prompt-select` - 複数行の取り扱いの改善 + +`promptSecret()`において出力が複数行に渡った際やバックスペースによって改行が削除された際の制御が改善されています。 + +### `@std/io@0.225.1` + +[@std/io@0.225.1](https://jsr.io/@std/io@0.225.1)がリリースされています。 + +#### `readAllSync()`の改善 + +`readAllSync()`で指定された`reader`からすべてのデータが読み込まれないことがある問題が修正されています。 + +## wasmbuild v0.19.0 + +[wasmbuild v0.19.0](https://github.com/denoland/wasmbuild/releases/tag/0.19.0)がリリースされています。 + +`--inline`オプションが追加されています。[WASMモジュール]({{< ref "articles/deno/v2.1.md" >}})がサポートされていないバージョンのDenoやブラウザーなど向けのビルドを生成したい場合に指定することが想定されています。[v0.18.0]({{< ref "articles/2025/01/12.md" >}})からデフォルトでDenoの[WASMモジュールサポート]({{< ref "articles/deno/v2.1.md" >}})の利用が前提とされたため、それに伴う変更のようです。 + +## @preact/preset-vite v2.10.0 + +[@preact/preset-vite v2.10.0](https://github.com/preactjs/preset-vite/releases/tag/v2.10.0)がリリースされています。 + +[Denoのサポート](https://github.com/preactjs/preset-vite/pull/154)が行われているようです。