JSX v0.9.0 released as a self-hosted compiler

We are proud to announce the release of the JSX compiler toolkit v0.9.0 as an npm package, which is the first version of self-hosted compiler; i.e. the JSX compiler is now implemented in JSX, whereas the first implementation was written in JavaScript. The self hosting was an important milestone for past months, but now it has been completed, so we will concentrait on new features for the next months.

Note that v0.9.0 includes several incompatible changes, which are not by self-hosting, but by intent in order to improve development efficiency.

(1) Failure of type cast throws runtime errors, rather than returning null

We decided that throwing errors on cast failure was better than returning null. Before this change, we have to check whether the result of cast is null or not, but the assertion was tend to be ignored. Now all we have to do is to cast a value. Very simple.

(2) Invalid @param in jsxdoc causes compilation errors

jsxdoc is introduced and jsxdoc tags are checked by the parser. Now you cannot write invalid @param tags in the jsxdoc. See lib/built-in.jsx for example.

See Changes for all the changes.