I prefer pnpm for monorepos
1st It caches node modules making it faster and space efficient
2nd It creates a root node-modules and then a node-module for each sub package. Which makes it much easier to work with monorepo packages. With a single node-modules you can accidently import packages that your package doesn't declare in package.json