Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 3.08 KB

CONTRIBUTING.md

File metadata and controls

66 lines (44 loc) · 3.08 KB

Contributing

Thank you for considering to contribute! 💬

Bugs 🐛

  1. Search the issue tracker for similar bug reports before submitting a new one.
  2. Specify the version of the library where the bug occurred.
  3. Specify your browser version, operating system, and graphics card manufacturer
    (e.g. Chrome, Windows, NVIDIA).
  4. Describe the problem in detail. Explain what happened, and what you expected would happen.
  5. Provide a minimal test case (http://jsfiddle.net) or a link to a live version of your application.
  6. If applicable, include a screenshot. Consider annotating the screenshot for clarity.

Pull Request Process ✨

When contributing to this repository, please first discuss the changes you wish to make with the owners of this repository via the issue tracker. A proposed change should be focused and concise. Please adhere to the following guideline:

  1. Create a feature branch based on the dev branch.
  2. Implement your patch or feature on that branch.
  3. Lint and test your changes. Maintain the existing coding style.
  4. Add unit tests for any new or changed functionality.
  5. Navigate to your fork on Github, select your feature branch and create a new Pull Request targeting the dev branch.
  6. Once your PR has been merged, you can safely remove your feature-branch.

Development 🔧

This project contains scripts that will help you during development. All scripts can be executed with npm run [script]. The following table provides an overview of the most important scripts:

Task Description
build Builds and minifies all bundles.
watch Lints sources, builds the manual, listens for changes and serves files locally.
test Lints source files, builds all bundles and runs unit tests.

Testing ✔️

Use the script npm run watch to run an HTTP server, build the demo bundle and watch files for changes. Open your web browser and navigate to http://localhost:1313. Extend one of the existing demos or create a new one depending on the kind of feature you wish to implement. Make sure that your changes don't break the existing demos.

Hint: Open the development tools in your browser and make sure that the cache is disabled while it's open.

Keeping Things Up-To-Date ⌛

Don't merge new changes from upstream into your feature branch. Instead, use rebase to replay all of your commits on top of the latest code base:

git checkout main
git pull upstream main
git checkout my-feature
git rebase main

Git will guide you through the process of resolving conflicts. This operation is similar to merging, except you're in fact rewriting your local history. After rebasing, you'll need to use git push --force my-feature.

You can add more commits to your feature branch after you created the Pull Request. This means that you can change things later if necessary.