Monorepo con Turborepo y pnpm: Setup completo para equipos en 2025
Aprende a configurar un monorepo eficiente con Turborepo y pnpm para proyectos TypeScript/JavaScript, optimizando el flujo de trabajo en equipos de desarrollo latinoamericanos. Incluye ejemplos prácticos y mejores prácticas para escalar tu arquitectura de software.
Introducción al Monorepo en 2025
En el ecosistema de desarrollo latinoamericano, la adopción de monorepos ha crecido exponencialmente. Esta arquitectura permite gestionar múltiples proyectos dentro de un único repositorio, facilitando la colaboración y el compartir código entre equipos.
Ejemplo: Empresas como Edwsystem usan monorepos para mantener frontends (React), backends (Node.js) y librerías compartidas en una sola estructura.
Configuración inicial con pnpm
Instala pnpm globalmente (alternativa más rápida que npm/yarn):
npm install -g pnpm
pnpm initCrea la estructura básica del monorepo:
mkdir packages apps
cd packages
pnpm create vite shared-lib --template react-tsIntegración con Turborepo
Instala Turborepo y configura el pipeline de builds:
pnpm add turbo --global
turbo initEdita turbo.json para definir tareas:
{
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"test": {
"dependsOn": ["build"],
"outputs": []
}
}
}Workspaces en pnpm
Configura los workspaces en pnpm-workspace.yaml:
packages:
- 'packages/*'
- 'apps/*'Ejemplo de dependencia compartida entre paquetes:
pnpm add shared-lib --filter "web-app" --workspaceTypeScript en Monorepo
Configuración de paths para imports absolutos:
// tsconfig.base.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@shared/*": ["packages/shared-lib/src/*"]
}
}
}Tip: Usa references en tsconfig.json de cada paquete para habilitar compilación incremental.
CI/CD para Monorepo
Ejemplo de GitHub Actions para desplegar solo paquetes modificados:
name: Monorepo CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
- run: pnpm install
- run: pnpm turbo run build --filter=...[origin/main]Conclusión
Este setup con Turborepo + pnpm ofrece:
- Cache inteligente de builds
- Instalación eficiente de dependencias
- Escalabilidad para equipos distribuidos
Ideal para startups y empresas tecnológicas latinoamericanas que buscan optimizar su productividad en 2025.
¿Te fue útil este artículo?
Déjame tu email y te aviso cuando publique nuevos artículos técnicos.