Skip to content

Commit

Permalink
docs: add articles/2024/10/06
Browse files Browse the repository at this point in the history
  • Loading branch information
uki00a committed Oct 6, 2024
1 parent 2bdfd2c commit 47bd5ad
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions content/articles/2024/10/06.md
Original file line number Diff line number Diff line change
@@ -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 \"<package>\"`)

---

- [feat(lsp): quick fix for @deno-types="npm:@types/*" #25954](https://github.com/denoland/deno/pull/25954)

### Node.js互換性の改善

#### BYONM - `deno run npm:<package>`のサポート

[BYONM]({{< ref "articles/deno/v1.38.md" >}})が有効化されている状態で`deno run npm:<package>`を実行しようとした際に、`<package>``package.json`で定義されていないとエラーが発生する問題が修正されています。この場合、対象の`<package>``deno.lock`には書き込まれないようなので、`deno run npm:<package>@<version>`のようにバージョンを明示すると安全そうです。

---

- [feat(byonm): support deno run `npm:<package>` 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:<package> --entrypoint <script>`を実行するよう促す警告が導入されています。

---

- [feat: Add suggestion for packages using Node-API addons #25975](https://github.com/denoland/deno/pull/25975)

#### `node:buffer` - `transcode()`がサポート

`node:buffer`[`transcode()`](https://github.com/nodejs/node/blob/v22.9.0/doc/api/buffer.md#buffertranscodesource-fromenc-toenc)が実装されました。

---

- [feat(ext/node): buffer.transcode() #25972](https://github.com/denoland/deno/pull/25972)

### Workspaces

#### `--config`の取り扱いの改善

`--config`オプションで明示的に指定された`deno.json`のワークスペースに関する設定が適切に取り扱われない問題が修正されています。

---

- [fix(workspace): handle when config has members when specified via --config #25988](https://github.com/denoland/deno/pull/25988)

#### ワークスペースメンバー配下で`node_modules`が作成される条件の変更

[Deno v1.45.3]({{< ref "articles/2024/07/28.md" >}})で各ワークスペースメンバー間で同じパッケージが使用されており かつ それらのパッケージのバージョンで衝突が検出された場合に`node_modules`を作成する変更が導入されました。

Deno v1.45.3の時点では、バージョンの衝突判定はsemverに基づいたマッチングによって行われていました。ただ、このsemverによる衝突判定は挙動が不安定になることがあるようで、今回のDeno v2.0.0-rc.10においてそれぞれのバージョンが完全一致するかどうかを元に判断するよう挙動が変更されています。

---

- [fix(install): compare versions directly to decide whether to create a child node_modules dir for a workspace member #26001](https://github.com/denoland/deno/pull/26001)

0 comments on commit 47bd5ad

Please sign in to comment.