First of all, thanks for thinking of contributing to this project! 👏
-
Please include a clear, specific title and replicable description.
-
Please include your environment, OS, and any exceptions/backtraces that occur. The more information that is given, the more likely we can debug and fix the issue.
If you are here to suggest a feature, first create an issue if it does not already exist. From there, we will discuss use-cases for the feature and then finally discuss how it could be implemented.
First ensure that your feature isn't already being developed or considered (see open PRs and issues). If it is, please consider contributing to those initiatives.
Steps to get started:
- Fork this repository
- Install dependencies by running
$ yarn
- Link
@bigcommerce/storefront-data-hooks
locally by running$ yarn link
- Auto-build files as you edit by running
$ yarn start
- Implement your changes and tests to files in the
src/
directory and corresponding test files - Run a project that uses this package
- To run a project using your local build, link to the local
@bigcommerce/storefront-data-hooks
by running$ yarn link @bigcommerce/storefront-data-hooks
from the project directory - Document your changes in the appropriate doc page
- Git stage your required changes and commit (we recommend following Angular Commit Message Conventions)
- Submit PR for review pointing to
develop
Maintainers merge pull requests by squashing all commits and editing the commit message if necessary using the GitHub user interface.
Use an appropriate commit type. Be especially careful with breaking changes. We recommend following Angular Commit Message Conventions
We are using release-it for automated releasing.
- Create a PR from your working branch to
develop
- Once accepted and merged, a GitHub action will release the new feature to the beta track.
- To try it:
yarn add @bigcommerce/storefront-data-hooks@beta
- To try it:
More information about pre-releases with release-it
.
- Create a PR from
develop
tomaster
. - Once accepted and merged, a GitHub action will automatically:
- Release the new version to npm based on the semantic versioning
- Update the
Changelog.md
and the version number on thepackage.json
- And create a new release on GitHub
- Merge changes from
master
todevelop
.- Why there are changes? Because of the previous step, the GitHub action has created a new commit with the Changelog and package version changes.
- It will trigger a new
develop
build, totally unnecessary, but it’s a minor tradeoff. But we can solve it, by adding[no ci]
to the merge commit message.
Sometimes the autogenerated changelog is awful, and you want to improve it.
You can do it, but be careful and add [no ci]
to your commit message to avoid an unwanted release.
- Consider contributing to documentation, reporting bugs, or helping spread the word about
storefront-data-hooks
.
Thank you again for your interest in contributing! We're happy to have you here :)