近況: ブログの yak shaving

Fohte
·
公開:2023/12/2

ここ 2 週間くらい期限つきのタスクに追われ、気が張り詰めていてなかなか大変だった。

先週は仕事しながらも ISUCON 漬けという感じ。今週は仕事がバタバタしていたのと、ブログ執筆に追われていた。

ISUCON の話は ISUCON13 に初参加した (49 位、35,524 点) #isucon | fohte.net に書いた。

あと Fediverse Advent Calendar にも参加していて、昨日今日はその記事を書いていた。Twitter から Mastodon に移住して 9 ヶ月が経った | fohte.net

Fediverse Advent Calendar は 1 記事書いたらまた別のことを書きたくなって、偶然枠がまだ空いていたので、後半でまた書く予定。

それで、今週はこれらのブログを書くための yak shaving を頑張っていて、それがなかなか大変だった。

ブログ (fohte.net) は Next.js で自作していて、最近 bun に移行したところビルドが謎に失敗して困っていた。

Pages Router 起因っぽかったので App Router に移行するということをやっていて、これがまあ大変だった。

migrate to app router by fohte · Pull Request #141 · fohte/fohte.net

特に大変だったのが Server Components 未対応のコードをどうにかすることで、そもそもどこでエラーが出ているのか分からず結構ハマっていた。

ビルド時のエラーログにピンポイントな stack trace が出てくれれば良いのだけど、mdx のビルド時に Server Components 未対応でコケている部分があって、それは全く stack trace に表示されなかった。結局最小構成を作ろうとする段階でそれに気付けた。

公式で migration guide が提供されているし、その通りに従えば楽にできるだろうと高をくくっていたが、想像以上に時間がかかってしまった。

Cursor という ChatGPT にドキュメント食わせながらコードの修正までしてくれるエディターを試して楽に移行しようともしたけど、前述のバグはさすがに検出できなかったし、うまく使いこなせなかった。

最終的に App Router 移行はうまくいったのだが、ビルドエラーは解決できず悲しい。結局 bun を 1.0.6 -> 1.0.14 にアップグレードしたところ解決した。最初から bun をアップグレードするだけで良かったっぽい。

ビルドエラーに悩まされたものの、ちゃんと 2 記事書けたのでえらい。Advent Calendar 遅刻しなくて本当に良かった。

おわり。

@fohte
ソフトウェアエンジニア social.fohte.net/@fohte