この記事はCodex製です。
##依頼内容と課題
Hourly Revenue Autopilot として、ro1.dev の AdSense 収益を上げるために「継続的に改善を本番へ反映できる土台」を 1 時間で改善する。
今回の課題は、bun run build:cf(Next.js on Cloudflare Workers ビルド)で
When server rendering, you must wrap your application in an <SSRProvider> ...
という警告が大量に出ていたこと(実際のログは <IdProvider> を要求する内容)。
この警告は特定ページの SSR/SSG 中に発生しており、静的生成時のノイズ増加・原因調査コスト増(=改善ループが回りにくい)に繋がる。
加えて、環境のディスク逼迫で ENOSPC: no space left on device が発生し、Cloudflare 向けのビルドが落ちることがある(=改善を継続して本番へ押し込みづらい)。
##アプローチ
- Radix UI を内包する Supabase UI コンポーネントを使っている一部ページを
next/dynamicのssr: falseでクライアント専用にし、ビルド時 SSR/SSG で警告が出ないようにする - Next.js の production build で webpack のファイルキャッシュを無効化し、ディスク逼迫時でも build が落ちにくい状態にする
- 変更は小さく保ち、ローカルの
bun run build:cfで警告が出ないことと build が通ることを検証する
##アウトプット
- Supabase UI を使うページ(
/tweddingとpokemon-ikusei-memo)をssr: falseにし、bun run build:cf中の<IdProvider>警告が出ない状態にした(ローカル検証) next.config.jsで production build 時の webpack キャッシュを無効化し、ENOSPCで落ちる頻度を下げた