
Explore the core principles of developing JavaScript projects and applications with the monorepo strategy, including sharing solutions across projects and managing libraries and tooling.
Link modules using symlinks to act as installed packages. Create a global symlink with yarn link or npm link, then connect Module A to Module B for instant updates.
Explore hoisting in monorepos, where dependencies are hoisted to the root node_modules and yarn resolves packages with a shared copy, and you can disable hoisting for React, Native, and Electron.
Explain how to run bin scripts in a monorepo by defining bin in package.json, using yarn install with force, and testing locally with node via symlinks.
Master yarn workspaces to run module scripts from any directory, eliminating constant cd changes in monorepos. Learn to use yarn workspace to build modules and manage dependencies across projects.
Updated: July 2022
Have you ever wondered how large companies and open source libraries manage their ever-expanding codebases? Monorepos are one the most popular development strategies for reducing duplication, keeping product dependencies up to date and publishing all of your updates simultaneously.
Monorepos are fast becoming the most popular way to manage large projects by giving developers the ability to manage the many parts independently, allowing for a much better development experience than managing multiple repositories or slowing down your development pipeline with a large monolithic application.
This course will get you started on learning what a Monorepo is, how they work in a JavaScript ecosystem and which tools are available to get your new project up and running. You'll learn the core concepts around monorepos and how they can be managed using multiple tooling options.
You will learn:
What is a monorepo
How to set up a basic monorepo
How to use advanced features to enhance your monorepo
Using workspaces to create the best setup
What tools are available and how are they different?
A comparison of Yarn, NPM and PNPM, including a conversation about other tools like NX
Bonus content: Using Lerna to manage your versions and publish your library
Take your project to the next level and make it easier for your team to contribute. Enrol today to get started.