mochaはEcmascript262 5th edition 及び、現在策定中のEcmascript harmonyの文法とちょっとした拡張をブラウザで利用可能なjavascriptに変換するコンパイラです。
- ES Nextからjavascriptへの変換
- ES Nextを使用して記述されたファイルをブラウザで実行可能なjavascriptへ変換します。
- 圧縮
- 変換済みのjavascriptを圧縮します。変換から圧縮までをシームレスに行えるので他のツールを起動する必要がありません。
- ファイルのモジュール化
- ES Nextの機能であるimport及び、module構文。、mochaの独自拡張を利用したファイルの読み込みによりモジュール化をサポートします。これらはコンパイル時に静的に結合されます
- 条件別コンパイル
- コンパイラ命令としてversion演算子を導入しました。事前に定義したバージョン識別子の有無でコードブロックの削除が可能です。
- デバッグ用エラーハンドラの挿入
- ファイルを結合した際に、エラーが起きた行数がわからなくなるのを避けるため、行数及び、ファイル名をスコープ、あるいはステートメント毎に挿入します。
- 外部テストツールとの連携
- phantomjsなどのテスト用ツールを利用したテストも可能です。