Is there a way to use the TypeScript compiler only to remove type annotations, but not transpiling async functions? Something like a { target: 'esInfinite' }
option? The reason is: There are browsers that already support async functions, so I wish to have a build target where those functions are not affected.
example input:
async function foo(a : number) : Promise<void> {}
example output:
async function foo(a) {}
In your tsconfig.json
, change your target to ES2017
, then it will preserve the async/await
.
{
"compilerOptions": {
.....
"target": "ES2017",
.....
}
}
DO make sure your run-time supports it natively!!!
PS: as of Apr 2018
, AWS Lambda now supports Nodejs 8. You should be able to use the above config for it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With