Skip to content

Latest commit

 

History

History
85 lines (48 loc) · 2.79 KB

CONTRIBUTING.md

File metadata and controls

85 lines (48 loc) · 2.79 KB

How to Contribute

Great to see you! Help us out by filing bugs or feature requests, assisting others in our forums or by contributing improvements.

Table of Contents

Working with Issues

We use our issue tracker for project communication, discussion and planning.

Helping out

  • Share your perspective on issues
  • Be helpful and respect others when commenting

Contributing Improvements

Learn how to setup the project locally, make changes and contribute bug fixes and new features through pull requests.

Setting up the Project

If you don't have NodeJS setup, do it beforehand.

The following code snippet sets up diagram-js on your machine.

git clone [email protected]:bpmn-io/diagram-js.git

cd diagram-js

npm install

npm test

// Running the test suite with every file change
TEST_BROWSERS=(Chrome|Firefox|IE) npm run dev

Discussing Code Changes

Create a pull request if you would like to have an in-depth discussion about some piece of code.

Code Style

In addition to our automatically enforced lint rules, please adhere to the following conventions:

  • Use modules (import / export (default))
  • Do NOT use ES language constructs (class, const, ...) in sources

Rationale: People should be able to consume parts of the library with an ES module aware bundler such as Webpack or Rollup without the need to use a transpiler such as Babel.

Creating a Pull Request

We use pull requests for feature additions and bug fixes. If you are not yet familiar on how to create a pull request, read this great guide.

Some things that make it easier for us to accept your pull requests

  • The code adheres to our conventions
    • spaces instead of tabs
    • single-quotes
    • ...
  • The code is tested
  • The npm run all build passes (executes tests + linting)
  • The work is combined into a single commit
  • The commit messages adhere to the conventional commits guideline

We'd be glad to assist you if you do not get these things right in the first place.

❤️ from the bpmn.io team.