2016-06-20 bouzuya/beater 0.4.1 をつくった
bouzuya/beater 0.4.1 をつくった。
bouzuya/beater#7 で Node.js v4 で動かないという Issue が来たので対応した。次のように version を上げた。
- bouzuya/beater -> 0.4.1
- bouzuya/beater-cli -> 0.2.4
- bouzuya/beater-cli-reporter -> 0.4.2
- bouzuya/beater-html-reporter -> 0.1.1
- bouzuya/beater-reporter -> 0.3.0
実装としては TypeScript -> Babel の多段変換にした。以前この多段変換をやめたという記事を 2016-03-15 に書いた。今回はその逆だ。以前より TypeScript の経験値が上がったからか、心の余裕があったからか、逆に多段変換を選択した。
TypeScript 側では --target を es2015 に、--module を commonjs にし、lib.es6.d.ts の参照は追加しなかった。
--target を es2015 にすれば lib.es6.d.ts を参照しなくて済む。これは Promise が global に定義されるということだ。polyfill で解決しようとすると dependencies を汚すのでそれは避けたかった。
--module を commonjs にすれば TypeScript, Babel 間での default export/import の解釈の違いによる問題を回避できる。
実際の ES2015 向けの polyfill は babel により補ってもらう想定だ。以前は --module を commonjs にしなかった (できなかった気が……) のだけど、今回はそれを変えて、変換時間は妥協することで解決した。
package.json もすこし見なおしていて、.d.ts の cp に cpx という npm package を使っている。Windows 環境を考えると rm や && なども避けるのが望ましいかもしれない。
Source Maps をあまり考慮していないのが怪しいのだけど、ひとまず以前よりもまともに動かせたので、記録しておく。