バベりバベられた日

BabelJs

2015年2月15日、Firefox OS WoTハッカソンの懇親会で衝撃を受けた。

ハッカソンとは全く関係ないんだけども、普段アプリを作るのに使っている6to5のブログでNot Born to Dieと言う記事が上げられた。

ざっくり約

最新の情報として、6to5の行ったとても大きな事をブログに上げます。

まだ目標には全く達していないが、6to5と6to5-coreは数日中に50万ダウンロードを達成すると考えている。
そして、月末には百万をこえる回数になると予想している。

その理由の大部分は、名前に起因していると考えています。
これまでの6to5は、名前のせいで本来の役割と異なった名前がJavaScriptコミュニティーにたいしてすこしばかりの混乱を与えていました。

そもそも6to5は死ぬ為に生まれていません。

次世代のJavaScriptはすべての環境でサポートされていても、6to5の入った作品はコミュニティーでも重要な役割を果たして行きます。

ミニファイ、難読化、lint、コードカバレッジ計測、AltJSへのコンパイル、構文拡張、コードハイライトと様々ですが、殆どのプログラミング言語が依存する2つのツールがあります、それがparserやtranspilerです。

JavaScriptにおけるこれらのツールの歴史は長く、悲しい道のりでした。
常に誰もが同じ物を再構築し、確かな混乱を作ってきました。
また、一つの新しい言語仕様を展開するまでにとても長い時間がかかりました。
(つまり「Arrow Functionsが大好きだが、そいつが我々のコードカバレッジ計測を破壊する」という話)

幸いにも多くの作業は、この問題を改善するために行われています。

Mozilla, Esprima, Jquery財団, Acorn, 6to5, ESLint等の人々が、最近になりESTreeを作成する為に集まっています。
これはすべてのparserとtranspilerツールの基盤かつ標準となるべき存在です。

我々6to5はtranspilerのストーリーを解決していきたい。

コミュニティーがここに集結して、多くの問題を共有し対処する事が出来れば、強固な基盤を作る事が出来るようになる筈です。

これは馬鹿げた考えで、とても驕り高い目標かもしれません。

そもそもは、「6to5」という名前じたいが、その目的の適用範囲外だと考えます。

なので、我々はプロジェクトの名前を変更する事を良い考えだと思いました!

6to5は今Babelという名前です。

babelは常に最新の標準を使用する為のJavaScript transpilerとして役立ちつつけます。
それだけでなく、他のツールの為のにも様々なAPIを用意し始めます。

babelをプロジェクトで使っていく誰もが、信じられないほど作業がしやすくなります。

そして我々は、JavaScriptコミュニティーに大きな影響を与える事ができると信じ、驚くほどわくわくしています。

だから、常にJavaScriptへの挑戦をし続ける。

— The recently Babel team

終わりに

6to5を単なるES6 polyfillと考えていた自分が恥ずかしいと言う思いとともにこのBabelJSの持つ思想は凄い共感を覚えた。

今後ESTreeの動向に、目を離せない自分が居る。