読者です 読者をやめる 読者になる 読者になる

15 min/d

ぼうずやのにっき

bouzuya/cyclejs-history-driver 0.2.1 をつくった

bouzuya/cyclejs-history-driver 0.2.0 0.2.1 をつくった。 2017-03-05 のことだ。

経緯について書く。

先週は bouzuya/bath 2.0.1 や bouzuya/spa-town 0.1.2 をつくった。

bath は path template engine だ。 template と parameters から path をつくったり、template と path から parameters を取り出したりできる。

spa-town は router だ。各 route pattern に bath を使っている。 bath の活用例でもある。

それらをせっかくつくったので、何かに適用したくなった。ちょうどいい題材として bbn: blog.bouzuya.net の 4.x である bouzuya/mr-jums に適用しようとした。

mr-jums は 2016-12 から commit していないので、いろいろ依存関係が古くなっていた。 Cycle.js や webpack などだ。 Cycle.js のバージョンを上げたところ、 driver の仕様も変わってしまい、動かなくなった。

動かなくなったのが cyclejs-history-driver だ。 2016-08-27 につくったものだ。Cycle.js v7.0.0 (Cycle Diversity) への対応を試している。

Cycle Diversity は複数種類の stream library への対応をうたっている。だから diversity なのだろう。で、それらの違いを吸収するために library ごとに adapter をつくるようになっていた。

それが今回の Cycle Unified で動かなくなった。 Unified は ES Observable を使って変換しているらしい。ふーん。詳細は知らないが、 Driver の API が変わっている。う、うーん。何回 API 変えるつもりだよ……。

で、bouzuya/cyclejs-history-driver 0.2.1 ができた。経緯ここまで。

mr-jums に spa-town を組み込みたかっただけなのに……。

追記。書きそびれていた。 2017-02-21 から NPM にお金を払っているし、せっかくなので NPM に scoped package として公開した。@bouzuya/cyclejs-history-driver