質問: nodeで動くスクリプトをtypescriptで書き、tsのasync/awaitやes6のstring.includesなどを使いたいのですが、.tsファイルの変更を検知してes6 targetでtscコンパイルし、それをes5 targetでbabelでトランスパイルして.tsからデバッグ実行できたりするtasks.jsonもしくはlaunch.jsonって書けるのでしょうか? 追記:gulpやflyといったタスクランナーとVSCodeのタスクを連携させる方法でもかまいません
回答: gulpやflyでやる方法は知らないですが、webpackでやる方法はこのプロジェクトが参考になると思います。 https://github.com/rjz/typescript-react-redux/blob/master/package.json https://github.com/rjz/typescript-react-redux/blob/master/webpack.config.js 最終的には`npm run watch` をVisual Studio Codeのタスクで呼べるようにすればいいと思います。 追記 nodeのバージョンは質問者様が決定できないのですか? もしnodeのバージョンを選べるなら本当はBabelは必要ないのではないでしょうか? > > nodeで動くスクリプトをtypescriptで書き、tsのasync/awaitやes6のstring.includesなどを使いたい > > es6 targetでtscコンパイルし、それをes5 targetでbabelでトランスパイル > > > node6.8以上を使用すれば、Node.js ES2015/ES6 supportを見ればわかるように、ES2015の99%をサポート出来るのでES5に変換する必要はないです。ES6で出力すればいいだけです。 "async/await"はES2015の範囲に含まれないので、Babelを使用しないといけないというのは分かるのですが、12月中にリリース予定のTypeScript 2.1でES 5ターゲットで使用できるようになります。 なのでcore-jsと合わせてES5で出力すれば、Babelを使用しなくてよくなります。 私ならこのタイミングならBabelを併用してまではやる必要はないんじゃないかなと思います。