ワークスペース - CI/CD 用語集の定義
ワークスペース とは、パッケージマネージャ(npm、Yarn、pnpm、Cargo)の機能で、一つのリポジトリが互いに依存し合える複数のパッケージを保持し、単一のインストールを共有できるようにするものです。
どう宣言するか
npm ではルートの package.json に "workspaces": ["packages/*"] を追加します。すると一度の npm install でローカルのパッケージが互いにリンクされ、共有された依存関係が単一のツリーに巻き上げられます。
CI が好む理由
単一のインストールと単一の lockfile がすべてのパッケージをカバーするため、CI の cache は共有され、パッケージをまたぐ変更も一度の実行でまとめてテストされます。
関連ガイド
Monorepo Tooling - CI/CD Glossary DefinitionMonorepo Tooling: Monorepo tooling is software (Nx, Turborepo, Bazel, Lerna, pnpm workspaces) that manages ma…
Scoped Package - CI/CD Glossary DefinitionScoped Package: A scoped package is an npm package namespaced under an `@scope/` prefix, like `@latchkey/cli`…
Package Registry - CI/CD Glossary DefinitionPackage Registry: A package registry is a repository that hosts published software packages for a language ec…