A quick guide on how to configure a monorepo in a react application created with Create React App. Uses lerna.js to manage dependencies, versioning and publishing of packages. GitHub packages is used to publish the packages.
This guide demonstrates how shared components in a react application can be converted into a package by using Lerna.js, and how to publish those in GitHub private registry and use them as dependencies in some other project.
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can’t go back!
**Note: Used to over override Create React App configuration without ejecting it. Since Create React App only compiles the src
folder, cranco
is used to override webpack
configuration to include the packages
folder as well created by Lerna.js which contains our packages (shared components).