Building a Scalable Monorepo with JavaScript and TypeScript
56mAdvanced2024-10-08
Authors

Eve Porcello
Software Developer and Instructor
Course details
In this course, learn the fundamentals of managing multiple repositories for different components of a project, recognizing the advantages and challenges this strategy presents. This understanding is crucial for making informed decisions on project structure, facilitating scalability, and independence across teams and services. Instructor Eve Porcello starts with a look at monorepo architecture, then shows you how to configure pnpm workspaces. Then, learn about the benefits of integrating Turborepo, a high-performance build system designed for JavaScript and TypeScript codebases.
Skills covered
TypeScriptEcma InternationalJavaScriptProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Scaling a codebase with a monorepo
- 02 - What you should know
1. Understanding Monorepos
- 03 - Working with a monorepo architecture
- 04 - Setting up the dev environment
- 05 - Creating a package
- 06 - Creating multiple packages
- 07 - Recursively running multiple packages
2. Configuring pnpm Workspaces
- 08 - Referencing local packages
- 09 - Challenge - Sharing code across projects
- 10 - Solution - Sharing code across projects
- 11 - Linking to local file paths
3. Exploring Turborepo
- 12 - Introducing Turborepo
- 13 - Installing external dependencies
- 14 - Creating an internal package
- 15 - Setting an internal dependency
- 16 - Writing a tsconfig file
- 17 - Running the build
4. Turborepo Integration
- 18 - Improving performance with build caching
- 19 - Utilizing remote caching
- 20 - Understanding developer mode features
- 21 - Handling environment variables
Conclusion
- 22 - Next steps