Skip to content

A template to quickly build monorepos with Turborepo and Lerna.

License

Notifications You must be signed in to change notification settings

DeFiFoFum/defifofum-monorepo-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turborepo + Lerna

This is an official Yarn v1 starter turborepo plus Lerna for versioning/publishing packages.

Lerna has been added to aid in versioning and publishing packages.

How to setup this template

  1. npx create-turbo (./defifofum-monorepo-template)
  2. cd defifofum-monorepo-template
  3. npm install --global lerna (If not installed)
  4. lerna init (Init lerna.json)

What's inside?

This turborepo uses Yarn as a package manager.

Lerna and Turborepo can be used together in the same monorepo.

Using with Lerna
Turborepo and Lerna have a lot a in common, but also some key differences.

tl;dr you can use Lerna and Turbo together.

Use lerna symlinking (lerna bootstrap) packages, publishing and changelog generation
Use turbo for task running and caching

It includes the following packages/apps:

Apps and Packages

  • docs: a Next.js app
  • web: another Next.js app
  • ui: a stub React component library shared by both web and docs applications
  • config: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

Utilities

This turborepo has some additional tools already setup for you:

Setup

This repository is used in the npx create-turbo command, and selected when choosing which package manager you wish to use with your monorepo (Yarn).

Build

To build all apps and packages, run the following command:

cd defifofum-monorepo-template
yarn run build

Develop

To develop all apps and packages, run the following command:

cd defifofum-monorepo-template
yarn run dev

Remote Caching

Turborepo can use a technique known as Remote Caching (Beta) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching (Beta) you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd defifofum-monorepo-template
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:

npx turbo link

Useful Links

Turborepo

Learn more about the power of Turborepo:

Lerna

Learn about the useful commands Lerna offers.

About

A template to quickly build monorepos with Turborepo and Lerna.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published