JavaScriptパッケージシステム「npm」は巨大なバグを抱えていると指摘し、新たなパッケージシステムを開発する「vlt」。npm作者らの参加を発表
今回は「JavaScriptパッケージシステム「npm」は巨大なバグを抱えていると指摘し、新たなパッケージシステムを開発する「vlt」。npm作者らの参加を発表」についてご紹介します。
関連ワード (希望、激化、競争等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
npmに代わる新しいJavaScriptのパッケージシステム「vlt」(vōlt:ボールト)を開発しているvlt technologyは、同社にnpmの作者であるIsaac Z. Schlueter氏、npmのスタッフエンジニアリングマネージャであったDarcy Clarke氏、npmのCLIチームであったRuy Adornoらが参加すると発表しました。
Node.jsとnpmが作ったJavaScriptのエコシステム
サーバサイドでJavaScriptを実行可能にしたNode.jsの登場と、そのNode.jsを基盤にJavaScriptのアプリケーションやモジュールなどをパッケージングして登録し、自由にダウンロード可能にしたレジストリであるnpmの普及によって、JavaScriptのエコシステムは急速に拡大してきました。
いまでは本格的なJavaScriptのアプリケーション開発においては、開発対象がバックエンドであれフロントエンドであれ、npmの存在は欠かせないものとなっています。
しかしこのnpmには、その本質的な部分に大きなバグが存在すると指摘するのがvltです。
同社が「マニフェストの混乱」と指摘するのは、npmパッケージのマニフェストがそのtarボールとは独立して公開され、必ずしもtarボールの内容とマニフェストが一致せず、そこが悪用されてマルウェアなどを依存関係の中に隠すことができて検出されない、といった脆弱性をnpmが抱えているという点です。
これに対してvltがどのようなソリューションを考えているのかは、まだ明らかにされていません。
しかし今回同社に参加した3人は、npmの良い点も悪い点も知り尽くしているといってもよい人材であり、彼らがその反省の上に立ってJavaScriptのパッケージシステムを作り直すとすれば、どのようなものになるのかは非常に興味深いところです。
JavaScriptランタイムのようにパッケージシステムも競争が始まるか?
そしてそれは、Node.jsの作者であるライアン・ダール氏がNode.jsの反省を活かして、新たにJavaScriptランタイムであるDenoの開発を始めたことを思い起こさせます。
そしてそのDenoも、新たにパッケージレジストリ「JSR」をパブリックベータとして先月(2024年3月)に公開したばかりです。
参考:Deno、モダンなJavaScript/TypeScriptに最適化したパッケージレジストリ「JSR」パブリックベータ公開。Node.js、Bun、Cloudflareなどにも対応
JavaScriptランタイムがNode.js、Deno、Bun、そしてCloudflare WorkersやFastly Compute@Edgeなど、後続のさまざまなソフトウェアやサービスの登場によって競争が激化しているのと同じように、今後はJavaScriptのパッケージシステムもnpmだけでなく後続のサービスが登場して新たな競争が始まるのかもしれません。
現在vltはアーリーアクセスを希望するユーザー向けにウェイティングリストへの登録を受け付けているところです。