Ts Monorepo Boilerplate

screenshot of Ts Monorepo Boilerplate
nestjs
react

This repository is a starter kit for a TypeScript monorepo project. It is based on TypeScript, Npm, ESLint, Prettier, Jest, Turborepo and Changesets.

Overview

The TypeScript Monorepo Starter Kit is an excellent foundation for developers looking to streamline their TypeScript projects. Leveraging modern tools like Turborepo, ESLint, and Jest, this starter kit brings together a cohesive environment suitable for building and managing multiple packages effortlessly. Designed with usability in mind, it emphasizes best practices and seamless integrations, making it accessible to both novices and experienced developers.

By using this starter kit, you can kickstart your development journey while adhering to industry standards. The kit is structured to take advantage of features like NPM workspaces and Changesets, empowering teams to collaborate efficiently and maintain robust codebases.

Features

  • Monorepo Management: All packages are managed collectively with Turborepo, simplifying dependencies and package interactions.
  • NPM Workspaces: Streamlined package management through NPM Workspaces enhances modularity and organization.
  • TypeScript Support: All packages are developed using TypeScript, ensuring type safety and improved development efficiency.
  • Linting and Formatting: ESLint and Prettier are integrated to maintain code quality and consistent formatting across the project.
  • Extensive Testing: Jest is utilized to run tests, ensuring that all packages are reliable and function as intended.
  • Frontend and Backend Capabilities: The kit includes a React app and a Nest.js service, enabling both frontend and backend development.
  • Local Development Made Easy: Docker and Serverless Offline are incorporated for a hassle-free local development experience.
  • Continuous Integration: Automated CI processes are implemented via GitHub Actions, covering linting, type checking, and markdown validation to maintain code integrity.
nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Storybook

Storybook is a tool for developing and testing UI components in isolation. It provides a sandbox environment where you can experiment with different props and states to see how your component responds.

turborepo
Turborepo

Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.