2017-03-06 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