現在、monorepoを移行して Lerna を使用するようにしています。
LernaはNPMとYarnの両方をサポートし、さらにYarnワークスペースでの使用の構成を可能にします。 Lerna with Yarnワークスペースが、Lerna withNPMに明確な利点があるかどうかは私にはわかりません。多くの投稿は、Lernaが箱から出してYarnワークスペースとほぼ同じことをしていると主張しています。
Lerna with NPMとは対照的に、Lerna with Yarnワークスペースを使用することに利点はありますか?
私の知る限り、NPMにはYarn workspaces
に匹敵するメカニズムはありません。
Lerna + Yarnワークスペースは、アプリケーションではなくライブラリを開発するときに輝き始めますが、この組み合わせは、リリース管理や簡単に定義できる機能などの便利さを提供することで、ローカル開発者のエクスペリエンスを向上させることができると思います。プロジェクト内のパッケージのすべてまたは選択した「スコープ」に対して「root」スクリプトを実行します。
調査の結果、次の違いが見つかりました。
package-lock.json
各パッケージのファイル。Yarnを使用すると、プロジェクトのルートにoneのみが作成されます。