Open a new issue. Be sure to include a title and clear description, with as much relevant information as possible. If you have a code sample that illustrates the problem that would be even better!
Fork the project on GitHub and check out your copy locally.
git clone git@github.com:username/opossum.git
cd opossum
git remote add upstream https://github.com/nodeshift/opossum.git
Create a feature branch and start hacking:
git checkout -b my-contrib-branch
Writing good commit logs is important. A commit log should describe what changed and why. Follow these guidelines when writing one:
- The first line should be 50 characters or less and contain a short description of the change.
- Keep the second line blank.
- Wrap all other lines at 72 columns.
Example of commit message:
bug: promise timeout flakeyness resolved
Occasionally, when a circuit times out, the promise remains in an
unresolved state. This fixes that issue by modifying the frobjam
function to return the first framble it can find.
The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about
72 characters or so. That way `git log` will show things
nicely even when it is indented.
Use git rebase
to sync your work from time to time.
git fetch upstream
git rebase upstream/main
Bug fixes and features should come with tests.
The tests are on test
directory. Before submitting a pull request,
ensure that your change will pass CI.
npm install
npm test
or
npm it
git push origin my-contrib-branch
Go to https://github.com/yourusername/opossum and select your feature branch. Click the 'Pull Request' button and fill out the form.
These are mostly notes for myself.
- Be sure you are starting from a clean slate:
npm run clean && npm install
- Run standard-version:
npm run release
- this will run theci
task - Push to GitHub:
git push --follow-tags origin main
- Publish to npmjs.com:
npm publish
- Assuming all goes well, head over to https://github.com/nodeshift/opossum/releases and update the release with any relevant notes. The generated CHANGELOG.md file should be updated, so you can use it to document release changes.
- Tweet, blog and otherwise promote your awesome success!