Deno 1.28登場、npm対応が安定版に到達。130万種以上のnpmモジュールを利用可能に
オープンソースのJavaScript/TyeScriptランタイム「Deno」の最新版となる「Deno 1.28」がリリースされました。
Deno 1.28の最大の新機能は、8月に発表されていたnpmモジュール対応が安定版となったことです。これで130万種類以上のnpmモジュールがDenoで利用可能になったと説明されています。
Deno v1.28 is released: npm compatibility is now stable!https://t.co/V6Z36PrHyi
— Deno (@deno_land) November 14, 2022
シンプル、セキュア、簡単なDenoのnpm対応
Denoでのnpmモジュール利用は非常にシンプルで、npm installコマンドも、package.jsonファイルも、node_moduleフォルダも不要だと説明されています(互換性のためフォルダ指定も可能)。
依存関係も明確に示され、制限も可能。
そして簡単にnpmモジュールを指定可能。
当初の方針を一部変更し、npmへの対応を発表
Denoは開発当初からあえてNode.jsとの互換性を捨てることで、Node.jsよりも優れたサーバサイドのJavaScript/TypeScript環境を新たに開発するという選択をしていました。
そのため、DenoではNode.js用のソフトウェアパッケージ機能であるnpm(Node Package Manager)には対応しておらず、npmで提供されるさまざまなライブラリヤフレームワークを利用することができませんでした。
しかし今年(2022年)8月にこの方針を一部変更し、npmへの対応を3カ月以内に行うと発表。予定通り3カ月後となる今月、npm対応の安定版が登場したわけです。
参考:Denoが大幅な方針変更を発表。3カ月以内にnpmパッケージへの対応を実現、最速のJavaScriptランタイムを目指しHTTPサーバを刷新
これはDenoよりもさらに後発として登場したJavaScript/TypeScriptランタイムであるBunが、npmをサポートしていることなどで注目を集めていることが影響しているとみられます。
参考:JavaScriptランタイム「Bun」が約9億円を調達、「Oven」社を設立。ホスティングやCIサービスなど計画
Deno 1.28におけるnpmの互換性はまだ完璧ではなく、いくつかのエッジケースによって非互換のnpmモジュールもあるため、Deno Landは今後数カ月かけて、さらに互換度を高めるべく作業をしていくとのことです。
あわせて読みたい
AWS Lambda、.NET 7の新機能であるネイティブコンパイラによる実行形式のバイナリに対応
≪前の記事
Ruby on Railsを推進する「The Rails Foundation」発足、理事長にDHH氏が就任。Cookpad、GitHub、37signals、Shopifyなどが創立