TypeScript Project References Explained
Use composite and references settings for multi-package builds.
What Are Project References?
Project references let you split a TypeScript codebase into multiple tsconfig projects that declare dependencies on each other, enabling incremental, isolated builds.
// tsconfig.json (root)
{
"references": [
{ "path": "./packages/core" },
{ "path": "./packages/ui" }
]
}Composite Projects
Each referenced project must have "composite": true in its tsconfig. This enables declaration caching and dependency tracking.
// packages/core/tsconfig.json
{
"compilerOptions": {
"composite": true,
"declaration": true,
"outDir": "./dist"
}
}All lessons in this course
- TypeScript Project References Explained
- pnpm Workspaces with TypeScript
- Shared Types Package Strategy
- Incremental Builds and Cache in Monorepos