Files
TechradarDev/radar/2022-03-28/monorepo.md
2024-03-12 14:31:48 +01:00

23 lines
952 B
Markdown

---
title: "Monorepo"
ring: trial
quadrant: methods-and-patterns
featured: true
tags: [coding]
---
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/) / [Flamingo](/languages-and-frameworks/flamingo/) 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/).