JavaScript向けパッケージマネージャー「npm 5.0」が公開

 JavaScript向けのパッケージマネージャ「npm」の開発チームは5月25日、最新安定版となる「npm 5.0」を公開した。キャッシュ機構の書き直しにより性能を大幅に改善するとしている。

 npmはNode.js向けパッケージマネージャー。パッケージ形式で配布されているライブラリのインストールやリポジトリへのアップロード、依存性管理などの機能を持つ。多くのJavaSciprtベースのライブラリがnpm経由で配信されており、ソフトウェアレジストリは世界最大規模としている。

 npm 5.0は、2016年10月に公開されたnpm 4.0に続く最新版。キャッシュ機構の書き直しなどにより性能を強化し、バージョン4と比較するとよくある状況で2~6倍の性能向上が達成できたという。フォールトトレラントの強化、同時アクセスのサポートなども加わった。

 なおキャッシュ機構については後方互換性のない変更となり、キャッシュされたパッケージは再ダウンロードする必要がある。「npm cache」コマンドは書き直しが行われ、「npm verify」コマンドではガベージコレクションを行うことで一貫性の維持やディスク容量削減が実現するという。また、「–cache-min」および「–cache-max」オプションは非推奨となった。さらにNode.jsでサポートするハッシュ関数を持つtarballのハッシュもサポートされた。破損したキャッシュエントリは自動的に削除されてリファクタリングされる。

 キャッシュではこのほか、オフライン時にキャッシュをシームレスに使用するAutomatic Fallback to offlineモードの導入や、オプションの追加などが加わっている。

 npm installコマンドでパッケージをインストールした際、デフォルトでそのパッケージに関する情報がpackage.jsonファイルに記録されるようになった。同時に、「npm-shrinkwrap.json」ファイルが存在しない場合は自動的に「npm-shrinkwrap.json」ファイルが作成されるようになった。

 これらに加え、新たにログレベルnoticeがデフォルトとして追加され、Stubファイルは削減された。sha-1に加え、sha512もサポートした。また、バグも多数修正されている。

npm
https://www.npmjs.com/