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.