This is a proof of concept of a monorepo structure for react components specially designed for design systems
The monorepo structure for serving React components and design tokens is an innovative approach that essentializes development workflows and enables streamlined management of component versions. By leveraging tools such as Lerna and Commitzen, this repository creates a robust infrastructure for creating, documenting, and maintaining components. The use of Storybook and Compodoc ensures that the components are well-documented and easily accessible for developers.
This repository offers a clear and organized framework for working with individual React components, allowing for flexibility and efficiency in development. Each component can be installed separately, making it easy to integrate only what you need into your projects. The setup process is straightforward, appealing to both novice and experienced developers aiming to enhance their applications with consistent and reusable design elements.
Monorepo Structure: Facilitates efficient management of multiple packages, allowing developers to keep React components and design tokens organized in a single repository.
Lerna Integration: Utilizes Lerna for versioning and managing interdependencies between packages, ensuring smooth operations during development.
Documentation Tools: Employs Storybook for UI component documentation and Compodoc for comprehensive API documentation, making it easy for developers to understand and use the components.
Individual Component Packages: Each React component is housed in its own npm package, enabling developers to install only the components they require, reducing bloat in their applications.
Easy Local Setup: The setup process is simple, with detailed instructions provided for installing dependencies and running the project locally, streamlining onboarding for new users.
Compatibility with Node: Designed to work with Node version 10.20.1, ensuring compatibility and reducing issues related to version mismatches.
Command Line Interface: Supports conventional commits and Commitzen, which standardizes the commit process and improves collaboration among team members.