This is the curse of guest languages, after the initial adoption pain everyone wants idiomatic libraries and pretends the underlying platform doesn't exist.
Until they hit a roadblock caused by a leaky abstraction, that proves them otherwise.
Type script does a very good job not to hide the underlying platform. In it's essence it is just a development time linter and does not interfere with the JavaScript runtime at all (except enums).
And I think that's actually the reason why it won the competition against Googles Dart. They even used Microsofts TypeScript for Angular instead of their own language Dart.
Generating code based on type annotations is frequently requested feature directly related to the core feature of TypeScript which is type system.