As the package manager we chose pnpm (opens in a new tab).
It is a fast, disk space efficient package manager that uses hard links and symlinks to save one version of a module only ever once on a disk. It also has a great monorepo support (opens in a new tab).
To install a package to the supastarter monorepo you need to decide whether you want to install it to the root of the monorepo or to a specific workspace. Installing it to the root makes it available to all packages, while installing it to a specific workspace makes it available only to that workspace.
To install a package globally, run:
pnpm add -w <package-name>
To install a package to a specific workspace, run:
pnpm add --filter <workspace-name> <package-name>
Here is a list of the workspaces of supastarter:
Removing a package is the same as installing but with the
To remove a package globally, run:
pnpm remove -w <package-name>
To remove a package to a specific workspace, run:
pnpm remove --filter <workspace-name> <package-name>
Updating is a bit easier since there is a nice way to update a package in all workspaces at once:
pnpm update -r <package-name>