Why is Babel a monorepo?
The tool for managing the monorepo in Babel has been extracted out as Lerna
Juggling a multimodule project over multiple repos is like trying to teach a newborn baby how to ride a bike.
Babel follows a monorepo approach, all officially maintained modules are in the same repo.
This is quite taboo but let's look at the pros and cons:
- Single lint, build, test and release process.
- Easy to coordinate changes across modules.
- Single place to report issues.
- Easier to setup a development environment.
- Tests across modules are ran together which finds bugs that touch multiple modules easier.
- Codebase looks more intimidating.
- Repo is bigger in size.
- Lower ranking in npms results. At least until npms-io/npms-analyzer#83 is fixed.