Files
TechradarDev/radar/2022-03-28/monorepo.md
Thorsten Essig 91447be7b1 fix typo
Co-authored-by: resah <3407199+resah@users.noreply.github.com>
2022-04-26 10:41:05 +02:00

22 lines
949 B
Markdown

---
title: "Monorepo"
ring: trial
quadrant: methods-and-patterns
featured: true
---
A monorepo is a single repository containing multiple projects and shared libraries with their relationships.
At AOE, we are using a monorepo that is home to both our React and Next.js based frontends and
our [Go](/languages-and-frameworks/go-lang.html) / [Flamingo](/languages-and-frameworks/flamingo.html) based backends,
as well as shared libraries we use in all of our projects.
The main benefits in that approach are:
* Breaking changes are directly detected and must be fixed within the same pull request on all projects
* No conflicting versions of dependencies
* Same CI Setup for everything and no overhead on new projects
* Tool consistency over all projects
If you take the monorepo approach, of course you want to have a tool to manage it. There are a lot of them on the market
and at AOE we have decided to go with [Nx](/tools/nx.html).