Skip to content
This repository has been archived by the owner on Nov 8, 2024. It is now read-only.

Adopt TypeScript #1524

Open
artem-zakharchenko opened this issue Sep 30, 2019 · 3 comments
Open

Adopt TypeScript #1524

artem-zakharchenko opened this issue Sep 30, 2019 · 3 comments
Assignees

Comments

@artem-zakharchenko
Copy link
Contributor

Motivation:

The current state of the repository is not contributor-friendly. It takes intense amount of time to figure out certain parts of the logic, and the absence of strong types makes the learning curve, as well as the refactoring process, much steeper.

I propose to integrate TypeScript into the build pipeline to move forward predictable and self-documented code base.

Benefits:

  1. TypeScript provides build-time verification that your code operates as intended.
  2. TypeScript makes code self-documented, which is much more reliable than any kind of on-demand generated documentation.
  3. We can emit TypeScript definitions we use in Dredd to allow TypeScript users to use Dredd more reliably.
  4. Code base is easier to understand with types and cross-references.
  5. Tests are easier to write since you also write them with TypeScript.
  6. Vastly improved refactoring, due to all the points above.

Roadmap:

The first attempts to introduce this change were done in #1497, but due to the size of the changes it was decided to split it into several smaller pull requests.

@artem-zakharchenko
Copy link
Contributor Author

Build setup and tests are adopted, it's left to rewrite a few basic modules in TypeScript.

@honzajavorek
Copy link
Contributor

@artem-zakharchenko do you want to close this one as done or do you want to turn it into a

  • check
  • list

tracking progress file by file? Or is there a "minimal viable adoption" we could define and when it is reached, it closes this issue?

@rrhodes
Copy link
Contributor

rrhodes commented Aug 13, 2021

Any updates on this issue?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants