作りたいもの: goog.requireのモック

Google Closure Libraryを使わなくてもGoogle Closure Compilerは使う価値がある、と言い続けて全然普及してないんだけど、そのひとつの理由がCompilerを使うためにはgoog.provide, goog.requireが必須で、その実装がGoogle Closure Libraryのbase.jsに入ってるから結局使わないのにリポジトリをまるっとチェックアウトするはめになったりすることだったりするのかな。

そして、「ファイルを分けてもgoog.requireで適切にライブラリパスからロードします。でもそのためにはdeps.jsを作ってね」とかそのへんがめんどくさい。僕はjsccを使っているのでmake -B depsで終わるんだけど、大体の人はcalcdeps.pyの引数をどうしたら良いのかで時間を取られるんだろう。で、性能が要求されないケースではJSファイルを複数に分けたら、単にscriptタグをその個数だけ書いて済ましちゃってることも多いかと思うんだが、そういうのをちょこっと作ろうとすると自分のライブラリの中のgoog.requireが付いているやつを使った時にdeps.jsがないって起こられるんだよな。

まあいまjsccのdevelopに入っている酷い書きなぐりのquickstart.pyはそれを解決するために作ったんだけどね。

でも、そうやって作ったプロジェクトを他の人にも使ってもらおうとか思うと、やっぱり説明コストが高い。で、思ったんだが、単に「ライブラリのロードなんかしない空オブジェクトだけ作るgoogmock」や「ライブラリは同一フォルダにあるものと仮定しているgoogmock」があればいいんじゃないだろうか。コンパイラの恩恵にあずかりたければ環境を整えて、単にライブラリを使いたいだけならgoogmockを使えばよい、と。