Setup a CoSpace to link multiple (mono)repos together!
npx cospace@latest init my-cospacecd my-cospace-
Clone all the repos you want to link together under the
repossub directory. -
Update the
pnpm-workspace.yamlfile with all the packages you want to add to yourCoSpace. By default all packages under therepossub 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-workspacefile with all the repos you want to add to your vscode multi-root workspace. -
Run
pnpm exec cospace overrideto automatically update thepnpm.overridessection 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 installto install all dependecies in your workspace and link all the packages you've added to yourCoSpace. -
Run
pnpm buildto build all the packages you've added to yourCoSpaceusing 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
CoSpaceto 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]