Skip to content

mayank1513/turborepo-template

 
 

Turborepo Template

test Maintainability codecov Version Downloads npm bundle size Gitpod ready-to-code

Explore featured packages built with this template.

Exciting news! We've launched a new course to help you master this template: Craft Next Gen UI Libraries for React 18 and Next.js 14

Features

This template offers the following pre-configured features. Additionally, your repository will automatically be rebranded with the help of workflows and post-install scripts.

✅ Monorepo powered by Turborepo and GitHub actions for automating building, testing, and deploying your library

✅ Examples with Next.js, Vite, and Remix to showcase how your library can be utilized (Note: Remix is optional due to instability in monorepo setup and folder imports)

✅ Examples pre-configured for Light/Dark theme based on user preference

✅ Examples ready to be deployed to Vercel

✅ Typedoc setup for automatic documentation generation based on tsdoc comments

✅ Code of Conduct and contributing files, ready for customization

✅ Prettier and linter configured according to modern best practices (Feel free to add your flavor)

✅ Recommended VSCode extensions - Prettier and Kanban board for code formatting and project management directly within your IDE

✅ Powerful code generators - try yarn plop

✅ Test setup with Vitest - A modern and fast testing framework supporting Jest-like APIs

✅ Workflows to automate testing on every pull-request or code push event

✅ Workflow to automatically publish and create GitHub releases when you update your library's package.json file.

✅ Workflow to automatically rebrand the entire template based on your repository name. (Refer TODO.md)

✅ Plus, this readme file includes a quick checklist for configuring Codecov and other badges, setting up your docs website on GitHub pages, and more. See Checklist.

Creates a library that is

✅ Fully Treeshakable (e.g., import {Bars1, Bars2} from react18-loaders/dist/server/bars)

✅ Fully TypeScript Supported

✅ Leverages the power of React 18 Server components

✅ Compatible with all React 18 build systems/tools/frameworks

✅ Documented with Typedoc (Docs)

Getting Started:

This template is based on one of the official Turbo Repo starters but comes with a plethora of additional features specifically designed for developing and publishing JavaScript/TypeScript libraries, especially for React 18.

To get started, simply click on the "Use this template" button to create a new repository based on this template. Customize it according to your requirements for your next JavaScript/TypeScript/React/Next.js library or project.

For detailed instructions and a checklist, please refer to TODO.md.

What's Different from Turborepo official templates?

Compared to the default scaffold from create-turbo, this template offers:

  • Unit tests with vitest
  • Build setup with tsup and esbuild-plugin-react18 that supports React Server components out of the box
  • Automatic file generation
    • Simply run yarn plop and follow the prompts to auto-generate your new component with test files and dependency linking, adhering to best practices automatically
  • GitHub actions/workflows to auto-publish your package when the version changes
  • GitHub action/workflow + pre-install scripts to automatically rebrand your repo on creation

🤩 Don't forget to star this repository!

Looking for a hands-on course to get started with Turborepo? Check out React and Next.js with TypeScript and The Game of Chess with Next.js, React, and TypeScript

Repo Stats

License

Licensed under the MPL-2.0 open-source license.

Please consider enrolling in our courses or sponsoring our work.


with 💖 by Mayank Kumar Chaudhari

About

Template for creating new React 18 libraries

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 40.1%
  • JavaScript 35.8%
  • SCSS 21.9%
  • Handlebars 2.2%