Documentation
Turborepo

Turborepo

Turborepo is a fast build tool for monorepos.

Turborepo is a high-performance build system for JavaScript and TypeScript codebases.

-- Turborepo landing page.

The WEBAPPBOOST template is essentially a monorepo containing a Next.js project and all other services as separate packages. This modular structure offers high flexibility and code separation and reusability. This way, it is possible, for example, to have a UI shared package with React components which will be reused by other apps in the repo, e.g landing page, dashboard, docs can all reuse the same theme and components.

The turborepo is a fast build system because it caches tasks for those packages that haven't changed.

pnpm (opens in a new tab) is used for managing workspaces.

To learn more about how things work with the tool. Refer to the official Turborepo documentation (opens in a new tab).

Structure

Apps

The apps are standalone deployable packages (the end goal).

Packages

The packages are used for configs and libraries.

  • packages/eslint-config-custom - ESLint configurations;
  • packages/tsconfig-custom - TypeScript configurations;
  • packages/lint-staged-custom - lint-staged configurations;
  • packages/jest-config-custom - Jest configurations;
  • packages/tailwind-config-custom - TailwindCSS configurations;
  • packages/ui - design system with common components.