async-await for ES5/ES3 is already available in `typescript@next`. give it a try.
Have you tried transpiling to ES6 and then use Babel?
It's "yet another 'transpilation(?!)' step". I currently use this combination but I would be way happier with just Typescript as in the current config the lag becomes noticeable.
If you use webpack, you could just add ts-loader as a first loader and babel-loader as a second one. Source-map works great too.
Yup - though you need to make use of lib if you want to write es2016 TypeScript and have Babel transpile it. Not too hard to get set up though:
before typescript@next I had exactlt that setup, but sourcemaps were broken despite all my attempts to make them work. Now I'm using ts 2.1 and have completely removed babel out of my build.
I've gone that route for a while now. It's a nightmare of fragility in your build, not to mention little things like how it totally kills your sourcemaps. I just upgraded to typescript@next and it has been a dream. I eliminated like 50% of the cruft around my build just by doing that.