2026/04/27〜2025/05/03の最新情報

直近のDenoの変更について 直近でDenoのmainブランチにいくつかの機能がマージされているため紹介します。 ⚠️ これらの機能はまだ正式にはリリースされていないため、今後、使用方法などが変更される可能性があります deno compile - フレームワークの検出機能 deno compileコマンドにフレームワークの検出機能が追加されています: feat: framework detection for deno compile #33164 deno compileの引数としてディレクトリが指定された場合、指定されたディレクトリ内に存在する設定ファイル (例: next.config.js)などに基づいてDenoが自動的にプロジェクトで使用されているフレームワークを検出し、必要に応じて該当フレームワーク向けのビルドコマンドを実行した上で、最終的に実行可能ファイルを作成してくれます。 現状、以下のフレームワークがサポートされているようです: Next.js Fresh Astro Nuxt SvelteKit Remix SolidStart TanStack Start Vite (SSR) 先週に紹介したdeno desktopコマンドにおいてフレームワークの検出機能の導入が検討されており、その一環の対応であると思われます。 catalog:プロトコル カタログ機能を実装するPRがマージされています: feat(npm): add catalog: protocol for centralized dependency versions in workspaces #32947 ワークスペースのルートにおけるdeno.jsonまたはpackage.jsonにおいてcatalogもしくはcatalogsプロパティーを定義しておくことで、pnpmなどと同様にワークスペースメンバーの各package.jsonにおいてカタログで定義されたパッケージのバージョンをcatalog:形式で参照することができます。 deno transpile 昨年に提案されていたdeno transpileコマンドが実装されています: feat: add deno transpile subcommand #32691 TypeScriptファイルをJavaScriptファイルにトランスパイルするためのコマンドで、--declarationオプションを指定することで.d.tsファイルの生成も行えるようです。 現在はクローズされていますが、以前にDenoからnpmパッケージの公開を行えるようにするためのdeno publish –npmの実装が進められており、deno transpileコマンドの追加はその一環である可能性もありそうです。...

May 3, 2026

2025/03/03〜2025/03/09の最新情報

Deno v2.2.3 Deno v2.2.3がリリースされています。 deno lint プラグインシステムにおけるセレクターの改善 セレクターにおいて、以下のように特定のプロパティを保持するノードのみの問い合わせがサポートされています (#28324) const plugin: Deno.lint.Plugin = { name: "sample-plugin", rules: { "some-rule": { create: (ctx) => { const visitor = { ".callee": (node) => { // `.callee`を保持するNodeのみを問い合わせる }, }; return visitor; }, }, }, }; また、セレクターの構文における:has()/:is()/:where()/:not()や属性に対する正規表現によるマッチング (例: MemberExpression[property.name=/Object/])がサポートされています (#28348, #28340) これらの機能の追加に合わせて、公式ドキュメントも改善されています (https://github.com/denoland/docs/pull/1508) プラグイン実行時のパーミッションの取り扱いの変更 プラグインの実行時に--no-promptが有効化されるよう挙動が変更されています (#28305) deno lspとdeno lintでJavaScriptプラグインを実行する際の方式を統一することを目的とした変更のようです。 現状、deno lintにおいては--allow-readなどのパーミッションフラグを指定する方法はありませんが、要望はすでに挙げられているようです:...

March 9, 2025

2022/10/17〜2022/10/23の最新情報

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....

October 23, 2022