22 lines
949 B
Markdown
22 lines
949 B
Markdown
---
|
|
title: "Monorepo"
|
|
ring: trial
|
|
quadrant: methods-and-patterns
|
|
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
|
|
[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/).
|