エメラルドマウンテンの麓。

gulpプラグインのgulp-diamond-princess-zoningを公開しました

javascript ファイルのビルドに関する gulp プラグインを npm に公開しました。

プラグインは複数の javascript ファイルを一本化します。併せて、パスを元に適宜に即時無名関数 (function(){/* */})(); で囲みます。

これによりパス名にもとづくコーディングルールを強制し、Closure Compiler 等で違反が検出できます。またモジュール毎に関数スコープをつくることで、実行時に動的に解決する変数や関数の参照が高速になります、多分。

レガシーでプアな環境でも動くようにコンパイル結果を意識する、僕のコーディングスタイルでは抜群に貢献してくれています。モダンなモジュールローダー等を利用できるプロジェクトとの相性は悪いと思います。


Closure Compiler の advanced ビルドの出力はかなり素晴らしいのですが、この出力を更に最適化したいという欲求からいくつかツールが欲しいと考えています。その最初の一つになります。

この他には SCSS ファイルと javascript ファイルで変数を共有するツール、BEM で冗長になったクラス名や json ファイルのプロパティ名を短縮するツールを準備中です。Enjoy!