JavaScript向けパッケージマネージャ「Yarn 1.0」リリース

 米FacebookのYarnプロジェクトは9月7日、JavaScriptパッケージマネージャ「Yarn 1.0」を公開した。Workspacesの導入などの機能が加わっている。

 Yarnはnpmの代替としてFacebookが開発するJavaScript向けのパッケージマネジャー。高速で信頼性があり、かつ安全な依存管理を実現するという。一度パッケージをインストールするとオフラインでも再インストールができるというオフラインモード、依存関係のバージョン不整合の解決により重複を回避するフラットモード、ネットワークの効率的な利用などの機能も備える。2016年の秋にオープンソースとして公開した。ライセンスは2条項BSDライセンス。

 Facebookによると、GitHubにはYarnが利用するファイルである「yarn.lock」ファイルをルートディレクトリに持つプロジェクトは17万5000以上あるという。FacebookではメインのFacebookのWebサイト、Instagram、Oculus、WhatsAppなどで使われており、米Twitter、それに米Microsoftも「outlook.com」で採用しているとのこと。

 Yarn 1.0では、Workspaces導入が大きな特徴となる。package.jsonファイルから様々な依存性をアグリゲートして一度でインストールするもので、コードベースを単一のリポジトリにすることで依存性の同期や最新のコードを使うよう強制できる。

 yarnインストールを走らせることでロックファイル(yarn.lock)でのマージの衝突を自動的に解決する自動マージ機能も加わった。

 また、package.jsonファイルのresolutionsフィールドで特定のバージョンの依存性バージョンを特定できるSelective Version Resolutionsも加わった。重要なバグが発行された場合、直接依存性を利用していなくても速やかに適応できるという。

 このほか、インタラクティブなアップグレードを強化し、ファイル一貫性のチェックも高速になるなど、多数の強化が加わった。バグの修正も行われている。

 Yarn 1.0はプロジェクトのページより入手できる。

Yarn
https://yarnpkg.com/