Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated really fast.
Projects like Babel, React, Angular, Ember, Meteor, Jest, and many others develop all of their packages within a single repository.
Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.
Workspaces are a new way to set up your package architecture, allows you to setup multiple packages in such a way that you only need to run yarn install once to install all of them in a single pass.
Nx is a set of extensible dev tools for monorepos, has first-class support for many frontend and backend technologies.