Glitch で @fastify/cookie を使おうとしてハマった
tl;dr
- glitch で普通にパッケージを追加するとバージョンを指定できず
@fastify/cookie
でハマる。 package.json
に直接"@fastify/cookie": "^6.0.0"
と書けば良い。
詳しい話
試したいことがあって Glitch でちょっとしたサーバを書こうとした時のこと。Glitch を開くのは数ヶ月ぶりだったんだけど、Fastly の一員になってたんですね。おめでとうございます。引き続きよろしくお願いいたします。
Glitch で "glitch-hello-node" から新しいプロジェクトを作ると、Fastify を使ったプロジェクトになっている。今回は cookie を操作したかったので、ちょっと調べてみたところ @fastify/cookie というものがあることが分かった。これを Glitch 側でインストールしてみようとすると、こうなった。
バージョン 7.0.0 が入るんだねってことでインストール。そして fastify.register
するコードを書いてみたんだけど、glitch 側のログがうんともすんとも言わずに、ただただ Status 表示が赤くなる状態になってしまった。
さっぱり分からないので周辺の状況を整理してみたら、このようになった。
- GitHub の @fastify/cookie
- 最新のリリースは 7.0.0
- README のバッジは 6.0.0
- npmjs.com の @fastify/cookie
なんだかよく分からない状況で、さらに調べて行き当たったのがこの issue のコメント。
- A new fastify-cookie package would be published at version 5.7.0 (up from 5.6.0). This package will wrap the exports of 5.6.0 with a deprecation notice.
- A new @fastify/cookie package would be published at version 6.0.0. This package will have the same code as 5.6.0.
Any subsequent changes to comply with fastify@4 would bump @fastify/cookie to 7.0.0.
どうやら fastify が v4 になるのに伴って、パッケージ名をガッツリ変えるプロジェクトが進行中のようだった。@fastify-cookie に関しては 6.0.0 で fastify-cookie から @fastify/cookie に移行して、さらに fastify@4 は @fastify-cookie@7 を参照する形になる様子。
ここから @fastify/cookie@6.0.0 を入れればいいだろうと推測。glitch の "ADD PACKAGE" ボタンではバージョンを指定できないので、直接 package.json に "@fastify/cookie": "^6.0.0"
と書いたら無事にインストールできて、cookie をつけることもできた。めでたし。