Deno v1.26.2
Deno v1.26.2がリリースされました。
サブプロセス関連のAPIやnpmサポートの改善、fetch()
の互換性の向上などが実施されています。
Deno.SpawnOptions
でwindowsRawArguments
オプションがサポート
Windows上でこのオプションにtrue
を指定すると、コマンドライン引数のクォーテーションの付与とエスケープがスキップされます。
const { success, stdout } = await Deno.spawn(cmd, {
args,
windowsRawArguments: true,
});
この機能は、後述するdeno_std v0.160.0におけるwindowsVerbatimArguments
の実装に利用されています。
npmサポートの改善
dist-tagがサポートされています。
例)
import ts from "npm:typescript@next";
その他の改善として、npmレジストリからのパッケージ情報のダウンロード処理が並列化されています。
Fetch APIの互換性の向上
Fetch Standardとの互換性の改善が実施されています。
例)
Headers
で不正な形式のヘッダを連続で解析すると、二度目以降の解析時にエラーが発生しない問題が修正fetch()
の呼び出し時にRange
ヘッダが指定された際は、Accept-Encoding: identity
が自動で設定されるように修正Response
やRequest
に空のFormData
を渡せるように改善Response
に設定したReadableStream
から非Uint8Array
型のチャンクが読み込まれた際は、TypeError
が発生するように修正- レスポンスボディが
Content-Length
を超過した際などにTypeError
が発生するように修正
それ以外にもCache APIやWeb Streams APIなどでも互換性の向上が実施されています。
その他の変更点
deno task
でのスクリプト実行時にINIT_CWD
環境変数が設定されるように修正 (npm runとの互換性の向上が目的のようです)deno.json(c)
のimportMap
オプションにリモートURLを指定できるように改善deno lsp
での補完時に、スニペットが適切に取り扱われるように修正- コンパイル対象ファイルの名前が
@
で始まるときに、deno compile
がパニックする問題が修正
https://github.com/denoland/deno/releases/tag/v1.26.2
deno_std v0.160.0
deno_std v0.160.0がリリースされました。
このリリースではstd/node
のNode.js互換性の向上が実施されています。
変更点:
std/node/readline/promises
が実装std/node/child_process
:windowsVerbatimArguments
オプションがサポートstd/node/fs
: Windowsでfs.access()
が失敗する問題が修正std/node/fs
:fs.Dir
でディレクトリエントリを読み込んだ際に、Deno.DirEntry
ではなくfs.Dirent
が返却されるように修正されています
https://github.com/denoland/deno_std/releases/tag/0.160.0
Prisma v4.5.0
Prisma v4.5.0で、Denoの初期サポートが追加されました。
これにより、Prisma CLIやPrisma ClientをDenoで動かすことができるようになりました。
このリリースに合わせて、公式ドキュメントでDeno Deployへのデプロイガイドが公開されています。
制限として、現在ではPrisma Data Proxy経由でのデータベース接続のみがサポートされています。
また、PrismaにおけるDenoサポートは、まだプレビュー機能という位置づけのため、本格的な使用にはまだ注意が必要かもしれません。
- https://github.com/prisma/prisma/releases/tag/4.5.0
- https://github.com/prisma/prisma/issues/2452#issuecomment-1282956083
- https://github.com/prisma/docs/blob/716d297399d507b6a8f6165455412ac1be7aa150/content/300-guides/200-deployment/110-deployment-guides/550-deploying-to-deno-deploy.mdx
Nuxt 3でのDenoサポート
Nuxt 3のサーバエンジンであるNitroでDeno presetの実装が進んでいるようです。
これが実装されれば、Nuxt 3で開発されたアリケーションをDeno Deploy上などで動かせるようになりそうです。