Skip to content

Managing and publishing React monorepo with Lerna.js in private NPM registries

Notifications You must be signed in to change notification settings

Coding-With-Kristi/monorepo-my-react-app

Repository files navigation


React TypeScript JavaScript NPM

Manage and publish monorepo with Lerna.js in private NPM registries

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.

Getting Started with Create React App

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

yarn start

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.

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

yarn build

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.

yarn eject

Note: this is a one-way operation. Once you eject, you can’t go back!

`@craco/craco

**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).