米Facebookは、JavaScript向けのパッケージマネージャ「Yarn 1.0」を、9月7日(現地時間)にリリースした。
「Yarn 1.0」では、新機能として複数の依存関係を自動的に集約できる「ワークスペース」機能を搭載している。ワークスペースによって、複数のpackage.jsonファイルから依存関係を一括インストール可能になるほか、rootに置いた単一のyarn.lockでそれらをすべてロックできる。すべてのワークスペースにシンボリックリンクを作成すれば、すべてのプロジェクトをまたぐ依存関係の解決が可能になる。
なお、Yarnのワークスペース機能は、Facebook内のいくつかの開発チームや、Babelのようなオープンソースプロジェクトにおいて、すでに利用されている。
さらに、複数のコントリビュータが存在する、開発ペースの速いプロジェクトにおいて発生しがちな、yarn.lockのマージ時のコンフリクトを解決する機能として、新たに自動マージ機能を備えており、マージ時のコンフリクト発生を自動的に防ぎ、ディスク容量を節約するとともに、開発者をバージョン管理の苦労から解放する。
またpackage.jsonファイルには、使用しているパッケージに、重要なバグフィックスや、緊急度の高いセキュリティアップデートが行われた場合に、依存関係が更新されるまで待つか、新たなリリースまで依存関係を手動で更新するかを設定できる、resolutionsフィールドが追加された。
このほか、整合性チェックの高速化や、プロジェクトごとのロックファイルパーサモジュールの分離など、さまざまな機能改善・修正が行われている。
【関連リンク】
・Facebook開発者向けサイト
・「Yarn」(英語)
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です