Introduction to Monorepo
Explore the concept of monorepos and understand how to structure multiple services within a single GitHub project. Learn how to use tools like Lerna to manage shared configurations and dependencies, streamlining the development process for cloud native web applications.
Monorepo
A monorepo, which stands for a monolithic repository, is a way to keep a project’s individual services in a single source code repository.
Example
For example, consider the following directory structure:
There are three different services that can share the same configuration files such as code formatting, test suite setup, etc. to perform the operations independently: api, email-sender, and website.
Lerna
Lerna is a tool for managing and optimizing the workflow of multi-package JavaScript project repositories with Git and NPM.
For the purpose of this course, we will only use it to install NPM packages in our monorepo for all services.