This project uses PNPM for package management and ParcelJS for bundling. Initial setup can be done like so:
git clone git@github.com:bvaughn/suspense.git
cd suspense
# Install Workspace dependencies (don't forget -r)
pnpm install -r
# Build various packages
pnpm prerelease
# Run tests to verify installation (optionally)
pnpm -r test
Contributing to Open Source can be challenging. Mistakes –even small ones– can prevent a change from being accepted. We ask that you follow the rules below to make the process as smooth as possible!
- Before posting a PR, please run all automated type checks and formatters:
- Format your code (
pnpm prettier
) - Run TypeScript (
pnpm typescript
) - Run unit tests (
pnpm -r test
) to check if the change broke any code - Add new unit tests for your code and make sure that it also passes. (This helps the reviewer. It also verifies that your code works correctly now and does not get broken by future changes.)
- Format your code (
- Open a PR on GitHub with your changes. The PR description must include the following:
- Link to the GitHub issue you are fixing (and any other relevant links)
- Show how your change effects the UI/UX. (Screenshots, short Loom videos, or Replays are good ways to show changes.)
- (Optionally) ask someone to review your PR by mentioning their GitHub username.
- Please only mention someone if they opened the GitHub issue your PR is related to, or if they actively commented on it and seem to have an understanding of the topic.
- Please be patient as it may take several days for a PR to be reviewed.
The website is automatically deployed for each comment on the main
branch. It can be run locally like so:
cd packages/suspense-website
pnpm watch
open http://localhost:1234