bouzuya.hatenablog.com

ぼうずやのにっき

bouzuya/beater 0.4.1 をつくった

bouzuya/beater 0.4.1 をつくった。

bouzuya/beater#7 で Node.js v4 で動かないという Issue が来たので対応した。次のように version を上げた。

実装としては TypeScript -> Babel の多段変換にした。以前この多段変換をやめたという記事を 2016-03-15 に書いた。今回はその逆だ。以前より TypeScript の経験値が上がったからか、心の余裕があったからか、逆に多段変換を選択した。

TypeScript 側では --targetes2015 に、--modulecommonjs にし、lib.es6.d.ts の参照は追加しなかった。

--targetes2015 にすれば lib.es6.d.ts を参照しなくて済む。これは Promiseglobal に定義されるということだ。polyfill で解決しようとすると dependencies を汚すのでそれは避けたかった。

--modulecommonjs にすれば TypeScript, Babel 間での default export/import の解釈の違いによる問題を回避できる。

実際の ES2015 向けの polyfill は babel により補ってもらう想定だ。以前は --modulecommonjs にしなかった (できなかった気が……) のだけど、今回はそれを変えて、変換時間は妥協することで解決した。

package.json もすこし見なおしていて、.d.tscpcpx という npm package を使っている。Windows 環境を考えると rm&& なども避けるのが望ましいかもしれない。

Source Maps をあまり考慮していないのが怪しいのだけど、ひとまず以前よりもまともに動かせたので、記録しておく。