Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing.
Also making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated fast.
For example, some projects will organize their codebases into multi-package repositories, 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.
Lerna repo look like:
What Lerna can do ?
The two primary commands in Lerna
bootstrap will link dependencies in the repo together.
publish will help publish any updated packages.