rch850 の上澄み

技術的な話題とか、雑談とか。タイトルを上澄みに変えました @ 2020/09/02

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 表示が赤くなる状態になってしまった。

さっぱり分からないので周辺の状況を整理してみたら、このようになった。

なんだかよく分からない状況で、さらに調べて行き当たったのがこの issue のコメント。

github.com

  1. 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.
  2. 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 をつけることもできた。めでたし。