Convert Flow code to TypeScript.
The goal of this project is to provide a tool that can translate 95% of Flow to TypeScript while maintaining a high percentage of the existing type information. We don't want to convert code and end up with everything using
any. We also want to avoid having to make a lot of manual changes to files afterwards, e.g. changing
yarn global add @khanacademy/flow-to-ts
flow-to-ts [options] <file globs>
- when exact translation isn't possible:
anywhen possible and provide a gentle warning - when it isn't possible to downgrade (e.g.
%checks), remove the syntax
and provide a forceful warning that the code in question will need a human to convert it manually.
- best effort to maintain blank lines and the position comments, this isn't
BugsBug reports for converting Flow to TypeScript should include a link to the playground with an example of a minimal reproducible example of the bug.
Feature RequestsFeature requests are welcome.
Pull RequestsPlease make sure there is a GitHub issue first before creating a pull request except for small things. Also, please sign our Contributor License Agreement.
Pull requests that fix a bug in the conversion code should include one or more test cases and should have 100% diff coverage.
Dev quick start
git clone firstname.lastname@example.org:Khan/flow-to-ts.git cd flow-to-ts yarn yarn test