And, ultimately, your code still ends up being a load of garbage boilerplate code like you're writing oldschool Java from the early 2000s.
It's a nasty language written on top of a nastier one, lipstick on a pig.
I don't see it as a long term solution. It's just the next coffeescript. It's part of the problem rather than a solution, the problem being the massive churn in the JS ecosystem as we desperately hunt for a way of writing JS code that isn't awful.
The actual solution is to give us other languages in the browser. We need Python or Ruby or Go or C# or PHP or whatever. We need real choice, not javascript 2.0.
If Firefox wanted to stay relevant today it could stop dogmatically promoting a broken language and that's what they'd be working on right now. They're too rigidly fixated on the past though.
It can work with NPM - but what about bower, JSPM, whatever else hipster package manager everyone else uses ?
It should specify TS supports NPM by default and it's the official package manager - you can use others at your own risk. Ditto for build system.
Saying you can target ES6 with babel is completely missing my point - Dart developer experience is much much better than TS simply because it does all of these things - out of the box and without any decisions/interventions/ridiculously complicated build setups and dependency chains
A package manager is not necessary, it can work with npm.
A build system is not necessary, existing build systems support it.
I believe they will eventually do full polyfill. However, the compiler is very high quality and that doesn't happen by accident. They have to make hard design decisions to keep releasing features so regularly (they release features faster than I can keep up with sometimes).
For now, you can target es6 and chain with babel.