Monorepos y referencias de proyecto
Cree un monorepo de workspace y conecte las referencias de proyecto de TypeScript para obtener compilaciones rápidas e incrementales y tipos limpios entre paquetes.
Monorepos y referencias de proyecto es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 de 1. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 1 lecciones en total.
Introducción
Objetivo: Organizar un monorepo que pueda crecer. Declarará workspaces, añadirá Project References y compilará con tsc -b para obtener una salida incremental.
- Workspaces de pnpm/yarn
- Proyectos compuestos
- Tipos compartidos
Estructura del workspace
Una estructura sencilla de dos paquetes: shared (biblioteca) y app (depende de shared). Los workspaces enlazan los paquetes locales.
# folder structure (for reference)
/monorepo
package.json
tsconfig.base.json
packages/
shared/
src/index.ts
package.json
tsconfig.json
app/
src/index.ts
package.json
tsconfig.jsonWorkspaces raíz
Declare los workspaces para que el gestor de paquetes enlace las dependencias locales. Añada los scripts build/clean mediante el modo de compilación de TS.
// package.json (root)
{
"name": "monorepo",
"private": true,
"workspaces": ["packages/*"],
"scripts": {
"build": "tsc -b packages/*",
"clean": "tsc -b packages/* --clean"
}
}Paquete shared
Marque la biblioteca como un proyecto composite. Genere declaraciones para que los paquetes dependientes puedan comprobar los tipos rápidamente.
// packages/shared/tsconfig.json
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"declaration": true,
"composite": true
},
"include": ["src"]
}
// packages/shared/src/index.ts
export interface User { id: string; name: string }
export const hello = (u: User) => `Hello, ${u.name}`Paquete app + referencias
Añada una entrada de references para depender de shared. El compilador compila primero shared y después app.
// packages/app/tsconfig.json
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"composite": true
},
"references": [
{ "path": "../shared" }
],
"include": ["src"]
}
// packages/app/src/index.ts
import { hello } from "shared"
console.log(hello({ id: "u1", name: "Ada" }))Configuración base y consejos
Consejos:
- Cree
tsconfig.base.jsonpara las opciones compartidas del compilador. - Use asignaciones de
pathsque reflejen los nombres de los paquetes. - Ejecute
tsc -b --watchpara el desarrollo local incremental.
Comprobación de los requisitos de las referencias
Comprobación rápida: ¿Qué debe incluir cada paquete referenciado?
Resumen
Resumen: Los workspaces enlazan los paquetes locales; Project References (composite + references) permiten compilaciones rápidas e incrementales con tsc -b y tipos fiables entre paquetes.
Preguntas frecuentes
¿La lección «Monorepos y referencias de proyecto» es gratis?
Sí — el texto completo de «Monorepos y referencias de proyecto» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 1 lecciones en total.
¿Qué aprenderé en «Monorepos y referencias de proyecto»?
Cree un monorepo de workspace y conecte las referencias de proyecto de TypeScript para obtener compilaciones rápidas e incrementales y tipos limpios entre paquetes. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar TypeScript Academy?
No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 1.
¿Cuánto tiempo toma la lección «Monorepos y referencias de proyecto»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?
Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.