46 lines (33 sloc) 2.38 KB

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.
  • ???

This is dumb! Nobody in open source does this!

React, Meteor, and Ember, among others, do this.

Previous discussion