Turborepo is a high-performance system for monorepos, simplifies managing multiple packages shared across web and native environments. Learn more about how monorepos improve your development workflow.
This guide explains how to this monorepo powered by:
- 🏎 Turborepo — High-performance build system for Monorepos
- 🚀 React — JavaScript library for user interfaces
- ⚡️ Next.js — React framework for high-performance websites
- 📚 Nextra — Next.js static site generator for creating documentation
- 📱 Expo — Platform for making universal native apps for Android, iOS, and the web with JavaScript and React.
- 📚 Storybook — Streamlines creating and testing UI components in a sandboxed environment.
.
├── ...
├── apps
│ ├── docs # Documentation site for the project
│ ├── mobile # Mobile application built with Expo and React Native
│ ├── storybook # Storybook for developing and testing UI components
│ └── web # Web single-page application
└── ...
pnpm dev
- Previews all apps locallypnpm lint
- Lint all apps and packagespnpm build
- Build all packagespnpm release
- Bumps version, updates changelog and releasespnpm clean
- Clean up allnode_modules
anddist
folders
Each package/app is 100% TypeScript. See more on CONTRIBUTING on developer tools.
Turborepo can use a technique known as Remote Caching 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 you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
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
Learn more about the power of Turborepo: