Contribute to SerialPort!
Do you want to help out but don't know where to start?
There are a lot of ways to get involved and help out:
- Reporting an issue
- Requesting features
- Submitting Pullrequests
- Writing tests
- Writing Documentation
- Sample Projects
Reporting An Issue
SerialPort does it's issue tracking through github. To report an issue first search the repo to make sure that it has not been reported before. If no one has reported the bug before, create a new issue and be sure to follow the issue template.
If the issue has been reported before but you have new information to help troubleshoot the issue, add a comment to the thread with the same information as requested above.
What feature you'd like to see
Why this is important to you
This is here because it's interesting knowing what cool things people are working on and also could help community members make suggestions for work-arounds until the feature is built.
Submitting Pull Requests
To contribute code to SerialPort, fork the project onto your github account and do your work in a branch. Before you submit the PR, make sure to rebase master into your branch so that you have the most recent changes and nothing breaks or conflicts. Lint and test your code using
npm run lint and
npm run test.
All contributions must adhere to the eslint rules by maintaining the existing coding style.
If you are contributing code, it must include unit tests that fail if the working code isn't present and succeed when it is.
When contributing new features you must include documentation.
It's very important that your pull requests include all of the above in order for users to be able to use your code. Pull requests with undocumented code will not be accepted.
Tests are written using mocha, chai and sinon. If you are having issues making a test pass, ask for help in the SerialPort gitter room or on your PR. Tests can be the hardest part to write when contributing code, so don't be discouraged.
We are always looking to improve our docs. If you find that any are lacking information or have wrong information, fix and submit a PR. If you're looking for areas to start writing docs for, see the docs label in issues.
We use Docusaurus to generate our docs. Make your changes to
/docs/ or in the
You can preview the docs by running
npm run docs:dev
Or clicking the netlify link in your PR.
Docs should have tested and working sample code. Many people using SerialPort are learning how to work with hardware for the first time, so write for a beginner audience.
Have you made something cool with SerialPort? Is it part of your latest product? Let us know! There are a lot of people out there hacking on similar projects and looking for ideas, help or code. It's great to share!