Developing in a Large Monorepo
summary
A Microsoft TypeScript monorepo of ~150 internal npm packages and over a million lines supports ~300 developers; the concrete claim is that using yarn workspaces plus Lerna with package hoisting cuts install time from ~20 to 6 minutes and reduces CI/build times by about 5x. The repo relies on node module resolution, Lerna’s dependency-ordered runs and scoping, and workspace/no-hoist tweaks to publish, version and orchestrate cross-package builds reliably.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:18About me
- 2:10Microsoft Search
- 2:51People Card
- 4:35People Card Development
- 5:21People Card Scenario
- 7:28Monorepo
- 10:02JavaScript Packages
- 10:32How Packages are Used
- 11:31Node Module Resolution
- 14:35Package Management Tools
- 16:09Orchestration Tools
- 16:55Learner
- 18:33Example
- 19:47scoping
- 21:27release management
- 22:22community adoption
- 23:00conclusion
related talks
35mThe Art of Building Node.js Projects at Scale
30mSmart Monorepo and Fast CI with Nx
01mMeet Mike Hartington
28mThe Secret To Fast TypeScript
23mTypescript Is SO SLOW...Or Is It?
32mTooling Like It's 2025
27mLessons Learned Converting Snyk Codebase to TypeScript
10mReleasing a library written in TypeScript on NPM
