Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sparkpost/matchbox
🔥 A react UI component library
https://github.com/sparkpost/matchbox
appteam design-system javascript monorepo react react-components team-ux
Last synced: about 5 hours ago
JSON representation
🔥 A react UI component library
- Host: GitHub
- URL: https://github.com/sparkpost/matchbox
- Owner: SparkPost
- Created: 2017-05-11T21:05:30.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T14:06:39.000Z (7 months ago)
- Last Synced: 2024-10-28T16:58:39.686Z (10 days ago)
- Topics: appteam, design-system, javascript, monorepo, react, react-components, team-ux
- Language: TypeScript
- Homepage: https://design.sparkpost.com
- Size: 55.7 MB
- Stars: 110
- Watchers: 32
- Forks: 10
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Matchbox
Matchbox is an open source design system and React component library, built for [SparkPost's UI](https://github.com/SparkPost/2web2ui).
![Build](https://img.shields.io/github/workflow/status/SparkPost/matchbox/Build?label=Build&style=flat-square) ![Tests](https://img.shields.io/github/workflow/status/SparkPost/matchbox/Unit%20and%20Cypress%20Tests?label=Tests&style=flat-square)
---
## Welcome to Matchbox Development
Want to start using Matchbox? See:
- [Getting Started](https://design.sparkpost.com/foundations/getting-started-for-developers)
Looking for documentation? See:
- [Design System Website](https://design.sparkpost.com)
### Root Repo Scripts
```bash
# Start Scripts
npm run start:libby # Runs libby# Test Scripts
# Integration tests require libby to be running first
npm run pretest # Run before running tests for first time
npm run test:unit # Runs unit tests
npm run test:e2e:gui # Runs integration tests
npm run test:e2e:headless # Runs integration tests in headless mode# Build Scripts
npm run build # Builds all packages
```### Releases
We use `changesets` to handle versioning and publishing to NPM. Before publishing, ensure you are logged into SparkPost's NPM account locally via the NPM CLI. We recommend reviewing the following steps and [changeset's documentation](https://github.com/changesets/changesets/blob/main/docs/intro-to-using-changesets.md) before proceeding.
**Publishing Steps**
1. Run `npx changset` in your pull request. This will let you select which packages you'd like to include and to which version. Hint: use `space` to select options, and `enter` to proceed. Don't worry about the summary, this is editable later on.
1. Ensure the changeset you just created has an accurate summary, located in the `.changeset` directory.
1. Commit your changset to your pull request. The remaining steps should be taken after merging to `main`.
1. Run `npx changeset version`. This will consume any changesets previously created, bump the packages, and update changelogs.
1. Run `npm run build` to build all packages.
1. Run `npx changeset publish`. This will publish all bumped packages to NPM. You will be required to enter your NPM OTP.
1. Lastly, double check the git tags were pushed to this repo in the releases section. If not, push the tags manually.