Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

Latest commit

 

History

History
49 lines (28 loc) · 2.28 KB

CONTRIBUTING.md

File metadata and controls

49 lines (28 loc) · 2.28 KB

Contributing Guide

Thank you for considering a contribution to TypeWiz!

When making a non-trivial change to this repository (such as adding a new functionality), please first discuss the change you wish to make via issue before making the change.

Background

Before contibuting, it's advised to read the blog post explaining how the project works. This will give you a good understanding of the different parts of the project.

Finding an issue to work on

You if you interested in contributing and looking for an issue to work on, check out the issues labeled help wanted.

Tests, Lint and Formatting

Please create a test case for any feature you add or bug you fix. The integration tests are quite simple. You simply need to provide the input TypeScript source code and the expected output (with the added type annotations).

To run the tests (and linting) execute:

yarn test

The code is formatted using prettier. You can (and should) format your code before committing by running:

yarn format

The project provides Wallaby.js configuration, you can use it to automatically run the tests in your IDE as you edit the code.

Testing TypeWiz on a Node.js project using typewiz-node

If you make some changes to TypeWiz and wish to test them on a Node.js project, you can follow these steps:

  1. Clone typewiz, run yarn installand make some changes
  2. Run yarn build inside the typewiz directory
  3. Run your project's entry point with typewiz-node, e.g. yarn typewiz-node index.ts

Whenever you make any changes to typewiz and want to test them, simply run yarn build in the typewiz directory again.

Project structure

License

All contributed code will be licensed under the MIT license. By submitting a pull-request you are agreeing to publish your code under this license.