Thanks for taking the time to contribute!
- Use One flow git branching model
- Prefix your branch with “feature/”, “release/”, “hotfix/*” tags. Note that temporary branches supposed to be deleted after the work in these branches are complete.
- For each release the tag must be assigned.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- If possible, use the relevant bug report templates to create the issue.
- Submit new/Find reported issue with detailed bug description.
- Check all tests are passing.
- Make sure you're following commit message convention
- Open a new GitHub pull request with the patch.
- Ensure the PR description clearly describes the problem and solution.
- Include the relevant issue number to PR description.
- Follow all instructions in the template
- Submit enhancement issue
- Collect positive feedback about the change.
- Check backward compatibility.
- In case of major change, contact codeowner for feedback.
- Update code, tests and documentation.
- Make sure you're following commit message convention
- Open a new GitHub pull request with the feature.
- Ensure the PR description clearly describes the problem and solution.
- Include the relevant issue number to PR description.
- Follow all instructions in the template
Commit message summaries must follow this basic format:
Tag: Message (fixes #1234)
- The message summary should be a one-sentence description of the change.
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- The issue number should be mentioned at the end.
The Tag is one of the following:
- Fix - for a bug fix.
- Update - for a backwards-compatible enhancement.
- Breaking - for a backwards-incompatible enhancement.
- Docs - changes to documentation only.
- Build - changes to build process only.
- New - implemented a new feature.
- Upgrade - for a dependency upgrade.
- Chore - for tests, refactor, style, etc.
All JavaScript code is linted with ESLint. Double-check you are following the current eslint config.
After finishing work check codestyle with command:
npm run test:lint
All API changes should be added to documentation.
- Use markdown.
- Wrap code to ```javascript ``` blocks.
- Keep table of contents up to date.
run all test suites:
npm run test:mocha
run tests in build:
npm run test:package
check security:
npm run test:security
check styleguide:
npm run test:lint