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 をあまり考慮していないのが怪しいのだけど、ひとまず以前よりもまともに動かせたので、記録しておく。