Deno v2.9
はじめに Deno v2.9がリリースされました。 この記事では主な変更点などについて紹介します。 deno desktop 実験的機能としてDenoでデスクトップアプリケーションを開発するためのdeno desktopコマンドが実装されています (#33441, #35267, #35296, #35378, #35420, #35424, #35425, #35442, #35472, #35484, #35485) 内部的にはdeno compileの仕組みを活用して実装されているようで、フレームワークの検出機能などもサポートされています。 deno desktopでは--backendオプションにより以下の3種類のバックエンドを切り替えることができます: webview (デフォルト) cef raw 各種バックエンドの実装はlaufeyというライブラリから提供されており、$DENO_DIR/laufey/<laufey-version>にダウンロードされます。 --outputオプションに指定したファイル名の拡張子から、様々なフォーマットへのパッケージングがサポートされています (.dmg/.msi/.AppImage/.deb/.rpmなど) その他にも--hmrオプションによるHMRのサポート、Deno.serve()との統合、bindings[name]()によるDenoランタイムからバックエンドへの関数の公開、alert()/confirm()などによるネイティブポップアップの表示、NotificationAPIによる通知、Deno.BrowserWindow/Deno.Tray/Deno.dock/Deno.MenuItem/Deno.autoUpdate()などのAPIなどがサポートされています。 先週に紹介した時点からの差分として、フレームワークの検出機能において通常のViteを使用したプロジェクトの検出がサポートされています (#35470)。今まではVite SSRを使用しているケースのみがサポートされていましたが、より様々なプロジェクトで活用の余地が広がりそうです。 deno bundle --declaration deno bundleに--declarationオプションが追加されています (#33838)。バンドルとともに単一の型定義ファイルを生成してくれるため、deno packコマンドなどと併用すると便利そうです。 $ deno bundle src/lint.ts --outdir dist --declaration ⚠️ deno bundle is experimental and subject to changes Emit dist/lint.d.ts Bundled 15 modules in 62ms dist/lint.js 63.9KB deno link/deno unlink deno link及びdeno unlinkコマンドが実装されています (#34359)。deno....