-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |