CommonJS

id:hagino_3000 さんの発表をきいて、確かに、CommonJSの動きでserver side js のライブラリが充実してくるのなら、CouchDBの上で動かないといろいろと不便になりそうだな、と思った次第なので、ちょっと調べてみよう。SpiderMonkey ベースの実装があれば、組み込むのはそんなに難しくないと思ってます。

あと、CouchDBのモジュールロードの方法がダサイ、という件は、

// !code foo/bar/hoge.js

というコードを書く点なのですが、これはCouchDBではなくてCouchAppという、クライアントツールの方です。CouchDB側のServer Side JSには、実はモジュールロードという機能すらなくて、CouchAppというツールがクライアント上で #include を展開するのと同じように、!code を展開した上でHTTPでCouchDBに送りつけます。

で、確かにこれ、ちょーださくて、

/* a.js */
// !code b.js

...
/* b.js */
// !/code c.js

...

と書いたら、当然 a.js では (b.jsを経由して) c.js までよみこんでくれることを期待したいのですが、それはしてくれません。これはださい、と思ったので、git で fork して使ってます。http://github.com/yssk22/couchapp 。pull リクエストも出したんですけどね!