Thanks for your interest in contributing to Formspree! Please take a moment to review this document before submitting a pull request.
If you want to contribute but aren't sure where to start, you can open a new issue.
This project uses yarn v1 as a package manager.
Run the following commands from the root formspree-js directory:
yarn
yarn build # generate the artifact needed for depedendent packagesTo play around with code while making changes, you can run the local development environment:
yarn devThis will run an example app (examples/cra-demo) on localhost:3000 that uses create-react-app.
To run tests, typecheck on all packages:
yarn test
yarn typecheckWhen opening a pull request, include a changeset with your pull request:
yarn changesetThe changeset files will be committed to main with the pull request. They will later be used for releasing a new version of a package.
Note: non-packages (examples/*) do not need changesets.
Note: Only core maintainers can release new versions of formpree-js packages.
When pull requests are merged to main, a release Github Actions job will automatically generate a Version Package pull request, either creating a new one or updating an existing one.
When we are ready to publish a new version for one or more packages, simply approve the Version Package pull request and merge it to main.
Once the pull request is merged, the release GitHub Actions job will automatically tag and push the new versions of the affected packages and publish them to npm.