Monorepo Tooling — Full Course Syllabus
Managing multi-package JavaScript/TypeScript repositories — workspaces, build caching, and versioning.
- 1. pnpm workspacepnpm's workspace mechanism for managing dependencies and linking packages inside a monorepo.
- 2. npm workspacesnpm's built-in workspaces feature to manage multiple packages in one repository.
- 3. Yarn workspacesYarn's workspace feature for hoisting and linking packages within a monorepo.
- 4. Monorepo pre-commit and shared linting configurationRepository-level pre-commit hooks and shared linting configuration to enforce consistent code quality.
- 5. Local dev DX in monoreposPatterns to keep fast local iteration: dev servers, selective bootstrapping, and lightweight mocks.
- 6. Developer onboarding checklist for large frontendsAtomic steps and scripts to get new developers productive in a monorepo/microfrontend environment.
- 7. Dependency upgrade automation in monoreposUsing bots (Dependabot/etc.) and automated tests to safely keep frontend dependencies up to date in a monorepo.
- 8. Shared component librariesPublishing and consuming UI component packages from a monorepo for reuse across microfrontends.
- 9. Lerna versioning & publishingLerna's role in versioning and publishing packages from a monorepo.
- 10. Nx monorepo dependency graph & affected tasksNx's dependency graph, affected builds, and task orchestration for monorepos.
- 11. Turborepo caching and remote cachingTurborepo's caching and remote caching strategies to speed up monorepo CI and local builds.
- 12. Atomic package versioning strategies in monoreposAtomic strategies for versioning packages in monorepos (fixed, independent, semantic-release basics).
- 13. Monorepo CI pipeline orchestration (affected builds/tests)Configuring CI to run only affected builds/tests/tasks in a monorepo using dependency graphs.
- 14. Incremental builds and cachingBuild caching and incremental compilation techniques to speed local and CI builds in large repos.
- 15. Selective deploymentDeploying only changed microfrontends or packages instead of the entire product to reduce risk and latency.
- 16. Monorepo migration with TypeScript project references and JestUsing TypeScript project references and Jest configurations to migrate in a monorepo.
- 17. Shared runtime dependency versioningStrategies for managing incompatible dependency versions across microfrontends (peer deps, federation, shims).