👍🎉 Thank you for being here. It is people like you that make benzene
great and help shape a better open-source community.
I welcome all contributions from the community. There are many ways to contribute:
- 🎨 Submit PR to fix bugs, enhance/add existed/new features.
- 🚸 Submit bug reports and feature requests.
- 📝 Improve documentation and writing examples.
However, please avoid using the issue tracker for questions. Use the Discussion
tab instead.
If you are submitting a 🐛 bug report, please:
- Use a clear and descriptive title. Describe the behavior you observed and the expected behavior.
- Describe the exact steps which reproduce the problem. A minimal reproduction repo is greatly appreciated.
- Include Node version, OS, or other information that may be helpful in the troubleshooting.
Generally, all pull requests should have references to an issue.
If you are ✨ adding a new feature, please first create an issue for discussion.
You may also need to install npm@7
to use workspaces. However, yarn 1 may also work.
The steps to submit a PR are:
-
Fork this repository to your own GitHub account and then clone it to your local device.
-
Install all dependencies and dev dependencies by
npm i
from root directory. To install a dependency to a package, usenpm i x -w packages/y
instead ofnpm i
from inside each package. -
Make changes and commit. Use the present tense and imperative mood ("Add feature" instead of "Adds feature" or "Added feature").
-
Make sure your code is linted by running
npm run lint -- --fix
. -
If a change is not documentation-related, please add a tests if possible.
-
Build and run tests
npm run build
npm test
This project uses changesets. Every PR should include changes and their scopes for versioning. This can be done by:
npx changeset
Answer all the prompted questions and commit to created files in .changeset
folder.
For more on adding a changeset, see this.
This section is done by maintainer only.
Run changeset version
to bump all packages' versions and update CHANGELOG
files:
npx changeset version
Commit the changes:
git commit -a -m 'Version Packages'
Publish to npm
and push the changes (with tags) to main
.
npx changeset publish
git push && git push --tags