@sistent/sistent
v0.16.10
Published
Reusable React Components and SVG Icons library
Readme
Sistent Design System Sistent
The Sistent Design System provides the open source building blocks to design and implement consistent, accessible, and delightful product experiences. Visit the project website for more information.
Contributing to Sistent
Prerequisites
Before you begin, ensure you have the following installed on your system:
- Node.js
How to get started
Make sure you have npm on node@16 and above. The CI workflows checks for in node@16, node@18 and node@20
Installation
To set up the project, run the following command to install dependencies:
make setupTo test the sistent component locally, you can run:
make buildIf you wish to build in watch mode:
make build-watchTo check if your code meets the formatting standards, you can run:
make format-checkTo run Eslint:
make lintTo run tests:
make testsContinuous Integration
Automated Integration Testing with Meshery UI
Sistent includes automated integration testing in CI to ensure changes don't break downstream applications. When you create a pull request, the CI automatically:
- Builds Sistent with your changes
- Tests against Meshery UI by installing your Sistent build into Meshery UI
- Runs Meshery UI's build and tests to verify compatibility
- Reports results in the PR checks
This ensures that your Sistent changes are validated against real-world usage in Meshery UI before merging. The workflow runs automatically on all pull requests, providing fast feedback on integration issues.
Using your local Sistent Fork in a Project
Method 1: Manual Installation
- Install your local Sistent package in the project
npm install <path-to-sistent-on-local-machine>Example:
# relative path npm install ../../sistent # absolute path npm install /home/five/code/sistent
This will update your Sistent dependency to:
"@sistent/sistent" : "file:../../sistent"- Build your local Sistent fork
After making changes to your fork, run this command in your local Sistent package.
make build- Run the build command in the project where your local Sistent fork is installed.
# example, Meshery UI
make ui-buildNow, your project should reflect changes from your local Sistent fork.
If you want to remove the local Sistent fork from your project, run:
npm uninstall @sistent/sistentThis will remove the local Sistent package from your project. You will have to reinstall the official package using this command:
npm install @sistent/sistentMethod 2: Using npm link
- Create a link of your local Sistent fork
cd <path-to-sistent-on-local-machine>
npm linkThis creates a global symlink which points to the local Sistent fork.
- Link the local Sistent fork to your project
npm link @sistent/sistent3.Build your local Sistent fork
After making changes to your fork, run this command in your local Sistent package.
make build- Run the build command in the project where your local Sistent fork is installed.
# example, Meshery UI
make ui-buildNow, your project should reflect changes from your local Sistent fork.
- Verify that your local Sistent fork has been correctly linked.
To verify that the correct link has been created, run this command:
npm ls -g
# Expected output:
# ├── @sistent/[email protected] -> ./../../../../<path-to-local-sistent-fork>To verify that the created link is correctly used in your project, run this command in the directory where you linked the Sistent fork:
ls -l node_modules/@sistent/sistent
# Expected output:
# node_modules/@sistent/sistent -> ../../../../../sistentTo revert back to the official package, first unlink the package, then install the official package using the following commands:
npm unlink @sistent/sistent
npm install @sistent/sistent[!NOTE] Avoid using
type anyin your code. Always specify explicit types to ensure type safety and maintainability.
Join the Layer5 community!
Our projects are community-built and welcome collaboration. 👍 Be sure to see the Layer5 Community Welcome Guide for a tour of resources available to you and jump into our Slack!
Find out more on the Layer5 community.
