Deno v2.1.6

Deno v2.1.6がリリースされています。

deno check

compilerOptions.typesに関する修正

compilerOptions.typesで指定されたモジュールの解決が適切に行われないことがある問題が修正されています (#27686)

未サポートのメディアタイプに関する修正

Denoが認識しないメディアタイプのモジュールを常に.jsとして扱っていた問題が修正されています (#27631)

Ambient modulesによって任意の拡張子のモジュール(例: *.svg)に型を適用しているパッケージに対して型チェックがうまく動作しない問題があったようです。

vite/client向けの改善

/// <reference types="..." />ディレクティブにおいて、typesnpm:から始まらない名前が指定された場合に、うまくパッケージを解決できない問題が修正されています (#27690)

主にvite/clientを意識した対応のようです。

また、npmパッケージからimport.metaの型を拡張できない問題が修正されています。

deno lsp

vscode_denoにおいて未保存のファイルをフォーマットできない問題が修正されています (#27637)

deno compile - Windows向けのバグ修正

Windows向けに生成したバイナリーでerror: Uncaught SyntaxErrorエラーが発生することがある問題が修正されています (#27654)

DENO_DIRがコンパイル対象のコードと別のドライブにある場合にこのエラーが発生していたようです。

Node.js互換性の改善

node:net

npm-check-updatesパッケージやplaywright installコマンドを動かすためのワークアラウンドが導入されています。

node:fs/promises

FileHandleに以下のメソッドが実装されています:

  • writev
  • chown
  • utimes

node:child_process

spawn()などのAPIでoptions.envが指定された際に、指定された環境変数のみが子プロセスに設定されるよう挙動が修正されています (今まではoptions.envで指定されたものに加え、親プロセスに元々設定されていた環境変数もすべて引き継がれていたようです)

esm.sh v136

esm.sh v136がリリースされています。

jsrパッケージの読み込みが正式にサポート

実験的機能であったjsrパッケージのサポートが正式に公開されています:

import { pick } from "https://esm.sh/jsr/@std/collections@1.0.9/pick";

pkg.pr.newのサポート

pkg.pr.newからのパッケージの読み込みがサポートされています。esm.sh/prから読み込むことができるようです。

pnpmへの依存の削除

pnpmへの内部的な依存が削除され、Goベースの独自のパッケージマネージャーが導入されているようです。これに伴いNode.jsへの依存も不要になる模様です。esm.shをセルフホストしたい場合に影響がありそうです。

unenvの導入

unenvが内部的に導入され、これに伴い以下のような読み込みがサポートされたようです:

import { join } from "https://esm.sh/node/path.mjs";

esm.sh/x

実験的エンドポイントとしてesm.sh/xが導入されたようです (.tsx/.vue/.svelteなどの形式のモジュールをブラウザーで直接実行するためのエンドポイントのようです)

semverに基づいた依存解決

あるパッケージに対して依存解決する際に、同一パッケージの複数バージョンが読み込まれてしまうことを防止するために、固定されたバージョンではなくsemverに基づいて依存解決をするよう内部的な挙動が変更されています。

?pinパラメーターの削除

?pinパラメータが削除されています。

非推奨化

build API (esm.sh/build)とDeno向けのCLIが非推奨化されています。

Nuxtのチュートリアルが公開

Denoの公式ドキュメントでNuxtとTailwind CSSを使用するためのチュートリアルが公開されています:

以下のページから閲覧できます: