Setup a CoSpace
to link multiple (mono)repos together!
npx cospace@latest init my-cospace
cd my-cospace
-
Clone all the repos you want to link together under the
repos
sub directory. -
Update the
pnpm-workspace.yaml
file with all the packages you want to add to yourCoSpace
. By default all packages under therepos
sub directory will be added to yourCoSpace
; you will probably want to be more specific and build/link only what you need. -
Update the
cospace.code-workspace
file with all the repos you want to add to your vscode multi-root workspace. -
Run
pnpm exec cospace override
to automatically update thepnpm.overrides
section of theCoSpace
'spackage.json
, to link all the dependencies together with the copy found in the workspace. This will ignore semver and always use the local package version from the workspace, very useful for when you have pre-release versions of packages in your workspace. -
Run
pnpm install
to install all dependecies in your workspace and link all the packages you've added to yourCoSpace
. -
Run
pnpm build
to build all the packages you've added to yourCoSpace
using your monorepo task runner. By default we use lage, but turborepo should work as well.
For more information visit the docs site.
- itwin-cospace, an example of a
CoSpace
to help develop with the iTwin Platform.
git clone --filter=blob:none --no-checkout {repo}
cd {repo}
git checkout {branchName}
git sparse-checkout init --cone
git sparse-checkout set [...allSubDirs]