TL;DR: choose TypeScript.
On a high level, you should consider:
Is the type checker easy to install and use? Is it well documented? Is it performant and fast? Ease of use has a direct correlation with adoption rate and productivity.
Is the type checker well supported by the community? Do other developers like using it? Can you easily find answers on Google or Stackoverflow? Is the project alive and actively maintained? Are issues and pull requests adequately addressed? Do other developers build tools, plugins, and integrations for the type checker? A strong community equates to a solid position in the industry.
What does the future like for the type checker? Are contributors releasing features and fixing bugs? Are companies and schools choosing one type checker over the other? This can determine the pool of developers who have experience with a type checker. Ask yourself, “Five years from now, which type checker will win?” By following the wrong trend, it will add technical debt that needs to be addressed later.
You should choose TypeScript because it has:
- better performance
- a larger community
- more type definitions (see DefinitelyTyped)
- better Visual Studio Code integrations
- more momentum (see Google Trends and npm-stat)
Check out the repositories: