👍🎉 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 ifrom root directory. To install a dependency to a package, usenpm i x -w packages/yinstead ofnpm ifrom 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 testThis project uses changesets. Every PR should include changes and their scopes for versioning. This can be done by:
npx changesetAnswer 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 versionCommit 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