Yas

screenshot of Yas
react

A Typescript & React full stack monorepo template

Overview

Yet Another Stack (YAS) stands out as a comprehensive TypeScript and React monorepo template, tailored for large-scale web development. It emphasizes not only type safety and a disciplined architectural approach but also a seamless developer experience. This repository serves as a sandbox for testing innovative ideas and technologies, making it an attractive option for developers looking to leverage a robust foundation while experimenting freely.

The design philosophy behind YAS is particularly noteworthy. It proposes an extensible framework-agnostic design system, which caters to multiple platforms. This system allows for the creation of a web-based UI component library or a PDF renderer that operates independently yet cohesively. By doing so, it opens avenues for consistent design across diverse environments such as React Native, web applications, and more.

Features

  • Framework Agnostic Design System: YAS demonstrates how to create a versatile design system that can be used across various platforms without being hindered by platform-specific constraints.
  • Layered Architecture Organization: Enforces separation of concerns using dependency-cruiser, promoting a structured approach to organizing numerous packages within the monorepo.
  • Extensibility: Offers examples of modular components, including a tRPC and GraphQL server, allowing developers to easily expand their applications.
  • Superb Developer Experience: Focuses on providing developers with intuitive tools that alleviate cognitive load, allowing them to concentrate on coding while being guided by helpful prompts.
  • Cutting-Edge Tooling: Incorporates modern tools like Vite for bundling, ESLint for linting, and Vitest for unit testing to ensure a robust development experience.
  • CI/CD Pipeline: Features a well-structured CI/CD pipeline to automate code quality checks and testing, ensuring reliable deployment processes.
  • Deployable Artifacts Convention: Designed to remain agnostic regarding hosting platforms, enabling developers to produce deployable artifacts that are customizable to suit their particular needs.
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

template
Templates & Themes

A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.

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.

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.