なぜJSXをセルフホスティングすべきなのか

JSX をセルフホスティングしてnpm packageとしてリリースしました。

さてJSXコンパイラをJSXで書きなおしたわけですが、これは主にJSXコンパイラの質を高めるためです。JSXはJavaScriptと比較すると大規模な開発に向いている、というのがJSX開発チームの主張です。であれば、JSXコンパイラをJSXで書くことにより質を高められるはずです。事実、今回のセルフホスティングtypoやリファクタ時のエンバグ、関数の引数間違いなどによるバグがいくつも見つかり改修されました。セルフホスティングコンパイラの品質を高める一助になったといえます。

またもうひとつ、今回のJSXコンパイラの開発はJSXによる開発であり、この過程で得た知見が数多くあります。これにより、たとえばasの失敗がnullを返すのではなく例外を返すようにするなどいくつかの変更が加えられています。JSXによる開発の知見を得るという意味でも、セルフホスティングは必然です。

なお、いくつか変更は加えられたものの、v0.9.0の時点ではセルフホスティング化以前とそれほど変わりはありません。依然として不便な部分や足りない機能はあります。これからはそちらに集中することになるでしょう。