When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Please note we have a code of conduct; please follow it in all your interactions with the project.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. ( ˶ˆᗜˆ˵ )
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Ensure that tests and linting pass.
- Ensure that
dist/
is updated withnpm run build
. - Update the README.md with details of changes to the interface; this includes new environment variables, exposed ports, valid file locations and container parameters.
- Increase the version numbers in any examples files and the README.md that this Pull Request would represent. The versioning scheme we use is SemVer.
- You may merge the Pull Request once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.
- Go to the project's issues.
- Select the template that better fits your issue.
- Read the instructions carefully and write within the template guidelines.
- Submit it and wait for support.
When committing, commit messages are prefixed with one of the following depending on the type of change made.
feat:
when a new feature is introduced with the changes.fix:
when a bug fix has occurred.chore:
for changes that do not relate to a fix or feature and do not modify source or tests. (like updating dependencies)refactor:
for refactoring code that neither fixes a bug nor adds a feature.docs:
when changes are made to documentation.style:
when changes that do not affect the code, but modify formatting.test:
when changes to tests are made.perf:
for changes that improve performance.ci:
for changes that affect CI.build:
for changes that affect the build system or external dependencies.revert:
when reverting changes.
Commit messages are also to begin with an uppercase character. Below list some example commit messages.
git commit -m "docs: Added README.md"
git commit -m "revert: Removed README.md"
git commit -m "docs: Moved README.md"
Important
To ensure our script can be ran directly with Node.js
,
without any additional install or build steps,
the use of any external libraries or packages is not allowed.
(This does not apply to development dependencies.)
To prevent any unintentional errors, we develop this project with TypeScript.
We use Jest to test our code. Please ensure that tests are updated and pass before merging a Pull Request.
# To test your code, run:
npm run test
We use Prettier and ESLint to ensure that code is consistent and follows our code style. Please ensure that your code passes linting before merging a Pull Request.
# To lint your code, run:
npm run lint
# To fix any linting errors, run:
npm run lint:fix
We pre-transpile our code to JavaScript in the dist/
directory.
Please ensure that the dist/
directory is updated before merging a Pull Request.
# To build your code, run:
npm run build