技術とかの雑なToday I Learnedメモ

Next.js の 12.2 が出たらしい

Next.js の 12.2 が出たらしい

Blog - Next.js 12.2 | Next.js

もう 12.2 が出たらしい。早い。雑に読む。

Middleware (Stable)

middleware が experimental から stable になった。

いくつかの Breaking Change が入ったっぽいので、 12.2 にアップデートするときにはマイグレーションガイドを見なきゃいけないっぽい。

middleware-upgrade-guide | Next.js

On-Demand Incremental Static Regeneration (Stable)

ISR を使っていると、新しくデプロイしたあとの最初のリクエストでキャッシュが更新されるので、その最初のリクエストでは古いキャッシュを見てしまう問題があった。

が、これを使うとデプロイせずにキャッシュを更新できるようになるっぽい。すごい。

※追記

ISR の認識がちょっと違ったかも。

ISR では revalidate に設定した秒数待ってからリクエストを送らないと再生成が走らず古い情報を表示してしまうが、 On-Demand ISR にすることでその秒数を待つ必要なく、コンテンツが更新されたタイミングなどの好きなタイミングで再生成を走らせることができる。という認識になりました。

Edge API Routes (Experimental)

API Routes で experimental-edge を選べるようになったらしい。

Edge Runtime は Node.js よりも高速に起動できて低レイテンシーだけど、 Node.js の一部の API が使えないらしい。

Edge Server-Rendering (Experimental)

React18 を利用することで Pages のストリーミングサーバーレンダリングができるようになるらしい(よくわかってない)

React 18: Streaming SSR | Next.js

ここに書いてありそう。

Improvements to next/image

next/future/image っていう experimental なコンポーネントを使えるようになるらしい。アルファ版みたいなやつかな。

より快適に画像設定できるみたい。

remotePatterns はあんまりピンときてない……。

あとは画像の最適化をオフにできるらしい。する機会はあるのだろうか。

SWC Plugins (Experimental)

SWC Plugins (Experimental)

SWC のプラグインが使えるらしい。

SWC は Rust 製のビルドツールだったはず。

React 18 Support Improvements

React18 対応が色々されている。早い。

Other Improvements

その他には色々あるけど、 next/link<a> タグを追加する必要がなくなったのがとても嬉しい。

あとインストールサイズがめちゃくちゃ減って 14MB 削減できたらしい。モノレポを pnpm に移行したらしいが、 pnpm はそんないい感じなのか。