blog.bouzuya.net

2014-08-13 初盆で田舎にいった & hubot-base64 をつくった

じいちゃんが死んで最初の盆(初盆)がきたので、田舎に帰った。よく知らないおじさんの経を読むのを聞いて、昼飯に寿司を食べた。墓参りしようとすると「墓には居ないよ。それが初盆だよ」と止められた。どうやら盆にはじいちゃんの霊(?)は墓から家のほうに戻ってくるらしい。そうなのか。20 年以上も生きていて知らなかった。ぼくには常識がない。

さて、今日は hubot-base64 をつくった。1 日 1 Hubot スクリプトの 31 日目。

hubot-base64 は名前からわかる通り base64 変換する Hubot スクリプト。

たまには使えそうなものをという考えから安易な気持ちでつくった。本体を見れば分かるが、Node.js の Buffer を使うだけのお手軽スクリプト。それでもたまに使うのではないかと。

今日は、それとは別でぼくのいままで書いてきた Hubot スクリプトが実は初期の Hubot で動かないことがわかった。原因は CoffeeScript のバージョン。hubotcoffee-script@1.6.3 に依存するのだけど、ぼくの Hubot スクリプトは 1.7 系の文法を使っていて、動かない。

すべてのスクリプトを 1.6 系にすれば動くかと思ったのだけど、テストに使っている espower-coffee やらが coffee-script@1.7.1 に依存していて、さあ困った。

対応方法にはいろいろある。

  1. ユーザーに coffee-script@1.7.1package.jsondependencies に加えてもらう。(前提条件の追加)
  2. power-assertを捨ててcoffee-script@1.6.3` 向けのテストコードを書き直す。
  3. JavaScript に変換したものをリポジトリ管理し、使う。

などなど。

ざっと見た感じ CoffeeScript 関連ツールはほとんど 1.7.1 に追随できているので、むしろバージョンアップしていない Hubot 側が悪いだろうということで、案 1 を採用した。coffee-script@1.7.1 を使ってもらうか、bouzuya の hubot-scripts は諦めてもらうかをユーザーに選ばせる。

ぼくとしては Hubot スクリプトを CoffeeScript 1.6.x で書く人とは仲良くなれないということだ。

それじゃ眠いので以下略。