技術とかの雑なToday I Learnedメモ

workspacesを学んだ

workspaces を学んだ

vuejs/vue-test-utils: 🔬 Utilities for testing Vue componentsというライブラリのコードを読むにあたって workspaces という概念を学んだ。

もともと yarn workspaces というのがあるのは知っていたけどどういうものかあんまり分かっていなかった。

コードを読んでいたら「これは一体どこのコード……?」という部分が出てきて、packagesというディレクトリや package.json を見ていてググったら workspaces の話が出てきた。

vue-test-utils/package.json at dev · vuejs/vue-test-utils

npm workspace の使い方 - Qiita

Yarn のワークスペースの初歩 - 30 歳からのプログラミング

npm にも yarn にも workspaces はあって、どちらもできることはだいたい同じっぽい。

複数のパッケージを 1 リポジトリで管理でき、配下のパッケージはシンボリックリンクで管理する。

この仕組みによって、パッケージをまたいだ修正や変更がやりやすくなる。

npm に公開していないパッケージも node_modules に(シンボリックリンクとして)存在しているので、依存パッケージをまたいだ開発や修正がやりやすくなる。なるほど。

依存パッケージの管理をすべて root の yarn.lock でできる。

Workspaces | Yarn

ワークスペース | Yarn

一部日本語訳も含めて公式ドキュメントをちゃんと読みます。