Upgrading my blog to Next 15

April 05, 2025 · Updated on April 09, 2025

I was hesitant to upgrade my blog to Next 15 since it came with quite a few breaking changes. I planned to wait until I actually needed React 19, Tailwind v4, etc.—but the recent Next.js middleware vulnerability finally pushed me to do it.

Turns out, the upgrade process was smooth thanks to @next/codemod. It automates most of the migration work:

npx @next/codemod@canary upgrade latest

Next, I upgraded Tailwind. They also provide a CLI to handle the transition:

npx @tailwindcss/upgrade

After this, I started seeing turbopack errors in dev mode:

 Webpack is configured while Turbopack is not, which may cause problems.
 See instructions if you need to configure Turbopack:
  https://nextjs.org/docs/app/api-reference/next-config-js/turbo

The issue was caused by forcing a crypto fallback via webpack, which isn’t needed with Turbopack.

I then upgraded the rest of my dependencies. Everything went smoothly—except for one:

 WARN  Issues with peer dependencies found
└─┬ @vercel/style-guide 6.0.0
  └── unmet peer @next/eslint-plugin-next@">=12.3.0 <15.0.0-0": found 15.2.4

Looks like the Vercel style guide package is deprecated and hasn’t been updated for Next 15. I removed it and replaced it with eslint-config-next.

So far, everything seems to be working just fine.

tl;dr

  • A recent Next.js security flaw prompted me to upgrade to v15.
  • Used @next/codemod and @tailwindcss/upgrade for quick migrations.
  • Replaced deprecated @vercel/style-guide with eslint-config-next.