Skip to content

Contributing

Erik Barke edited this page Nov 4, 2017 · 23 revisions

Developing

Choose a sub project to work on, an example project or an integration test project. Each sub project has a development script, npm run dev, which builds the karma-typescript source code before running the tests.

Code quality

To make sure the source code is consistently formatted and follows the same coding style everywhere, this project uses tslint which can be run on the command line or as a plugin in lots of editors. It also has an autoFixOnSave feature which fixes formatting errors and even syntax errors automatically when saving.

Pull requests

Development

Keep it small, try to only fix one issue or add one feature within the pull request. If possible, document bugs with a unit test or an integration test that fails without the bug fix.

Target branch

When creating the request, use the master branch as the target.

Pushing to the repository

Before pushing, run npm run ci to make sure that:

  • The source code compiles without warnings or errors.
  • The source code passes the linter.
  • The unit tests pass.
  • The integration tests pass.

Build servers

  • The project has two build servers, Travis CI (unix) and AppVeyor (windows). Both build servers install the example projects and the integration test projects and then:
    • lint the source code
    • build the source code
    • run the unit tests
    • run the example projects and the integration test projects

The build servers run every time someone pushes to the repository and if anything breaks, the latest commit is flagged as broken with a red X.

A pull request that breaks the build won't get merged until it's been fixed.

Happy contributing ☺️ 🚀

Clone this wiki locally