Files
babel/doc/design/monorepo.md
Yarden ShohamandGitHub fad543fc31 Use native GitHub markdown Note admonition (#15443)
[skip ci] Use native GitHub markdown `Note` admonition

GitHub will render it with an icon. The announcement post: https://github.com/community/community/discussions/16925

Signed-off-by: Yarden Shoham <[email protected]>
2023-02-20 14:18:24 -05:00

2.4 KiB

Why is Babel a monorepo?

Note

We don't use lerna to manage packages inside the monorepo, but yarn workspaces with an additional custom plugin.

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:

Pros:

  • 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 run together which finds bugs that touch multiple modules more easily.

Cons:

This is dumb! Nobody in open source does this!

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

Previous discussion