Next.js on Vite With Vinext 1.0: What I’d Check Before Migrating
Vinext 1.0 runs Next.js apps on Vite. I read Cloudflare's announcement closely and wrote down the checks I'd run, including the use cache gap, before…
Vinext 1.0 runs Next.js apps on Vite. I read Cloudflare's announcement closely and wrote down the checks I'd run, including the use cache gap, before…
pgAdmin 9.18 moved inline scripts to a per-request nonce but kept 'unsafe-inline' for styles. Here's why, and how I did the same on a Vite…
React 19.3 makes View Transitions and Fragment Refs stable and adds use(browser()). Before-and-after code for each, plus the Suspense mistake I made first.
Next.js 16.3 lets you tune how Turbopack merges chunks using your own bounce rate and route clusters. Chunk groups, the nextjs.org numbers, and the flags…
Partial prerendering is now the App Router default via cacheComponents. Why my dashboard got slower after the upgrade, and the mental model that had to…
React 19's useOptimistic hook replaced my hand-rolled optimistic update code. The before and after, the rollback I deleted, and the two gotchas that bit me.
React 19 and the compiler quietly killed half the hooks advice I used to give. Here's what I dropped, what I kept, and the code…
React Compiler went stable in late 2025. Here is what changed after I deleted most of my useMemo and useCallback calls, and the two places…
React 19's useActionState and useFormStatus let me delete the loading flags, error state, and controlled inputs I hand-wrote in every form. Before and after code.
I finally moved a production app from the Next.js Pages Router to the App Router. The real data-fetching and layout rewrite, plus what annoyed me.