Facebook、JavaScriptの新パッケージマネージャ「Yarn」をオープンソースで公開。npmのリプレースで高速かつセキュアに。パッケージの依存問題も解決
FacebookはJavaScriptの新しいパッケージマネージャ「Yarn」をオープンソースとして公開したと発表しました。
Yarn is a new package manager that replaces the existing workflow for the npm client or other package managers while remaining compatible with the npm registry. It has the same feature set as existing workflows while operating faster, more securely, and more reliably.
Yarnは新しいパッケージマネージャであり、npmレジストリと互換性を保ちつつ、既存のワークフローでのnpmクライアントやそのほかのパッケージマネージャを置き換えるものです。既存のワークフローにおいて同じ機能を備えつつ、より迅速に運用でき、よりセキュアで信頼性の高いものです。
(「Yarn: A new package manager for JavaScript | Engineering Blog | Facebook Code | Facebook」から)
JavaScriptのパッケージマネージャとしてはnpmが一般的ですが、Facebook社内での大規模な開発環境やインターネットとは切り離されたセキュアな環境では性能やセキュリティなどの面で課題があったとのこと。課題を解決するために既存のパッケージマネージャの改善に取り組んだものの満足のいく解決ができなかったため、新しくYarnを開発したと説明しています。開発にはGoogleなど他社のエンジニアも参加しています。
Yarnでは、npmで生じていたモジュールの依存性に関する問題も解決し、どのマシンでも一意なものになるとしています。
Yarn resolves these issues around versioning and non-determinism by using lockfiles and an install algorithm that is deterministic and reliable. These lockfiles lock the installed dependencies to a specific version, and ensure that every install results in the exact same file structure in node_modules across all machines.
Yarnはバージョニングや一意に決まらないといった問題を、ロックファイルと決定論的かつ信頼性の高いインストールアルゴリズムによって解決しました。このロックファイルはインストールするものの依存性を特定のバージョンをにロックし、すべてのマシンにおいてインストール結果が毎回同一のファイル構造になることを確実にします。
Facebook社内ではすでにYarnを本番環境で利用し、開発のスピードアップに貢献しているとのことです。
あわせて読みたい
オープンソースのエディタ「Visual Studio Code 1.6」リリース。TypeScript 2.0対応、セーブ時にコードを自動フォーマットしてくれるFormat on Save機能など
≪前の記事
Google、Chromium OSをベースにDockerコンテナ実行に最適化した仮想マシンのイメージ「Container-VM Image」正式リリース。Google Cloud用として