Contributions are awesome! However, Swig is held to very high coding standards, so to ensure that your pull request is easy to understand and will be more successful, please follow this checklist:
Setup: Before you begin, run
makefrom your command line to ensure all dependencies are met.
Test: Always write new test cases.
Lint: Ensure coding-standards are followed.
- Explain: In your pull request, very clearly explain the use-case or problem that you are solving.
Pull requests that fail to add test coverage, break tests, or fail linting standards will not be accepted.
The swig codebase is highly tested and linted, as a way to guarantee functionality and keep all code written in a particular style for readability. No contributions will be accepted that do not pass all tests or throw any linter errors.
Here's an example of a great pull request that followed the above checklist: Pull Request 273 - Added patch and test case for object prototypal inheritance.
Installs all dependencies and sets up sanity-check git hooks.
Builds the browser-ified version of Swig to
Runs all test files matching
./test/*.test.js within node.js.
Builds for browser and runs a large subset of tests from the
make test task within a browser environment using Phantom.js.
Builds a test coverage report.
Builds documentation and runs a web-server for viewing a preview of the documentation site.
Builds documentation for
gh-pages tasks from jsdoc comments in
Builds documentation as static HTML files and pushes them to the
gh-pages git branch.