Skip to content

Latest commit

 

History

History
118 lines (73 loc) · 4.04 KB

CONTRIBUTING.md

File metadata and controls

118 lines (73 loc) · 4.04 KB

Contributing Issues

Bug Reports

Please provide a (simple) way to reproduce the problem. A bug that can not be reproduced is less likely to be solved.

Feature Requests

Please also include the reasoning for the desired feature and not just its description. Sometimes it is obvious, but other times a few sample use cases or an explanation can come in handy.

Contributing Code

There are two types of code contributions.

Contributing Sample Grammars and Examples

This is probably the easiest way to contribute as it does not require any knowledge of chevrotain's internals. And each contribution is self-contained and limited in scope.

Sample Grammars contributions are particularly encouraged.

See some existing examples to get started.

Details:

  • An Example must include some tests with a _spec.js suffix.

Contributing To Chevrotain's Runtime Source code.

This can be more complex as more in-depth knowledge of Chevrotain internals may be needed.

Details:

  • ~100% test coverage is required.
    • It is possible to disable coverage for specific code, but there must be a very good reason to do so.

Development Environment

Chevrotain is developed as a mono-repo with a single (temporary state) productive package and multiple example packages.

Chevrotain uses npm tasks for the development flows. and pnpm + lerna for the monorepo management.