Configuración proyecto monorepo 1

Configuración proyecto monorepo

Configuración proyecto monorepo 2

Un proyecto monorepo es un repositorio único que contiene múltiples proyectos o paquetes relacionados en lugar de dividirlos en repositorios separados (multirepo). Se utiliza para gestionar código compartido entre distintas partes de una aplicación, mejorar la colaboración y facilitar la administración de dependencias.

1. Creamos un proyecto monorepo:

npx create-turbo@latest .
  • La carpeta apps contendrá una carpeta por cada una de las aplicaciones que se van a generar. Estas carpetas contienen el código específico de cada aplicación. Por ejemplo, si fueramos a desarrollar una aplicación para un profesor y una aplicación para un alumno, tendríamos dentro de apps la carpeta teacher y la carpeta student.
  • La carpeta packages contiene el código compartido entre las aplicaciones.

Instalación de dependencias

A la hora de instalar módulos, el comando npm siempre se ejecutará desde la raíz del monorepo. Este comando accederá a los ficheros package.json de las aplicaciones individuales y del código común y descargará automáticamente lo que corresponda en la carpeta correcta.

La aplicación de Teacher cargará el módulo almacenado en la carpeta packages e identificado con el nombre api.

└── application/
    └── apps/
        └── teacher/
            └── package.json ("dependencies": {"@chat/api": "*")
.
└── application/
    ├── apps
    └── packages/
        └── api/
            └── package.json ({"name": "@chat/api")