The core of the transition is getting rid of Makefile and replacing it with gulpfile.js. The rest is details (fixing dependencies, changing all references to "make", etc.). Target/task names mostly stay the same, so in most cases "gulp foo" does what "make foo" did before. The only exceptions are "make browser" and "make browserclean", which are now "gulp browser:build" and "gulp browser:clean" (it feels more systematic). Functionality is mostly unchanged (modulo Gulp clutter in the console), but there are two small exceptions: gulp spec The reporter now displays just dots while previously it displayed spec descriptions. There is also a deprecation warning (most likely because I used an old version of gulp-jasmine in order to support Jasmine 1.x). I kept these issues unfixed because I plan to switch to Mocha soon (#409). gulp browser:build The copyright header is now added manually both to the development and minified build. Before, it was added only to the development build and the minified build relied on preserving it using "uglify --comments". This was broken since switching to //-style comments. There is now also an empty line between the header and the source code. Fixes #444.
2.1 KiB
Contribution Guidelines
The best way to contribute to PEG.js is by using it and giving back useful feedback — reporting discovered bugs or requesting missing features.
You can also contribute code, but be advised that many patches end up being rejected, usually because the change doesn’t fit the project or because of various implementation issues. In almost all cases it’s best to get in touch first before sending a patch.
Reporting Bugs
Report bugs using GitHub issues. Before submitting a bug report, please search existing reports to see if the bug wasn’t reported already.
In the report, please describe:
- Steps to reproduce the problem
- Expected result(s)
- Actual result(s)
In most cases, it’s also useful to include a minimal example (grammar + input) reproducing the problem.
Requesting Features
Request features using GitHub issues. Before submitting a feature request, please search existing requests to see if the feature wasn’t requested already.
In the request, please describe:
- How the feature should work
- Use case(s) behind it
Contributing Code
Contribute code using GitHub pull requests. For non-trivial changes, first file a corresponding bug report or feature request. This will ensure the problem is separated from a solution.
Split your change into atomic commits with descriptive messages adhering to these conventions. Have a look in the commit history to see good examples.
When appropriate, add documentation and tests.
Before submitting, make sure your change passes the specs (gulp spec
) and
ESLint checks (gulp lint
).