{"id":18783942,"url":"https://github.com/sparkpost/matchbox","last_synced_at":"2025-07-08T15:05:40.327Z","repository":{"id":37821794,"uuid":"91023477","full_name":"SparkPost/matchbox","owner":"SparkPost","description":"🔥 A react UI component library","archived":false,"fork":false,"pushed_at":"2024-04-12T14:06:39.000Z","size":58455,"stargazers_count":108,"open_issues_count":22,"forks_count":10,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-06-19T08:15:30.019Z","etag":null,"topics":["appteam","design-system","javascript","monorepo","react","react-components","team-ux"],"latest_commit_sha":null,"homepage":"https://design.sparkpost.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SparkPost.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-11T21:05:30.000Z","updated_at":"2025-05-28T16:42:21.000Z","dependencies_parsed_at":"2024-04-12T15:27:53.967Z","dependency_job_id":"aa660b5b-2021-4b0c-9f54-e0c0c5ba55ee","html_url":"https://github.com/SparkPost/matchbox","commit_stats":{"total_commits":1763,"total_committers":23,"mean_commits":76.65217391304348,"dds":"0.22178105501985257","last_synced_commit":"a1a161eb0eb174f68898bb22f6b4cb302a472567"},"previous_names":[],"tags_count":277,"template":false,"template_full_name":null,"purl":"pkg:github/SparkPost/matchbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fmatchbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fmatchbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fmatchbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fmatchbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SparkPost","download_url":"https://codeload.github.com/SparkPost/matchbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fmatchbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264292934,"owners_count":23586061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appteam","design-system","javascript","monorepo","react","react-components","team-ux"],"created_at":"2024-11-07T20:41:13.874Z","updated_at":"2025-07-08T15:05:40.310Z","avatar_url":"https://github.com/SparkPost.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Matchbox\n\nMatchbox is an open source design system and React component library, built for [SparkPost's UI](https://github.com/SparkPost/2web2ui).\n\n![Build](https://img.shields.io/github/workflow/status/SparkPost/matchbox/Build?label=Build\u0026style=flat-square) ![Tests](https://img.shields.io/github/workflow/status/SparkPost/matchbox/Unit%20and%20Cypress%20Tests?label=Tests\u0026style=flat-square)\n\n---\n\n## Welcome to Matchbox Development\n\nWant to start using Matchbox? See:\n\n- [Getting Started](https://design.sparkpost.com/foundations/getting-started-for-developers)\n\nLooking for documentation? See:\n\n- [Design System Website](https://design.sparkpost.com)\n\n### Root Repo Scripts\n\n```bash\n# Start Scripts\nnpm run start:libby       # Runs libby\n\n# Test Scripts\n# Integration tests require libby to be running first\nnpm run pretest           # Run before running tests for first time\nnpm run test:unit         # Runs unit tests\nnpm run test:e2e:gui      # Runs integration tests\nnpm run test:e2e:headless # Runs integration tests in headless mode\n\n# Build Scripts\nnpm run build             # Builds all packages\n```\n\n### Releases\n\nWe 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.\n\n**Publishing Steps**\n\n1. 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.\n1. Ensure the changeset you just created has an accurate summary, located in the `.changeset` directory.\n1. Commit your changset to your pull request. The remaining steps should be taken after merging to `main`.\n1. Run `npx changeset version`. This will consume any changesets previously created, bump the packages, and update changelogs.\n1. Run `npm run build` to build all packages.\n1. Run `npx changeset publish`. This will publish all bumped packages to NPM. You will be required to enter your NPM OTP.\n1. Lastly, double check the git tags were pushed to this repo in the releases section. If not, push the tags manually.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Fmatchbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkpost%2Fmatchbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Fmatchbox/lists"}