Monorepo Template

screenshot of Monorepo Template

Monorepo Template

A turporepo template using pnpm with all eslint and typescript rules setup for NextJS and NestJS apps.

Overview

This product is a turborepo, which uses pnpm as a package manager. It includes various packages and apps such as a Next.js app using TypeScript and Tailwind CSS, a Nestjs app, a React component library, and eslint configurations for both Next.js and NestJS. The turborepo also includes TypeScript for static type checking, ESLint for code linting, and Prettier for code formatting.

Features

  • Package Manager: This turborepo uses pnpm as its package manager.
  • Apps and Packages: Includes a Next.js app, a Nestjs app, a React component library, and eslint configurations.
  • TypeScript: Offers static type checking for improved code quality.
  • ESLint: Provides code linting functionality for catching potential issues.
  • Prettier: Enables code formatting for consistent coding style.

Installation

To install this theme, follow these steps:

  1. Run the command npx create-turbo@latest to create a new turborepo.
  2. Choose pnpm as the package manager when prompted.
  3. Build all apps and packages by running the command npm run build.
  4. Develop all apps and packages by running the command npm run dev.

If you wish to enable Remote Caching (Beta), follow these additional steps:

  1. Create an account with Vercel if you don't have one.
  2. Authenticate the Turborepo CLI with your Vercel account by running the command npx turborepo vercel auth.
  3. Link your Turborepo to your Remote Cache by running the command npx turborepo vercel link.

Summary

This turborepo offers a convenient setup for managing a monorepo with multiple apps and packages. It utilizes pnpm as the package manager and includes features such as TypeScript for static typing, ESLint for code linting, and Prettier for code formatting. The ability to enable Remote Caching (Beta) allows for efficient sharing of build caches with teams and CI/CD pipelines. Overall, it provides a streamlined development experience for building and managing complex projects.