ライブラリをES6で書いて公開する所から始めよう | Web Scratchで紹介してたazu/espower-babelをアップデートして3.0.0をリリースしました。

espower-babelBabelの変換 + power-assertの変換を一緒にやってくれるライブラリです。

簡単に言うとES6でテストコードを書いてMochaで動かすのを設定ファイル等を作らないで出来るようにするためのライブラリです。

詳しくは以下の記事を見て下さい

:warning: 追記(2016-04-15): espower-babelは非推奨で、.babelrcで直接power-assertを利用するのを推奨しています。 詳しくは次の記事を見てください・

3.0.0

今までespower-babelはテストファイルのみをBabel(当時は6to5ですが)で変換していて、テストからimportしたファイルについてはBabelの変換をしてませんでした。

そのため、2.x以下だとES6で書いたテストファイルから、既に変換済みのES5のコードを参照する必要があって直感的ではなかったと思います。

diff

3.0.0では、テストファイル以外も自動的に変換するようなBreaking Changeを入れています。

記事の方もこの変更に追従させてアップデートしているので、細かく変更点を知りたい人は以下のDiffを見てみるといいかと思います。

ES6に変換したくないコードをテストファイルから読み込んでいる場合は、espower-babelBabelbabelrcの設定ファイルを自動で使うようになってるので、以下のような設定を書くと変換しません。

{
  "ignore": [
    "foo.js",
    "bar/**/*.js"
  ]
}

2015-05-11追記:

3.1.0でSource Mapをサポートしたので、エラーが出た時の行数が元ファイルとちゃんと一致するようになりました。

まとめ

  • espower-babel 3.0.0からはテストファイル以外も自動でBabelの変換を行うようになった
  • これにより、変換済みの一時ファイル(ES5のコード)なしでES6のみでコードとテストを書けるようになった
  • espower-babel 2.xのものを使っている場合は、テストから直接ES6のコードを参照するように書き換えると良い
    • Babelが二重に変換してしまって挙動が変わる可能性はあるのか未定義(二度変換してもASTレベルでは同じに見えるけど)
  • 変換したくない場合はbabelrcでignoreやonlyの設定をする