diff --git a/content/articles/2024/10/06.md b/content/articles/2024/10/06.md new file mode 100644 index 000000000..8444ad79d --- /dev/null +++ b/content/articles/2024/10/06.md @@ -0,0 +1,104 @@ +--- +title: 2024/09/30〜2024/10/06の最新情報 +tags: + - Deno +categories: + - news +date: 2024-10-06 +description: Deno v2.0.0-rc.{8,9,10}がリリース (URLPattern#execの振る舞いの変更, deno lspでnpm:@types/*を追加するQuick fixがサポート, など) +--- + +## Deno v2.0.0-rc.8/v2.0.0-rc.9/v2.0.0-rc.10がリリース + +Denoのv2.0.0-rc.8〜v2.0.0-rc.10がリリースされています: + +- [`v2.0.0-rc.7`から`v2.0.0-rc.8`までの差分](https://github.com/denoland/deno/compare/b694efb3849c4737e8ad617a9a48d5488e21d5da...218a9bf7ebaabacb7fc2231b15a22f6102d4cd3c) +- [`v2.0.0-rc.8`から`v2.0.0-rc.9`までの差分](https://github.com/denoland/deno/compare/218a9bf7ebaabacb7fc2231b15a22f6102d4cd3c...aafe771b55f769d32145489c57fa33eb823716cb) +- [`v2.0.0-rc.9`から`v2.0.0-rc.10`までの差分](https://github.com/denoland/deno/compare/aafe771b55f769d32145489c57fa33eb823716cb...c7cba4eda73e000baa6bfbce6a156f9974edee36) + +### 破壊的変更 + +#### `URLPattern#exec`の振る舞いの変更 + +[Deno v1.46.0]({{< ref "articles/deno/v1.46.md" >}})で導入され、 +[Deno v1.46.1]({{< ref "articles/2024/08/25.md" >}})で取り消された`URLPattern#exec`の振る舞いの変更が改めて実施されました。 + +`URLPattern#exec`でパターンにマッチするグループがない場合に`groups[key]`に`undefined`が設定されるように振る舞いが変わります。 + +--- + +- [Revert "fix(urlpattern): fallback to empty string for undefined group values" #25961](https://github.com/denoland/deno/pull/25961) + +#### `$DENO_DIR/deps`が`$DENO_DIR/remote`へリネーム + +リモートからダウンロードされた依存関係のグローバルキャッシュとして利用される`$DENO_DIR/deps`ディレクトリが`$DENO_DIR/remote`へリネームされました。 + +`DENO_DIR`の操作を行うツールやライブラリなどを除いて、基本的にはこの変更による影響は特にないはずです。 + +--- + +- [BREAKING: rename "deps" remote cache folder to "remote" #25969](https://github.com/denoland/deno/pull/25969) + +### `deno lsp` + +#### `npm:@types/*`を追加するQuick fixのサポート + +自前で型定義を持たないnpmパッケージに対して`// @deno-types=\"npm:@types/*"`を追加するQuick fixが実装されています。(`Add @deno-types directive for \"\"`) + +--- + +- [feat(lsp): quick fix for @deno-types="npm:@types/*" #25954](https://github.com/denoland/deno/pull/25954) + +### Node.js互換性の改善 + +#### BYONM - `deno run npm:`のサポート + +[BYONM]({{< ref "articles/deno/v1.38.md" >}})が有効化されている状態で`deno run npm:`を実行しようとした際に、``が`package.json`で定義されていないとエラーが発生する問題が修正されています。この場合、対象の``は`deno.lock`には書き込まれないようなので、`deno run npm:@`のようにバージョンを明示すると安全そうです。 + +--- + +- [feat(byonm): support deno run `npm:` when package is not in package.json #25981](https://github.com/denoland/deno/pull/25981) + +#### libuv APIs + +[sqlite3](https://github.com/TryGhost/node-sqlite3)を動かすために必要な[libuvのAPI](https://github.com/nodejs/node/blob/v22.9.0/doc/api/n-api.md#implications-of-abi-stability)が実装されています。 + +--- + +- [fix(node): implement libuv APIs needed to support `npm:sqlite3` #25893](https://github.com/denoland/deno/pull/25893) + +#### Node-API + +Node-APIに依存したnpmパッケージをDenoのグローバルキャッシュを有効化した状態で利用しようとした際に、`"nodeModulesDir": "auto"`を追加して`deno install --allow-scripts=npm: --entrypoint