This project is an Open Development project and welcomes contributions from everyone who finds it useful or lacking.
This project adheres to the Adobe code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to cstaub at adobe dot com.
This project uses a commit then review process, which means that for approved maintainers, changes can be merged immediately, but will be reviewed by others.
For other contributors, a maintainer of the project has to approve the pull request.
- Check that there is an existing issue in GitHub issues
- Check if there are other pull requests that might overlap or conflict with your intended contribution
- Fork the repository
- Make some changes on a branch on your fork
- Create a pull request from your branch
In your pull request, outline:
- What the changes intend
- How they change the existing code
- If (and what) they breaks
- Start the pull request with the GitHub issue ID, e.g. #123
Lastly, please follow the pull request template when submitting a pull request!
Each commit message that is not part of a pull request:
- Should contain the issue ID like
#123
- Can contain the tag
[trivial]
for trivial changes that don't relate to an issue
We enforce a coding styleguide using eslint
. As part of your build, run npm run lint
to check if your code is conforming to the style guide. We do the same for every PR in our CI, so PRs will get rejected if they don't follow the style guide.
You can fix some of the issues automatically by running npx eslint . --fix
.
This project uses a structured commit changelog format that should be used for every commit. Use npm run commit
instead of your usual git commit
to generate commit messages using a wizard.
# either add all changed files
$ git add -A
# or selectively add files
$ git add package.json
# then commit using the wizard
$ npm run commit
One of the maintainers will look at the pull request within one week. Feedback on the pull request will be given in writing, in GitHub.
The release process is fully automated using semantic-release
, increasing the version numbers, etc. based on the contents of the commit messages found.