Deno v2.1.2
Deno v2.1.2がリリースされています。
WASMモジュール
.wasm
モジュールから提供される関数以外の要素の読み込みがサポートされています。
TypeScript
deno check
コマンドでJSDocの@import
タグがサポート
.js
ファイルにおける@import
タグによる型チェックがサポートされています。
resolution-mode
属性のサポート
TypeScriptのresolution-mode
属性のサポートが追加されています。
deno fmt --check
- .sql
ファイルに対してエラーが発生する問題の修正
.sql
ファイルに対してdeno fmt --check
を実行すると、常にエラーが発生する問題が修正されています。
deno init --npm
scopedパッケージのサポート
deno init --npm
でscopedパッケージがサポートされています (例: deno init --npm @foo/bar
を実行すると、@foo/create-bar
パッケージが実行されます)
node_modules
のセットアップ
deno init --npm
の実行時にnode_modules
が作成されるよう挙動が改善されています。
deno lsp
.wasm
モジュールサポートの改善
import
宣言の補完時に.wasm
モジュールが候補として含まれるよう改善されています。
deno task
のオブジェクト形式のタスクがサポート
deno lsp
がdeno task
のオブジェクト形式のタスクの定義を認識できるよう改善されています。
deno compile --include
に関するバグ修正
Deno.FsFile#read
などのサポート
埋め込まれたファイルのDeno.FsFile#read
などでの読み込みが行えない問題が修正されています。
TypeScriptファイルを埋め込むとエラーが発生する問題が修正
TypeScriptファイルが埋め込まれた場合、実行可能ファイルの実行時にエラーが起きる問題も修正されています。
deno task
- description
フィールドの取り扱いの改善
引数なしでdeno task
を実行した際に、description
に改行やANSIエスケープコードなどが含まれる説明が適切に表示されるよう改善されています。
- fix(task): handle multiline descriptions properly #27069
- fix(task): handle carriage return in task description #27099
- fix(task): strip ansi codes and control chars when printing tasks #27100
deno publish
- bun:
のサポート
bun:sqlite
などのBunの組み込みパッケージに依存したモジュールをdeno publish
で公開できるよう改善されています。
deno info
- ワークスペースサポートの改善
deno info
コマンドでワークスペースのメンバーを参照するbare specifierが適切に解決されるよう改善されています。
Deno API
OpenTelemetry
Deno.serve()
とfetch()
に対する計装が実施されています。
Deno.upgradeWebSocket
のバグ修正
Deno.upgradeWebSocket
を呼んだ後にRequest.bodyUsed
を参照するとエラーが発生する問題が修正されています。
Deno.watchFs
のバグ修正
対象ファイルが削除された際に、適切にremove
イベントが発火されなくなっていた問題が修正されています。
Web API
WebSocket#send
の挙動の変更
すでに切断されている状態でWebSocket#send
が呼ばれた際に、例外が発生しないよう挙動が修正されています。
ReadableStream.from
の型定義の改善
ReadableStream.from
の引数として文字列を渡せないよう型定義が改善されています。
Node.js互換性の改善
--unstable-detect-cjs
の再導入
Deno v2.1.0で安定化された--unstable-detect-cjs
が再導入されています。
このオプションを指定すると、package.json
が存在しない場合 または package.json
でtype
が定義されていない場合でも、.js
や.ts
などのモジュールをCommonJS形式として読み込めます。
CommonJSサポートの改善
CommonJS形式モジュールからdynamic importが使われている場合、package.json
のexports.require
が常に読み込まれる問題が修正されています。
node:tls
connect()
にsocket
オプションを渡すとエラーが発生する問題が修正されています。
node:fs/promises
stat()
とFileHandle#stat
が実装されています。
node:fs
stat()
で引数に対するバリデーションが適切に行われるよう改善されています。
node:http
ServerResponse#hasHeader
において、与えられたヘッダー名を正規化してからヘッダーの存在を確認するように挙動が改善されています。
node:timers
clearTimeout
/clearInterval
の引数としてnumber
型の値がサポートされています。
deno_std
のリリース
deno_std
でリリースが行われています:
@std/cli@1.0.7
@std/cli@1.0.7がリリースされています。
promptSelect()
が実装
新規APIとしてpromptSelect()
が実装されています。ユーザーに対して、指定された値の一覧からの選択を促すことができます。
@std/tar@0.1.4
@std/tar@0.1.4がリリースされています。
@std/tar/untar-stream
pax形式のアーカイブを展開できない問題が修正されています。
deno lint
へのJSX関連のルールの追加について
直近でdeno_lintに対してJSX関連のルールの追加が実施されています:
ルール | 説明 |
---|---|
jsx-key | iterableな値がJSXに出現した際に、key 属性の指定を推奨するためのルール |
no-danger | dangerouslySetInnerHTML の使用を検出してくれるルール |
jsx-props-no-spread-multi | 同一のスプレッド構文の二重使用を検出してくれるルール |
jsx-no-children-prop | props.children に対する誤った指定を検出してくれるルール |
jsx-curly-braces | JSXにおける中括弧の指定方法に関して一貫した作法を提供するルール |
jsx-void-dom-elements-no-children | 空要素に対するchildren の指定を検出してくれるルール |
jsx-boolean-value | boolean 値のprops に対して短縮記法の使用を推奨するためのルール |
button-has-type | <button> 要素に対する誤ったtype の指定を検出するルール |
jsx-no-useless-fragment | 効果のないFragment(<>...</> )の使用を検出するルール |
jsx-no-danger-with-children | dangerouslySetInnerHTML とchildren の併用を検出するルール |
まだドラフト状態ですが、Deno本体にdeno_lint
をアップデートするPRが作成されており、今のところDeno v2.2.0でのリリースが検討されているようです:
Prisma v6
Prisma v6がリリースされています。
Deno v2との互換性の改善が実施されているようです。
SimpleWebAuthn v12
SimpleWebAuthn v12がリリースされています。
このリリースに伴い、JSRへパッケージが公開されています (@simplewebauthn)
deno.land/x/simplewebauthnについては今後サポートされないため、JSRへの移行が推奨されます。