<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Erfan Ebrahimnia</title>
    <description>The latest articles on DEV Community by Erfan Ebrahimnia (@erfanebrahimnia).</description>
    <link>https://dev.to/erfanebrahimnia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F291054%2F5d123de2-5373-4a06-847f-bfed543efb38.jpeg</url>
      <title>DEV Community: Erfan Ebrahimnia</title>
      <link>https://dev.to/erfanebrahimnia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/erfanebrahimnia"/>
    <language>en</language>
    <item>
      <title>Turborepo 2.9, React Fiber explained, jal-co/ui, Next.js Mental Model, useOffline, Debug React with AI</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 03 Apr 2026 11:01:20 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/turborepo-29-react-fiber-explained-jal-coui-nextjs-mental-model-useoffline-debug-react-with-h4p</link>
      <guid>https://dev.to/erfanebrahimnia/turborepo-29-react-fiber-explained-jal-coui-nextjs-mental-model-useoffline-debug-react-with-h4p</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Hot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://inside-react.vercel.app/blog/how-does-react-fiber-render-your-ui" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fvz5DDc8BpAdAzHMNhYo6Sg%3Fw%3D1000%26fit%3Dclip" alt="How Does React Fiber Render Your UI" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://inside-react.vercel.app/blog/how-does-react-fiber-render-your-ui" rel="noopener noreferrer"&gt;How Does React Fiber Render Your UI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A single &lt;code&gt;setState&lt;/code&gt; call kicks off a surprisingly sophisticated process. This detailed explainer covers how React Fiber organizes your component tree as a linked list, schedules work based on priority lanes, skips unchanged subtrees for efficiency, and batches DOM updates in a single commit phase&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aurorascharff.no/posts/implementing-nextjs-16-use-cache-with-next-intl-internationalization/" rel="noopener noreferrer"&gt;Implementing Next.js 16 'use cache' with next-intl Internationalization&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post got featured before, and it's now been updated with the proper solution. The original post covered a workaround for the incompatibility between &lt;code&gt;'use cache'&lt;/code&gt; and next-intl. With Next.js 16.2's new &lt;code&gt;next/root-params&lt;/code&gt; API, the workaround is no longer needed&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://turborepo.dev/blog/2-9" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fb5wNwesAMQw7U3mhu6e2Mz%3Fw%3D1000%26fit%3Dclip" alt="Turborepo 2.9" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://turborepo.dev/blog/2-9" rel="noopener noreferrer"&gt;Turborepo 2.9&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A quality-focused release for the popular monorepo build tool, bringing big performance gains and smoother adoption for large codebases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Up to 96% faster startup:&lt;/strong&gt; Time before your first task runs has been drastically reduced&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;turbo query&lt;/code&gt; is stable:&lt;/strong&gt; Query your monorepo's structure with GraphQL or simple shorthands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Circular dependencies no longer block you:&lt;/strong&gt; Adopt Turborepo incrementally in repos with package cycles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenTelemetry (Experimental):&lt;/strong&gt; Send build metrics to tools like Grafana or Datadog&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured logging (Experimental):&lt;/strong&gt; Get machine-readable JSON output for CI and tooling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Future Flags:&lt;/strong&gt; Start preparing for 3.0 today with gradual migration paths&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/json-render" rel="noopener noreferrer"&gt;json-render&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Let AI generate UIs from prompts using only the components you define. Output is always predictable and schema-safe. The new &lt;code&gt;@json-render/next&lt;/code&gt; package can generate full Next.js apps with routes, layouts, and SSR from a single JSON spec&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/aidenybai/bippy" rel="noopener noreferrer"&gt;bippy&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bypasses React's closed internals by hooking into the same mechanism React DevTools uses. Lets you traverse the fiber tree, inspect component props, state, and contexts, and even override them&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/jal-co/ui" rel="noopener noreferrer"&gt;jal-co/ui&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A collection of polished, ready-to-use components you can install via the shadcn registry or copy straight into your project. Zero dependencies where possible and server-first&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://bsky.app/profile/danabra.mov/post/3mhrdue7gds2h" rel="noopener noreferrer"&gt;🦋 A Better Way to Debug React with AI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Dan Abramov shares a step-by-step workflow for using AI to fix tricky bugs: reproduce it, read the code, add logs, and only then ask the AI to find the issue&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://thehackernews.com/2026/03/axios-supply-chain-attack-pushes-cross.html" rel="noopener noreferrer"&gt;Axios Supply Chain Attack Pushes Cross-Platform RAT via Compromised npm Account&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Axios, the popular HTTP client, fell victim to a supply chain attack. An attacker compromised the maintainer's npm account and published two rogue versions (1.14.1 and 0.30.4) containing a hidden dependency that installs a remote access trojan across Windows, macOS, and Linux&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/reactjs/comments/1s6r50x/i_finally_understand_react_hydration_and_why_it/" rel="noopener noreferrer"&gt;I finally understand React hydration and why it exists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this Reddit post a developer shares the journey of how he finally understood why React needs hydration after years of confusion&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system" rel="noopener noreferrer"&gt;Why Node.js needs a virtual file system&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Matteo Collina introduces &lt;code&gt;node:vfs&lt;/code&gt;, a new Node.js core module that lets you create in-memory filesystems that work with &lt;code&gt;import&lt;/code&gt;, &lt;code&gt;require()&lt;/code&gt;, and standard &lt;code&gt;fs&lt;/code&gt; calls&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>react</category>
    </item>
    <item>
      <title>Stable Next.js Adapters, WebSocket in App Router, AI Improvements, Error Handling, Sugar High, transitionType prop</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Sun, 29 Mar 2026 18:29:34 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/stable-nextjs-adapters-websocket-in-app-router-ai-improvements-error-handling-sugar-high-lbf</link>
      <guid>https://dev.to/erfanebrahimnia/stable-nextjs-adapters-websocket-in-app-router-ai-improvements-error-handling-sugar-high-lbf</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Hot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/blog/nextjs-across-platforms" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FfQyJnMt9qEBUyQevLdPABc%3Fw%3D1000%26fit%3Dclip" alt="Next.js Across Platforms: Adapters, OpenNext, and Our Commitments" width="2400" height="1256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/blog/nextjs-across-platforms" rel="noopener noreferrer"&gt;Next.js Across Platforms: Adapters, OpenNext, and Our Commitments&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Next.js now has an official, stable way for hosting platforms to support the framework. The new Adapter API describes your app's build output in a typed, versioned format that any provider can target. Vercel uses the same public API as everyone else, and a shared test suite ensures consistent behavior across platforms&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/blog/next-16-2-ai" rel="noopener noreferrer"&gt;AI Improvements&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post was part of the Next.js 16.2 release. It focuses on making Next.js work better with AI coding agents. New projects now include an &lt;code&gt;AGENTS.md&lt;/code&gt; file that points agents to bundled docs, browser errors get forwarded to the terminal, a lock file stops duplicate dev servers, and an experimental CLI lets agents inspect your running app through the terminal&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aurorascharff.no/posts/error-handling-in-nextjs-with-catch-error" rel="noopener noreferrer"&gt;Error Handling in Next.js with catchError&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Aurora Scharff explains why &lt;code&gt;react-error-boundary&lt;/code&gt; falls short with Server Components, and how &lt;code&gt;unstable_catchError&lt;/code&gt; in Next.js 16.2 fixes it by handling framework errors correctly and re-fetching server data on retry&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://inside-react.vercel.app/blog/making-sense-of-key-prop-in-react" rel="noopener noreferrer"&gt;Making sense of 'key' prop in react&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Walks through reconciliation, shows how missing or bad keys cause state bugs, and explains what makes a key actually useful&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel/next.js/pull/89320" rel="noopener noreferrer"&gt;PR: add WebSocket support for App Router route handlers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new PR adds native WebSocket support to route handlers via &lt;code&gt;NextResponse.upgrade()&lt;/code&gt;. It follows the standard WebSocket interface, works with middleware for headers, rewrites, and redirects&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/shuding/status/2035666444919468354" rel="noopener noreferrer"&gt;𝕏 React didn’t invent RSC, SSR, or Hydration&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Shu Ding shows how SSR, RSC, and Hydration map directly to older tools like Express, Pug, and jQuery&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/asidorenko_/status/2036125973062549532" rel="noopener noreferrer"&gt;𝕏 transitionType prop for Links in Next.js 16.2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Demonstrates how to set the transition type (e.g. &lt;code&gt;fade&lt;/code&gt;, &lt;code&gt;slide-left&lt;/code&gt;, etc.) of the &lt;code&gt;ViewTransition&lt;/code&gt; for a link&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FgN4PuieEHpVeymadvGvbut%3Fw%3D600%26fit%3Dclip" alt="TypeScript 6.0" width="562" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/" rel="noopener noreferrer"&gt;TypeScript 6.0&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The last version built on the JavaScript codebase. It's a transition release designed to prepare you for TypeScript 7.0, which is being rewritten in Go for much better performance. New features include Temporal API types, &lt;code&gt;RegExp.escape&lt;/code&gt;, and &lt;code&gt;Map.getOrInsert&lt;/code&gt;. There are also some breaking changes&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/RhysSullivan/nextjs-mobile-app-template" rel="noopener noreferrer"&gt;Next.js Native App Template&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A boilerplate for building native-feeling PWAs with Next.js 16. Ships as a workout tracker but is designed to be swapped with your own app. Handles all the tricky iOS PWA quirks like broken fixed navs and scroll issues so you don't have to&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/1bye/apiser" rel="noopener noreferrer"&gt;Apiser&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Gives you a higher-level way to work with Drizzle by wrapping tables in models with chainable queries, relation loading, result shaping, and safe error handling&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/huozhi/sugar-high" rel="noopener noreferrer"&gt;Sugar High&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Super lightweight code syntax highlighter, around 1KB after minified and gzipped&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://barvian.me/react-exit-animations" rel="noopener noreferrer"&gt;A React trick to improve exit animations&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Components that update mid-exit-animation look janky. This trick wraps exiting components in Suspense to freeze their DOM, preventing any visual changes during the animation&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.debugbear.com/blog/measuring-react-app-performance" rel="noopener noreferrer"&gt;How to Measure and Optimize React Performance&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Learn to use React 19.2s Performance Tracks and DevTools Profiler to find problems, then apply runtime optimizations, concurrency features, and build-time tools to solve them&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://neciudan.dev/name-your-effects" rel="noopener noreferrer"&gt;Start naming your useEffect functions, you will thank me later&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post argues that named &lt;code&gt;useEffect&lt;/code&gt; functions make React code much easier to understand and can also reveal effects that are doing too much&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://handlewithcare.dev/blog/making_react_prosemirror_really_really_fast/" rel="noopener noreferrer"&gt;Making React ProseMirror really, really fast&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;React ProseMirror was too slow for large documents. A single keypress in Moby Dick took 177ms. Through memoization and ref-based position tracking, they got it down to 16ms, even beating ProseMirror's native rendering on Firefox&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Next.js 16.2, unstable_catchError, next-forge 6, React's Rust Compiler, AI Elements 1.9, Banning useEffect</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 20 Mar 2026 13:42:30 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-162-unstablecatcherror-next-forge-6-reacts-rust-compiler-ai-elements-19-banning-1mak</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-162-unstablecatcherror-next-forge-6-reacts-rust-compiler-ai-elements-19-banning-1mak</guid>
      <description>&lt;p&gt;&lt;a href="https://nextjs.org/blog/next-16-2" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FQkkQLds8dj5RQJPhr6ABF%3Fw%3D1000%26fit%3Dclip" alt="Next.js 16.2" width="1280" height="670"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/blog/next-16-2" rel="noopener noreferrer"&gt;Next.js 16.2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This release is packed with performance improvements, better debugging tools, and AI-focused features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;~400% faster dev startup&lt;/strong&gt; – localhost:3000 is ready much quicker during &lt;code&gt;next dev&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;25-60% faster rendering&lt;/strong&gt; – a smarter JSON parsing approach speeds up Server Components payload deserialization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redesigned 500 error page&lt;/strong&gt; – cleaner built-in fallback page for production errors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server Function logging&lt;/strong&gt; – dev terminal now shows function name, arguments, and execution time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hydration diff indicator&lt;/strong&gt; – error overlay clearly labels server vs. client content mismatches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--inspect&lt;/code&gt; for &lt;code&gt;next start&lt;/code&gt;&lt;/strong&gt; – attach a Node.js debugger to your production server&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;200+ Turbopack fixes&lt;/strong&gt; – including SRI support, &lt;code&gt;postcss.config.ts&lt;/code&gt;, and Server Fast Refresh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI improvements&lt;/strong&gt; – &lt;code&gt;AGENTS.md&lt;/code&gt; in &lt;code&gt;create-next-app&lt;/code&gt;, browser log forwarding, and experimental &lt;code&gt;next-browser&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/docs/app/api-reference/functions/catchError" rel="noopener noreferrer"&gt;&lt;code&gt;unstable_catchError()&lt;/code&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Next.js team is working on a programmatic way to wrap any part of your UI in an error boundary. It's more flexible than the &lt;code&gt;error.js&lt;/code&gt; convention, supporting custom props, retry logic, and server-rendered fallbacks&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=chTyQNM8lzw" rel="noopener noreferrer"&gt;► Next.js Donut Pattern Explained in 5 Minutes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The video shows the donut pattern, where a client wrapper holds server-rendered content inside it&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/en_JS/status/2031606726689173846" rel="noopener noreferrer"&gt;𝕏 React Compiler: Rust Edition is on the Way&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The React team is porting the React Compiler to Rust, with most of the work done using AI. More details are expected soon&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/alvinsng/status/2033969062834045089" rel="noopener noreferrer"&gt;𝕏 Why we banned React's useEffect&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;One team's journey from &lt;code&gt;useEffect&lt;/code&gt;-induced production bugs to a strict no-direct-useEffect rule. The post offers five concrete patterns that cover most use cases and argues the rule matters even more now that AI agents are writing code&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://reactsummit.com?utm_source=partners&amp;amp;utm_medium=nextjsweekly" rel="noopener noreferrer"&gt;⚛️ React Summit | June 12 &amp;amp; 16, 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The world’s biggest React conference in beautiful Amsterdam and online! Learn from top React experts &amp;amp; connect with the community.&lt;/p&gt;

&lt;p&gt;Use code &lt;strong&gt;&lt;code&gt;NEXT&lt;/code&gt; for 10% off tickets&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vercel.com/changelog/next-forge-6" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FiAPKQB5sWhMo297PRuzfQE%3Fw%3D1000%26fit%3Dclip" alt="next-forge 6" width="1280" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/changelog/next-forge-6" rel="noopener noreferrer"&gt;next-forge 6&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;next-forge is a production-ready template for Next.js that aims to be a full, opinionated starter for new apps. This big release adds better DX, a new "agent skill" you can install for structured next-forge knowledge, and new docs. Bun is now the default package manager (pnpm/npm/yarn still work)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/changelog/ai-elements-1-9" rel="noopener noreferrer"&gt;AI Elements 1.9&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The latest update adds a new skill to help agents build with the library, plus a &lt;code&gt;&amp;lt;JSXPreview /&amp;gt;&lt;/code&gt; component for rendering streamed JSX and a screenshot action for &lt;code&gt;&amp;lt;PromptInput /&amp;gt;&lt;/code&gt;. The &lt;code&gt;&amp;lt;Conversation /&amp;gt;&lt;/code&gt; component can also now download chats as markdown&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://base-ui.com/react/overview/releases/v1-3-0" rel="noopener noreferrer"&gt;Base UI v1.3.0&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Version 1.3.0 brings lots of small fixes plus a few big wins: Drawer is now stable, plus a new &lt;code&gt;SwipeArea&lt;/code&gt; for Drawer. Select, Combobox, and Slider get a new &lt;code&gt;Label&lt;/code&gt; part, and Combobox + Autocomplete add an &lt;code&gt;InputGroup&lt;/code&gt; part. Tooltip adds a &lt;code&gt;closeOnClick&lt;/code&gt; prop, and Menu now supports content transitions via &lt;code&gt;Viewport&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel/streamdown/releases/tag/streamdown%402.5.0" rel="noopener noreferrer"&gt;Streamdown 2.5&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Streamdown is a component designed to render Markdown streamed from AI models. In version 2.5 new staggered animations cascade content in sequentially, custom renderers can now read code fence metastrings, and line numbers are toggleable. There are also other performance related improvements&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://crystallize.com/blog/best-frontend-frameworks" rel="noopener noreferrer"&gt;The Best Frontend Framework Doesn't Exist, Only Trade-offs Do&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An opinionated overview of modern frameworks arguing there’s no universal winner. Next.js, Astro, and TanStack Start all solve different problems depending on caching, scale, and team experience. The article was previously featured but was recently updated&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/playfulprogramming/two-react-design-choices-developers-dont-like-but-cant-avoid-d6g"&gt;Two React Design Choices Developers Don’t Like—But Can’t Avoid&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;SolidJS creator Ryan Carniato argues that two often‑criticized React patterns, deferred state commits and dependency arrays, exist for good reasons. When async data enters the system, every UI framework eventually runs into the same constraints if it wants to keep the UI consistent&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.anildash.com/2026/03/13/coders-after-ai/" rel="noopener noreferrer"&gt;What do coders do after AI?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Super interesting read! This article breaks down what AI means for developers today. It covers layoffs, changing job roles, and how coding is shifting from hands-on work to guiding AI tools&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.patreon.com/posts/seven-years-to-typescript-152144830" rel="noopener noreferrer"&gt;Seven Years to TypeScript: Migrating 11,000 Files at Patreon&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Patreon shares how they moved their entire frontend from JavaScript to TypeScript over seven years. What started as voluntary adoption eventually needed AI-powered tools to finish the job across 11,000 files and 1 million lines of code&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Next.js Weekly #122: Ship 26, shadcn/cli v4, Portless v0.6, Experimental Markdown Output, Akira, Dynamic Forms, Next.js on VPS</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 13 Mar 2026 12:30:39 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-122-ship-26-shadcncli-v4-portless-v06-experimental-markdown-output-akira-5fii</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-122-ship-26-shadcncli-v4-portless-v06-experimental-markdown-output-akira-5fii</guid>
      <description>&lt;p&gt;&lt;a href="https://vercel.com/ship" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FmjrFNp616csXkHai6cpDTL%3Fw%3D1000%26fit%3Dclip" alt="Vercel Ship 26" width="1800" height="942"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/ship" rel="noopener noreferrer"&gt;Vercel Ship 26&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel Ship 26 has officially been announced. Early details are out, and tickets are currently at their lowest price, so it's a great time to save your spot&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=4Llhem0M1Og" rel="noopener noreferrer"&gt;🎧 React, Next.js &amp;amp; Server Components at Scale with Aurora Scharff&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A wide chat covering Aurora’s path from robotics to React, and what she does now at Vercel. She explains what React Server Components change, why the new async mental model confuses even senior devs, and how the Next.js App Router fits in&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.smashingmagazine.com/2026/03/building-dynamic-forms-react-next-js/" rel="noopener noreferrer"&gt;Building Dynamic Forms In React And Next.js&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Explains when React Hook Form is the right tool, and when you might want a form 'engine' like SurveyJS that can handle conditions, calculations, and page flow for you&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel/next.js/pull/90956" rel="noopener noreferrer"&gt;PR: add experimental markdown output&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Next.js is testing a new way to return Markdown for a route, using the same App Router/Pages Router React tree that normally renders HTML. Routes can opt in, and when a request prefers &lt;code&gt;text/markdown&lt;/code&gt;, Next will send Markdown instead of HTML&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.platformatic.dev/scale-nextjs-image-optimization-platformatic" rel="noopener noreferrer"&gt;Scale Next.js Image Optimization with a Dedicated Platformatic Application&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you self-host Next.js, you should check this guide. Platformic wrote about how running Next.js image optimization as a dedicated app (routing &lt;code&gt;/_next/image&lt;/code&gt; to its own service) using Watt and &lt;code&gt;@platformatic/next&lt;/code&gt; can stop your frontend from slowing down during traffic spikes&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://madatbay.com/blog/deploying-next-js-on-a-vps-a-practical-step-by-step-guide-without-vercel-lock-in" rel="noopener noreferrer"&gt;Deploying Next.js on a VPS: A Practical Step-by-Step Guide Without Vercel Lock-In&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Shows how to run a Next.js app on your own server using PM2 + NGINX + SSL. It also explains the trade-offs vs Vercel: you won’t get a built-in CDN for images, automatic edge runtime, persistent ISR cache across instances, or auto-scaling unless you set them up yourself&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://summit.meetjs.pl/2026/summary?utm_source=nextjs-weekly&amp;amp;utm_medium=newsletter" rel="noopener noreferrer"&gt;meet.js Summit 2026: 15 Years Strong&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;meet.js celebrated 15 years with a nationwide Summit in Poland, with talks on web dev today and the real impact of AI&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ui.shadcn.com/docs/changelog/2026-03-cli-v4" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fkvm8CeBunakT3wuvHq9jpu%3Fw%3D1000%26fit%3Dclip" alt="shadcn/cli v4" width="2400" height="1350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ui.shadcn.com/docs/changelog/2026-03-cli-v4" rel="noopener noreferrer"&gt;shadcn/cli v4&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The new version is built for both you and your AI tools. Key features include AI "skills" to reduce coding mistakes, shareable UI presets, full project templates, and a new &lt;code&gt;--dry-run&lt;/code&gt; flag to see changes before they happen&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/portless" rel="noopener noreferrer"&gt;Portless v0.6&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Portless replaces messy port numbers like &lt;code&gt;localhost:3000&lt;/code&gt; with nice, stable names like &lt;code&gt;myapp.localhost&lt;/code&gt;. It was featured a couple of issues ago. v0.6 adds custom TLDs (use &lt;code&gt;.test&lt;/code&gt;, &lt;code&gt;.internal&lt;/code&gt;, etc.), a &lt;code&gt;portless get&lt;/code&gt; command to print a service’s URL, and a &lt;code&gt;--name&lt;/code&gt; flag to override the inferred app name while keeping worktree prefixes&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://spell.sh/" rel="noopener noreferrer"&gt;Spell UI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A large collection of high-quality React components that you can use to build beautiful landingpages&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/sachigoyal/akira" rel="noopener noreferrer"&gt;Akira&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A modern SaaS starter kit built with Next.js, Tailwind CSS, and shadcn/ui. Auth, payments, database, and email all come preconfigured so you can skip the setup and start building right away&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/scaling-redirects-to-infinity-on-vercel" rel="noopener noreferrer"&gt;Scaling redirects to infinity on Vercel&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel shares why and how they rebuilt their redirects system to handle huge lists without slowing down requests. It walks through the problems with routing rules and middleware at scale, and the new "bulk redirects" system that uses sharding, Bloom filters, and binary search to keep lookups fast&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://inside-react.vercel.app/blog/understanding-why-react-fiber-exists" rel="noopener noreferrer"&gt;Understanding Why React Fiber Exists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Explains why old React rendering could block the page and how Fiber breaks rendering into small pieces so React can pause, handle actions/clicks first, then continue&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://trigger.dev/blog/shai-hulud-postmortem" rel="noopener noreferrer"&gt;How we got hit by Shai-Hulud: A complete post-mortem&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Trigger.dev shares how one compromised package during &lt;code&gt;pnpm install&lt;/code&gt; led to stolen credentials and a short but destructive GitHub attack. The post walks through the timeline, how the malware worked, and how the team recovered their repositories&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://lukasniessen.medium.com/micro-frontends-when-they-make-sense-and-when-they-dont-a1a06b726065" rel="noopener noreferrer"&gt;Micro Frontends: When They Make Sense and When They Don’t&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Micro frontends can unblock many teams working on one app, but they often cost more effort than they save. The article explains common approaches and when to stay monolith&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Next.js Weekly #120: Drizzle joins PlanetScale, Prisma Next, Better Auth 1.5, react-doctor, next-md-negotiate, Vercel Queues</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 06 Mar 2026 11:28:22 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-120-drizzle-joins-planetscale-prisma-next-better-auth-15-react-doctor-4oeg</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-120-drizzle-joins-planetscale-prisma-next-better-auth-15-react-doctor-4oeg</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Hot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.prisma.io/blog/the-next-evolution-of-prisma-orm?ref=nextjsweeky" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FgcbtDufBSJz9TUuXjE7kMC%3Fw%3D1000%26fit%3Dclip" alt="The Next Evolution of Prisma ORM" width="1200" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.prisma.io/blog/the-next-evolution-of-prisma-orm?ref=nextjsweeky" rel="noopener noreferrer"&gt;The Next Evolution of Prisma ORM&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Prisma has shared an early look at Prisma Next, a complete rewrite built in TypeScript. It brings a cleaner query API, a type-safe SQL builder, streaming support, extensions, and a new migration system based on graphs. Prisma 7 remains the production recommendation for now but Prisma Next is being built in the open and will eventually become Prisma 8&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.mux.com/blog/react-is-changing-the-game-for-streaming-apps-with-the-activity-component" rel="noopener noreferrer"&gt;React is changing the game for streaming apps with the Activity component&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post shows how the new &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt; component in React 19.2 helps preserve component state when UI sections are hidden. Using a video player example, it demonstrates how to keep playback progress when switching tabs and how to pause the player properly using &lt;code&gt;useLayoutEffect&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://twofoldframework.com/blog/error-rendering-with-rsc" rel="noopener noreferrer"&gt;Error rendering with RSC&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post explains how each of React's three environments (RSC, SSR, and the browser) responds to errors, how Suspense boundaries change the behavior, and why the browser is ultimately the best place to handle them&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://newsletter.pragmaticengineer.com/p/the-pulse-cloudflare-rewrites-nextjs" rel="noopener noreferrer"&gt;Cloudflare rewrites Next.js as AI rewrites commercial open source&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In last week’s issue we covered how a Cloudflare engineer used AI agents to rebuild much of Next.js with Vite instead of Turbopack, creating an experimental project called vinext that makes it easier to deploy Next.js apps on Cloudflare. This post explores what it could mean for the Next.js ecosystem and how AI might disrupt commercial open source strategies&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/nextjs/status/2019098858236833825" rel="noopener noreferrer"&gt;𝕏 Handle a blocking component in Next.js&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A quick look at two ways to deal with components that slow down page rendering in Next.js&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;a href="https://reactsummit.com?utm_source=partners&amp;amp;utm_medium=nextjsweekly" rel="noopener noreferrer"&gt;⚛️ React Summit | June 12 &amp;amp; 16, 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The world’s biggest React conference in beautiful Amsterdam and online! Learn from top React experts &amp;amp; connect with the community.&lt;/p&gt;

&lt;p&gt;Use code &lt;strong&gt;&lt;code&gt;NEXT&lt;/code&gt; for 10% off tickets&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://better-auth.com/blog/1-5" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FiHfSDSZZjXue6tpH4i2PMn%3Fw%3D1000%26fit%3Dclip" alt="Better Auth 1.5" width="2400" height="1327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://better-auth.com/blog/1-5" rel="noopener noreferrer"&gt;Better Auth 1.5&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A huge release with 70+ features and 200+ fixes. Adds a new &lt;code&gt;npx auth&lt;/code&gt; CLI, a full OAuth 2.1 provider, Electron support, typed errors with i18n, Cloudflare D1 support, and a self-service SAML SSO dashboard. Some breaking changes, so review before upgrading&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.react.doctor/" rel="noopener noreferrer"&gt;react-doctor&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A CLI tool from the creator of Million.js. Run one command and get a full health report on your React project. It scans for issues across security, performance, architecture, and correctness, then gives you a 0–100 score with actionable diagnostics you can pass straight to a coding agent to fix&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/kasin-it/next-md-negotiate" rel="noopener noreferrer"&gt;next-md-negotiate&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This small tool lets your Next.js app return Markdown to LLMs and HTML to browsers using the HTTP &lt;code&gt;Accept header&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/icoretech/airbroke" rel="noopener noreferrer"&gt;airbroke&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The open source error catcher just shipped a big update. Version 1.1.92 introduces an MCP server, letting you explore and triage errors from an LLM conversation. Also includes Sentry support, a Next.js 16 upgrade, a UI redesign, and more hosting options&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://planetscale.com/blog/drizzle-joins-planetscale" rel="noopener noreferrer"&gt;Drizzle joins PlanetScale&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Drizzle team is becoming part of PlanetScale. Their shared focus on performance and developer experience makes the move a natural fit. Drizzle will continue as an independent open source project with PlanetScale’s support&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=wvt5JNUXXLM" rel="noopener noreferrer"&gt;► The Future of TypeScript&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Theo explains how TypeScript grew beyond its original purpose and is now slowing down under massive codebases. To solve this, Microsoft is porting the compiler to Go&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=9_Bf6atmX3g" rel="noopener noreferrer"&gt;► Radix UI → Base UI (in 3min)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Radix UI is no longer actively maintained and the team is now working on Base UI. This video walks through how to migrate in four simple steps&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/changelog/vercel-queues-now-in-public-beta" rel="noopener noreferrer"&gt;Vercel Queues now in public beta&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel Queues lets you send messages from your Next.js routes and process them later with automatic retries. This is useful for handling slow or important tasks (like order processing) without blocking requests. It's now in public beta and starts at $0.60 per 1M operations&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
      <category>prisma</category>
    </item>
    <item>
      <title>Next.js Weekly #119: Cloudflare Next.js Drama, Chat SDK, Sandcastle, New useActionState Docs, Query Abstractions</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 27 Feb 2026 12:28:19 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-119-cloudflare-nextjs-drama-chat-sdk-sandcastle-new-useactionstate-docs-query-2e91</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-119-cloudflare-nextjs-drama-chat-sdk-sandcastle-new-useactionstate-docs-query-2e91</guid>
      <description>&lt;p&gt;&lt;a href="https://blog.cloudflare.com/vinext/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fsa3NgzNDd2My62icAEZHLU%3Fw%3D1000%26fit%3Dclip" alt="How we rebuilt Next.js with AI in one week" width="1200" height="628"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.cloudflare.com/vinext/" rel="noopener noreferrer"&gt;How we rebuilt Next.js with AI in one week&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Cloudflare spent one week and $1,100 on AI tokens to build &lt;code&gt;vinext&lt;/code&gt;, a supposed drop-in replacement for Next.js that runs on Vite and deploys to Cloudflare Workers out of the box. It's experimental, but it has been tested against the Next.js test suite.&lt;/p&gt;

&lt;p&gt;This sparked heated discussions on X / Twitter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/rauchg/status/2026864132423823499" rel="noopener noreferrer"&gt;We've identified critical vulnerabilities in Vinext&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/GergelyOrosz/status/2027049208369304024" rel="noopener noreferrer"&gt;Gergely Orosz is disappointed with Cloudflare's "marketing"&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/feedthejim/status/2027156055617364272" rel="noopener noreferrer"&gt;What Cloudflare's 94% test coverage for vinext actually means&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aurorascharff.no/posts/building-design-components-with-action-props-using-async-react" rel="noopener noreferrer"&gt;Building Design Components with Action Props using Async React&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you find yourself wiring up loading states and optimistic updates every time a user interaction triggers a Server Component re-render, this post shows a cleaner way by building reusable components that handle all of that internally&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/docs/app/guides/ai-agents" rel="noopener noreferrer"&gt;Set up your Next.js project for AI coding agents&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Next.js has introduced a new guide on how to make AI coding agents smarter in your project&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://react.dev/reference/react/useActionState" rel="noopener noreferrer"&gt;New useActionState docs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The React team has published a major rewrite of the &lt;code&gt;useActionState&lt;/code&gt; documentation. The new version clearly explains how action queuing works, how to use it with forms, Server Functions, and useOptimistic, and how to handle errors and cancellation. It also adds detailed troubleshooting sections and practical examples&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://engineering.gusto.com/the-journey-to-a-safer-frontend-why-we-removed-react-fc-095ff0b3e2e4" rel="noopener noreferrer"&gt;The Journey to a Safer Frontend: Why We Removed React.FC&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Gusto’s frontend team removed React.FC after learning it could hide bugs and weaken type inference&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.chat-sdk.dev/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fp7fFKC3DVEdMBLdudUhrUK%3Fw%3D1000%26fit%3Dclip" alt="Chat SDK" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.chat-sdk.dev/" rel="noopener noreferrer"&gt;Chat SDK&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel released a new open source TypeScript library that helps you create chatbots for multiple platforms using a single codebase. It comes with type-safe events, JSX-based UI components, Redis state adapters, and built-in AI streaming support&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/styled-components/styled-components/releases/tag/styled-components%406.3.0" rel="noopener noreferrer"&gt;styled-components@6.3.0&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;After going into maintenance mode last year, the library returns with React Server Components support. No &lt;code&gt;use client&lt;/code&gt; directive is needed, and CSS is automatically injected and handled correctly in React 19. Existing SSR setups still work as before&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/ramonmalcolm10/next-bun-compile" rel="noopener noreferrer"&gt;next-bun-compile&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new build adapter for Next.js 16 that turns your app into a single executable file using Bun. It embeds your static assets, public files, and Next.js server into one binary&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/sandcastle" rel="noopener noreferrer"&gt;Sandcastle&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An experimental project powered by Vercel and Vercel Sandbox. Each user gets isolated Linux workspaces accessible from any browser, with a window manager, terminal, file browser, code editor, and X11 app streaming&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/we-ralph-wiggumed-webstreams-to-make-them-10x-faster" rel="noopener noreferrer"&gt;We Ralph Wiggumed WebStreams to make them 10x faster&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel found that WebStreams were slowing down Next.js rendering due to excessive Promise and allocation overhead. They built &lt;code&gt;fast-webstreams&lt;/code&gt;, a drop-in, spec-compliant replacement powered by Node.js streams internally, achieving up to 14x faster performance for the React Server Components streaming pattern&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/changelog/private-storage-for-vercel-blob-now-available-in-public-beta" rel="noopener noreferrer"&gt;Private storage for Vercel Blob, now available in public beta&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel Blob now offers private storage for sensitive files. Unlike public storage, all reads and writes require authentication, so files aren’t exposed via public URLs&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tkdodo.eu/blog/creating-query-abstractions" rel="noopener noreferrer"&gt;Creating Query Abstractions&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article looks at different ways to share query configuration in TanStack Query. It explains why custom hooks can be limiting and introduces &lt;code&gt;queryOptions&lt;/code&gt; as a better abstraction that works across hooks, Suspense, and server usage&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://react.dev/blog/2026/02/24/the-react-foundation" rel="noopener noreferrer"&gt;A New Home for React Hosted by the Linux Foundation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;React is now officially owned by the newly launched React Foundation, hosted by the Linux Foundation. This means React, React Native, and JSX are no longer owned by Meta, but by an independent foundation instead. The goal is to support React’s long-term future with open governance and shared ownership across the ecosystem&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>javascript</category>
      <category>ai</category>
    </item>
    <item>
      <title>Next.js Weekly #118: Agentic Future, Portless, Virtual Scrolling, Geist Pixel, React’s useTransition, next-mdx-remote-client</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Sat, 21 Feb 2026 11:10:16 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-118-agentic-future-portless-virtual-scrolling-geist-pixel-reacts-14ai</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-118-agentic-future-portless-virtual-scrolling-geist-pixel-reacts-14ai</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Hot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/blog/agentic-future" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2Fpy3dJRMaoy5qdFTM5ev5gd%3Fw%3D1000%26fit%3Dclip" alt="Building Next.js for an agentic future" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/blog/agentic-future" rel="noopener noreferrer"&gt;Building Next.js for an agentic future&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Next.js team shares how they improved the framework to work better with AI coding agents. With MCP integration, improved logging, and tools like &lt;code&gt;agents.md&lt;/code&gt; and &lt;code&gt;next-devtools-mcp&lt;/code&gt;, agents can now see runtime errors, routes, and internal state more clearly&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.nutrient.io/blog/react-usetransition-guide/" rel="noopener noreferrer"&gt;React’s useTransition: The hook you’re probably using wrong&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If your UI freezes while typing, this guide shows how &lt;code&gt;useTransition&lt;/code&gt; can help. It also compares &lt;code&gt;useTransition&lt;/code&gt; with &lt;code&gt;useDeferredValue&lt;/code&gt;, and shows when debouncing is still the better choice&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://zenn.dev/smartvain/articles/coding-agent-kills-framework-nextjs-reverse-truth?locale=en" rel="noopener noreferrer"&gt;Removing Next.js Taught Me Why Frameworks Are Still Essential Even for AI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;After reading claims that tools like Claude Code make frameworks useless, the author rebuilt a Next.js app using only HTML, CSS, and vanilla JavaScript. At first, everything worked. But over time, the structure began to fall apart. The experiment showed that the real value of a framework isn’t just its features, but the clear and enforced structure that keeps both humans and AI aligned&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.hyperparam.app/hightable-scrolling-billions-of-rows/" rel="noopener noreferrer"&gt;Virtual Scrolling for Billions of Rows&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post breaks down five techniques that make it possible to browse billions of rows in React without freezing the browser&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://svar.dev/blog/nextjs-gantt-chart-tutorial/" rel="noopener noreferrer"&gt;Building a Gantt Chart in Next.js with SVAR React Gantt&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A step-by-step guide to using SVAR React Gantt in a Next.js app. It shows how to fix common SSR and hydration warnings, apply a theme, and enable task editing with a built-in Editor panel&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/subito/how-we-reduced-inp-by-100ms-gtm-isolation-react-compiler-and-better-telemetry-315g"&gt;How We Reduced INP by 100ms+&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A look at how moving to Next.js 16 and enabling the React Compiler boosted responsiveness on a complex page. Together with improved telemetry and script analysis, this resulted in significant INP gains&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vercel.com/blog/introducing-geist-pixel" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2F7QTSrFVqCvHXufYbiwiq8L%3Fw%3D1000%26fit%3Dclip" alt="Introducing Geist Pixel" width="2400" height="1256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/introducing-geist-pixel" rel="noopener noreferrer"&gt;Introducing Geist Pixel&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel is expanding the Geist font family with Geist Pixel, a bitmap-style typeface built on a strict pixel grid. It comes with five variants, 480 glyphs, 7 stylistic sets, and supports 32 languages&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/portless" rel="noopener noreferrer"&gt;Portless&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This tool replaces messy port numbers like &lt;code&gt;localhost:3000&lt;/code&gt; with clean names like &lt;code&gt;myapp.localhost&lt;/code&gt;. It runs a small proxy and routes each app to its own stable URL&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/ipikuka/next-mdx-remote-client" rel="noopener noreferrer"&gt;next-mdx-remote-client&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A maintained fork of next-mdx-remote with support for MDX v3, App Router, and Pages Router. It adds built-in error handling, frontmatter parsing, typed scope, and support for imports/exports in MDX&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/prisma/prisma/releases/tag/7.4.0" rel="noopener noreferrer"&gt;Prisma v7.4.0&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new caching layer stores compiled query plans so similar queries don’t need to be recompiled each time. This helps improve throughput in high‑concurrency apps&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals" rel="noopener noreferrer"&gt;AGENTS.md outperforms skills in our agent evals&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The team expected agents to use skills to read Next.js docs. But in many cases, the agents didn’t trigger the skill at all. This post explores why tool usage can be unreliable and why embedding guidance directly in AGENTS.md led to much better&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://atlas9.dev/blog/soft-delete.html" rel="noopener noreferrer"&gt;The challenges of soft delete&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A practical look at how to handle deleted data the right way. The author compares soft delete with trigger-based archives, and explains the trade-offs of each approach&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://stephaniewalter.design/blog/tips-on-how-to-pick-the-right-icons-for-your-website-with-icons8" rel="noopener noreferrer"&gt;Tips on how to pick the right icons for your website&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post is about avoiding common icon mistakes. It shows why mixing different styles, sizes, and colors can make your design look messy, and how to keep everything consistent&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gitnation.com/contents/react-components-for-both-the-client-and-the-server" rel="noopener noreferrer"&gt;► React Components for both the Client &amp;amp; the Server&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A React Summit talk on how to build “hybrid” components that keep most of the UI on the server while adding interactivity with small client wrappers&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Next.js Weekly #117: vS3, TypeScript 6.0 Beta, Bulletproof Component, AI Debugging, Enterprise Next.js, State of React 2025</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 13 Feb 2026 12:35:35 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-117-vs3-typescript-60-beta-bulletproof-component-ai-debugging-enterprise-3op2</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-117-vs3-typescript-60-beta-bulletproof-component-ai-debugging-enterprise-3op2</guid>
      <description>&lt;p&gt;&lt;a href="https://shud.in/thoughts/build-bulletproof-react-components" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FeZqLAPgtnTFZUJc9BxfUHv%3Fw%3D1000%26fit%3Dclip" alt="Building Bulletproof React Components" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://shud.in/thoughts/build-bulletproof-react-components" rel="noopener noreferrer"&gt;Building Bulletproof React Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Most components only work in the happy path but real apps have SSR, hydration, multiple instances, concurrent rendering, portals, transitions, and more. This guide shows how to make components survive in all those cases&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.developerway.com/posts/debugging-with-ai" rel="noopener noreferrer"&gt;Debugging with AI: Can It Replace an Experienced Developer?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Nadia compares AI-driven debugging with traditional debugging across several real-world issues. The article walks through real bugs, compares AI fixes with manual investigation, and explains why “working” fixes are not always correct.&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles / Tutorials / News
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://techhub.iodigital.com/articles/nextjs-at-enterprise-level" rel="noopener noreferrer"&gt;Next.js at Enterprise Level&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A step-by-step guide to scaling Next.js apps, from defining SLAs and monitoring to using CDNs, better caching, load balancers, Redis, API Gateways, and event-driven systems&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://yusufhansacak.medium.com/why-google-refuses-to-index-your-next-js-site-04a924948859" rel="noopener noreferrer"&gt;Why Google Refuses to Index Your Next.js Site&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If your Next.js site loads fast but still won’t get indexed, the problem is often not SEO. This article breaks down how redirects (especially 308s), missing sitemaps, weak canonicals, and hidden Vercel behaviors can confuse Google. It also introduces &lt;code&gt;vercel-seo-audit&lt;/code&gt;, a CLI tool to help you see your site the way Googlebot does and fix indexing problems at the root&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://mohammedeabdelaziz.github.io/articles/go-next-pt-2" rel="noopener noreferrer"&gt;Go 1.22, SQLite, and Next.js: The "Boring" Backend&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A case for choosing simple, stable tools over trendy stacks. The author builds a backend with Go and SQLite, and connects it to a Next.js frontend&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://frontendmasters.com/blog/reacts-viewtransition-element/" rel="noopener noreferrer"&gt;React’s ViewTransition Element&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post looks at React &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt; component. It compares using the browser’s native View Transitions API directly with using React’s built-in version&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/" rel="noopener noreferrer"&gt;Announcing TypeScript 6.0 Beta&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;TypeScript 6.0 is out in beta and acts as a bridge between 5.9 and the upcoming TypeScript 7.0 (which will use a new Go-based compiler). This release focuses on preparing for 7.0, but also ships useful updates like built-in types for Temporal, &lt;code&gt;Map.getOrInsert&lt;/code&gt;, and &lt;code&gt;RegExp.escape&lt;/code&gt;, plus a new &lt;code&gt;es2025&lt;/code&gt; target&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/slick-enterprises/accept-md" rel="noopener noreferrer"&gt;accept-md&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A small tool that lets your Next.js app return clean Markdown when a client sends Accept: text/markdown. It works with both App Router and Pages Router. Great for AI crawlers, docs exports, content reuse, and keeping a canonical Markdown version of your content&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/chris23lngr/vS3" rel="noopener noreferrer"&gt;vS3&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;vS3 makes it easy to handle S3 storage in your app. It supports pre-signed URLs, encryption, and request validation, so you don’t have to build everything yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/mertcreates/eslint-plugin-next-pages-router" rel="noopener noreferrer"&gt;eslint-plugin-next-pages-router&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new ESLint plugin focused on the Next.js Pages Router. It checks route comparisons and &lt;code&gt;router.push&lt;/code&gt; / &lt;code&gt;router.replace&lt;/code&gt; calls against your actual &lt;code&gt;pages/&lt;/code&gt; folder to catch typos and wrong patterns early. It understands dynamic routes, query strings, basePath, and i18n, and even suggests fixes in editors like VS Code&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://2025.stateofreact.com/en-US/conclusion/" rel="noopener noreferrer"&gt;State of React 2025&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The results of 2025 State of React survey have been released. Tl;dr: 2025 was a big and sometimes chaotic year for React. React 19 raised questions about the future of client-side apps, CRA was sunset, and RSC debates continued. SPAs are still strong, AI tools now default to React, and despite the noise, React remains in a very solid place&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://shadcnspace.com/blog/radix-ui-vs-base-ui" rel="noopener noreferrer"&gt;Radix UI vs Base UI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Radix UI gives you structured, accessible components with strong defaults and a stable API. Base UI takes a lower-level, behavior-first approach, giving you full control over markup, layout, and animations. The post helps you decide which one fits your project and team best&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ishadeed.com/article/too-early-breakpoint/" rel="noopener noreferrer"&gt;The Too Early Breakpoint&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Shows examples from sites like Time and TechCrunch where layouts change too early and look awkward. The author argues for more thoughtful, flexible designs that adapt smoothly across screen sizes instead of switching to the smallest layout too soon&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.sanity.io/blog/the-logo-soup-problem" rel="noopener noreferrer"&gt;The logo soup problem (and how to solve it)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post looks at how uneven logo sizes, hidden padding, and dense vs thin designs create visual chaos. Then it walks through a simple math-based approach and presents LogoSoup, a tiny React library that sizes, crops, and aligns logos automatically&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Next.js Weekly #116: Next-Intl Precompilation, RSC vs SSR, Syntux, Tamagui 2, Vercel Sandbox, CSS in 2026</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 06 Feb 2026 11:45:27 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-116-next-intl-precompilation-rsc-vs-ssr-syntux-tamagui-2-vercel-sandbox-css-28bm</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-116-next-intl-precompilation-rsc-vs-ssr-syntux-tamagui-2-vercel-sandbox-css-28bm</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Hot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=TInTm-M5yBs" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FqSjTMXE5qNRfm92eFcTHwj%3Fw%3D1000%26fit%3Dclip" alt="Improving Performance using React Server Components" width="2400" height="1347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=TInTm-M5yBs" rel="noopener noreferrer"&gt;► Improving Performance using React Server Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this talk, Vercel engineer Gal Schlesinger explains how React Server Components work under the hood and why they’re powerful. He shows how streaming HTML and Suspense let apps render important content first and delay the rest, without extra client-side requests&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://next-intl.dev/blog/precompilation" rel="noopener noreferrer"&gt;Ahead-of-time compilation for next-intl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;next-intl now supports precompiling translations at build time. By enabling a single flag in &lt;code&gt;next.config.ts&lt;/code&gt;, you can cut about 9KB of compressed JavaScript from your bundle and make message formatting faster at runtime&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles, Tutorials
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=_RQAMXlWSd0" rel="noopener noreferrer"&gt;► RSC vs SSR Performance&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Nadia Makarevich compares client-side rendering, classic SSR, SSR with server data fetching, and finally Server Components with streaming&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://react.dev/reference/react/useOptimistic" rel="noopener noreferrer"&gt;New useOptimistic docs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you haven’t looked yet, the updated useOptimistic docs are worth a visit. They explain the hook with simple examples, cover many real-world use cases, and include interactive sandboxes so you can try things yourself&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://medium.com/@tobiLou/my-approach-to-building-full-stack-web-apps-with-next-js-5503a51e7bb9" rel="noopener noreferrer"&gt;My approach to building full-stack web apps with Next.js&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Not a best‑practices guide, but a breakdown of the architecture the author uses across his projects. It covers assets, layouts, Server Actions, caching, and job processing, with an emphasis on avoiding surprises in production.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fadamakis.com/you-probably-dont-need-usecallback-here-7e22d54fe7c0" rel="noopener noreferrer"&gt;You probably don’t need useCallback here&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Argues that &lt;code&gt;useMemo&lt;/code&gt; and &lt;code&gt;useCallback&lt;/code&gt; usually don’t help much unless you’re avoiding expensive work or keeping stable references for memoised children or effects&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tamagui.dev/blog/version-two" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2F5Z8j5HZoE4NL8X7rDFVnXu%3Fw%3D1000%26fit%3Dclip" alt="Tamagui 2" width="2400" height="914"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tamagui.dev/blog/version-two" rel="noopener noreferrer"&gt;Tamagui 2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Tamagui v2 is here with a big focus on stability, speed, and better docs. It brings typed, high‑performance styling that works the same on React Native and the web, plus many updated components, a new default config, better themes, and major compiler and animation improvements&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/agent-browser" rel="noopener noreferrer"&gt;agent-browser&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A fast browser automation tool made for AI agents. It uses compact text output instead of heavy JSON, which saves tokens and makes it easier for LLMs to understand. It gives each page element a stable ref, so agents can click and interact in a clear and repeatable way&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/puffinsoft/syntux" rel="noopener noreferrer"&gt;syntux&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;syntux lets you build generative UIs from your data. You pass in a value and a short hint, and syntux designs and renders a UI for you. It supports streaming UI generation, caching, and custom React components.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.facehash.dev/" rel="noopener noreferrer"&gt;facehash&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A small React component that creates friendly, unique avatar faces from any text like a username or email. It has zero dependencies, works offline, and is fully deterministic (same input, same face)&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2026-2hel"&gt;JavaScript Frameworks - Heading into 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Ryan Carniato shares his annual overview of the JavaScript framework landscape. Instead of flashy new tools, this year focuses on deeper shifts: AI-first frameworks, apps that run the same code on server and client, and async as a core concept&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/shuding/status/2013632751568851233" rel="noopener noreferrer"&gt;𝕏 Performance Is Not a Technical Problem&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;After years of performance work at Vercel, Shu argues that performance issues aren’t caused by bad code or bad engineers, but by entropy. As apps grow, context is lost, abstractions hide real costs, and performance slowly degrades. He believes long-term performance requires systems that account for lost context and growing complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.logrocket.com/css-in-2026" rel="noopener noreferrer"&gt;CSS in 2026: The new features reshaping frontend development&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Modern CSS is becoming powerful enough to replace a lot of JavaScript for UI work. This article explores new features like customizable native &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; elements, better animations, and data-driven styling&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/vercel-sandbox-is-now-generally-available" rel="noopener noreferrer"&gt;Run untrusted code with Vercel Sandbox, now generally available&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel’s Sandbox lets AI agents run untrusted code in fast, isolated Linux microVMs. It’s built for short‑lived tasks, starts in under a second, and shuts down when done. The Sandbox CLI and SDK are now open source, with pay‑only‑for‑CPU pricing&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Next.js Weekly #115: 🚨 New CVEs, Patterns &amp; Best Practices, Github PRs UI with RSCs, next-lens, Inside Turbopack</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 30 Jan 2026 11:01:09 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-115-new-cves-patterns-best-practices-github-prs-ui-with-rscs-next-lens-4476</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-115-new-cves-patterns-best-practices-github-prs-ui-with-rscs-next-lens-4476</guid>
      <description>&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=F6romq71KtI" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FbW28Xs759TbP9VxMvRkzfc%3Fw%3D1200%26fit%3Dclip" alt="Next.js Patterns: Public pages with personalization" width="1280" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=F6romq71KtI" rel="noopener noreferrer"&gt;► Next.js Patterns: Public pages with personalization (6:37)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Delba shows how to start with a fully static page and slowly add async and user-specific content without slowing things down&lt;/p&gt;

&lt;h3&gt;
  
  
  🚨 New Next.js CVEs
&lt;/h3&gt;

&lt;p&gt;Several denial‑of‑service vulnerabilities were found that could crash servers or cause very high memory or CPU usage. The issues affect React Server Components and some self‑hosted Next.js setups under specific conditions. Fixes are available in the latest React and Next.js releases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vercel.com/changelog/summary-of-cve-2026-23864" rel="noopener noreferrer"&gt;CVE-2026-23864&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vercel.com/changelog/summaries-of-cve-2025-59471-and-cve-2025-59472" rel="noopener noreferrer"&gt;CVE-2025-59471 and CVE-2025-59472&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles, Tutorials
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wtbb.vercel.app/i-love-dogs" rel="noopener noreferrer"&gt;Rebuilding a better GitHub PRs UI with Next.js and RSCs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Francisco Miranda built a faster GitHub pull request UI using Next.js and React Server Components. The project leans heavily on server rendering, minimal client components, Next.js caching, and Suspense to keep large PRs responsive&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.debugbear.com/blog/nextjs-image-optimization" rel="noopener noreferrer"&gt;Next.js Image Optimization&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A beginner-friendly breakdown of how Next.js handles images using the built-in &lt;code&gt;next/image&lt;/code&gt; component. It covers topics such as how to avoid common mistakes like lazy-loading LCP images, preloading, blur placeholders, and when to consider alternatives like Unpic&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.logrocket.com/nextjs-16-pwa-offline-support/" rel="noopener noreferrer"&gt;Build a Next.js 16 PWA with true offline support&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This guide goes beyond the basic PWA setup in Next.js. It shows how to build an offline-first app using service workers, IndexedDB, and sync logic, so users can add and update data without a connection and sync later&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/docs/app/glossary" rel="noopener noreferrer"&gt;Next.js Glossary&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel launched a large, up-to-date glossary that explains common Next.js concepts in simple language, from App Router and Server Components to caching, streaming, and Turbopack&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/vercel-labs/next-skills" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FjLxHxwP3vKArw6VFXmoged%3Fw%3D1000%26fit%3Dclip" alt="next-best-practices" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/next-skills" rel="noopener noreferrer"&gt;next-best-practices&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new skill set from Vercel that helps agents follow best practices when working with the Next.js App Router. It covers concepts like Server and Client Components, data fetching, routing, performance, and error handling, and also includes optional skills for version upgrades and features like Cache Components&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/1weiho/next-lens" rel="noopener noreferrer"&gt;next-lens v1.2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;next-lens has shipped several nice updates since the last time it was featured. The web inspector lets you browse routes visually, search and filter them, manage API methods, and open source files directly in your IDE. There’s also a new Raycast extension that lets you inspect routes, copy paths, and jump into your editor&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://json-render.dev/" rel="noopener noreferrer"&gt;json-render&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new library for building AI‑driven UIs using safe, predictable JSON instead of free‑form text. You can define a component catalog and allowed actions, then let AI stream JSON that always matches your schema.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/garmeeh/next-seo/releases/tag/next-seo%407.1.0" rel="noopener noreferrer"&gt;next-seo v7.1.0&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This release adds a new &lt;code&gt;HowToJsonLd&lt;/code&gt; component that helps search engines understand your how‑to guides. You can describe steps, tools, materials, time needed, cost, and even videos in a clear, structured way&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nextjs.org/blog/turbopack-incremental-computation" rel="noopener noreferrer"&gt;Inside Turbopack: Building Faster by Building Less&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Learn how the smart caching system behind Turbopack works, and how build results are reused and now saved to disk for faster restarts&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://paulmakeswebsites.com/writing/shadcn-radio-button/" rel="noopener noreferrer"&gt;The Incredible Overcomplexity of the Shadcn Radio Button&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The author argues that modern UI libraries often rebuild basic browser features from scratch, even when native HTML and a bit of CSS would do the job better&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.platformatic.dev/bun-is-fast-until-latency-matters-for-nextjs-workloads" rel="noopener noreferrer"&gt;Bun Is Fast, Until Latency Matters for Next.js Workloads&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Interesting benchmark showing that while Bun is often seen as very fast, it struggles with latency in real Next.js server workloads. Under heavy traffic, Deno and Platformatic Watt had much lower and more stable response times, with Node.js in between.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nebela.dev/blog/fe-sdet-fe-here-is-why/" rel="noopener noreferrer"&gt;I left frontend for SDET, then came back&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A personal story about leaving frontend work to become an SDET, facing fears around CI, testing, and infrastructure, and why it ended up making the author a much better frontend developer&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Next.js Weekly #114: Skills.sh, Stealing React Components, better-themes, Server Action Data Fetching, opensrc</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Mon, 26 Jan 2026 20:15:21 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-114-skillssh-stealing-react-components-better-themes-server-action-data-2e89</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-114-skillssh-stealing-react-components-better-themes-server-action-data-2e89</guid>
      <description>&lt;p&gt;&lt;a href="https://skills.sh/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FBWCqsCLE1U9rD1Mke4HcP%3Fw%3D1000%26fit%3Dclip" alt="skills.sh" width="2400" height="1256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://skills.sh/" rel="noopener noreferrer"&gt;Skills.sh&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This week Vercel launched Skills.sh. A collection of reusable capabilities for AI agents that you can install with one command. There are already 4,500+ unique agent skills, covering popular tools like BetterAuth, Remotion, and Stripe&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gitnation.com/contents/building-a-hybrid-ai-chatbot-with-nextjs-16" rel="noopener noreferrer"&gt;► Building a Hybrid AI Chatbot with Next.js 16&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Sam Selikoff walks through building a chatbot app using new Next.js 16 features. He shows how to stream AI responses from OpenAI, handle optimistic UI updates, and preview loading states with the new Suspense DevTools&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles, Tutorials
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.developerway.com/posts/server-actions-for-data-fetching" rel="noopener noreferrer"&gt;Can You Fetch Data with React Server Actions?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Before replacing &lt;code&gt;fetch&lt;/code&gt; with React Server Actions, you'll want to read this. This post tests whether Server Actions work for fetching data on the client by building a dashboard app and measuring its performance with both Server Actions and regular &lt;code&gt;fetch&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.columkelly.com/blog/use-optimistic" rel="noopener noreferrer"&gt;useOptimistic Won't Save You&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Explains why optimistic UI in React is still hard, even with React 19’s new &lt;code&gt;useOptimistic&lt;/code&gt; hook. The article walks through common bugs like flickering state and race conditions, explains how Concurrent React and transitions add more complexity, and shows that &lt;code&gt;useOptimistic&lt;/code&gt; alone doesn't solve ordering issues&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fant.io/react/" rel="noopener noreferrer"&gt;How to Steal Any React Component&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A clever hack that turns React's dev-friendly features against itself. React Developer Tools works by reading React Fiber data that's exposed in the browser. This post shows how to use the same data from live websites and reconstruct components with AI&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://allthingssmitty.com/2025/12/01/react-has-changed-your-hooks-should-too/" rel="noopener noreferrer"&gt;React has changed, your Hooks should too&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post looks at how modern React (18+) pushes us away from overusing &lt;code&gt;useEffect&lt;/code&gt; and toward cleaner, render‑driven patterns. It covers common Hook mistakes, better use of derived state, custom Hooks as true encapsulation, and newer tools like &lt;code&gt;useSyncExternalStore&lt;/code&gt;, transitions, and deferred values&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://x.com/Remotion/status/2013626968386765291" rel="noopener noreferrer"&gt;𝕏 Remotion Skills&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Remotion, the framework for creating videos programmatically with React, dropped their Agent skill this week, and the motion designs coming out of it are absolutely nuts. Alex Sidorenko &lt;a href="https://x.com/asidorenko_/status/2014089166015942939" rel="noopener noreferrer"&gt;demonstrates how you can use it&lt;/a&gt; to create your own videos&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/vercel-labs/opensrc" rel="noopener noreferrer"&gt;opensrc&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;opensrc is a small CLI tool that pulls down the source code of npm packages or GitHub repos so AI coding agents can understand how things work internally, not just the types&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/SaviruFr/better-themes" rel="noopener noreferrer"&gt;better-themes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A lightweight theme manager for React apps that focuses on doing theming “right” from the start. It avoids theme flashes on load, supports system dark mode, and works well with SSR and SSG&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/ixartz/Next-js-Boilerplate" rel="noopener noreferrer"&gt;Next.js Boilerplate v6&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Probably the longest‑maintained Next.js starter boilerplate out there. Version 6 ships with a zero‑setup local Postgres database, fresh updates to everything included (Sentry, Vitest, Storybook, etc.), and all the latest Next.js goodies like the React Compiler, a faster dev server, and more&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://motion.dev/magazine/interview-david-haz-creator-of-react-bits" rel="noopener noreferrer"&gt;Interview: David Haz, creator of React Bits&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An interview with David Haz about building React Bits, an open‑source library with 100+ animated and interactive React components. He talks about growing the project to 30k GitHub stars, balancing it with a full‑time frontend job, and how Motion, GSAP, and AI fit into his workflow&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://punits.dev/blog/vercel-netlify-cloudflare-serverless-cold-starts/" rel="noopener noreferrer"&gt;Vercel vs Netlify vs Cloudflare: Serverless Cold Starts Compared&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This benchmark measures how much cold starts slow down Next.js apps on popular serverless platforms. Using the same Next.js app across providers, the results show Cloudflare as the fastest and most consistent, Netlify as the slowest (even when warm), and Vercel performing well for pages but suffering frequent cold starts on APIs&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://addyosmani.com/blog/next-two-years/" rel="noopener noreferrer"&gt;The Next Two Years of Software Engineering&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Over the next two years, the day-to-day work of developers may look very different. Addy Osmani explores how AI is changing software engineering and what developers should do to stay relevant&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://astro.build/blog/joining-cloudflare/" rel="noopener noreferrer"&gt;The Astro Technology Company joins Cloudflare&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Astro web framework is joining Cloudflare. Astro will stay open-source, MIT-licensed, and platform‑agnostic, with the same roadmap and governance. With more resources, Astro can keep experimenting with performance, and add pressure and inspiration for how Next.js develops&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Next.js Weekly #113: RSC Fetching Patterns, react-grab, React Best Practices, dotenv-diff, React Conf 2025, Zero UI</title>
      <dc:creator>Erfan Ebrahimnia</dc:creator>
      <pubDate>Fri, 16 Jan 2026 07:53:01 +0000</pubDate>
      <link>https://dev.to/erfanebrahimnia/nextjs-weekly-113-rsc-fetching-patterns-react-grab-react-best-practices-dotenv-diff-react-25ji</link>
      <guid>https://dev.to/erfanebrahimnia/nextjs-weekly-113-rsc-fetching-patterns-react-grab-react-best-practices-dotenv-diff-react-25ji</guid>
      <description>&lt;p&gt;&lt;a href="https://next-16-recipes.vercel.app/sharing-data-with-client-components" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FuzVwsruJZCxwHx6htj1SVw%3Fw%3D1000%26fit%3Dclip" alt="Sharing data with Client Components" width="2074" height="1306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://next-16-recipes.vercel.app/sharing-data-with-client-components" rel="noopener noreferrer"&gt;Sharing data with Client Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Sam Selikoff shared another useful Next.js pattern. It shows how to share server-fetched data with Client Components without blocking the page, by passing a promise through Context and unwrapping it with React's &lt;code&gt;use&lt;/code&gt; hook. Especially handy for shared data like auth, feature flags, or request-based values.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://conf.react.dev/" rel="noopener noreferrer"&gt;React Conf 2025&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;All React Conf 2025 sessions are now live! The talks cover what's next for React and React Native, including new features like &lt;code&gt;&amp;lt;Activity /&amp;gt;&lt;/code&gt;, View Transitions, and the release of React Compiler v1.0&lt;/p&gt;




&lt;p&gt;If you wanna get these updates in your inbox every week, just &lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;subscribe to the newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjsweekly.com/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprm66wis0rsx1swdxzwi.png" alt="Next.js Weekly" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📙 Articles, Tutorials
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://gauravthakur.com/blog/data-fetching-patterns-react-server-components" rel="noopener noreferrer"&gt;Data Fetching Patterns in React Server Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A practical guide on how data fetching has evolved from client-side fetching to SSR and now React Server Components. It shows patterns like server-owned data with request deduping, sharing data with client components, React Query hydration, and streaming promises with Suspense&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://crystallize.com/blog/next-vs-tanstack-start" rel="noopener noreferrer"&gt;Next.js 16 vs. TanStack Start for E-commerce&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Explains the trade‑offs between Next.js’s opinionated, batteries‑included approach and TanStack Start’s more flexible, hands‑on style. It looks at how each one handles things like rendering, data fetching, caching, SEO, performance, hosting costs, and long‑term maintenance&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=OWuMckXJ-9k" rel="noopener noreferrer"&gt;► STOP showing loading states and START using optimistic UI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Learn how &lt;code&gt;useOptimistic&lt;/code&gt; and &lt;code&gt;startTransition&lt;/code&gt; let you update the UI instantly while the server work happens in the background, including how rollbacks work on errors&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://handlewithcare.dev/blog/transition_low_priority_editor_updates/" rel="noopener noreferrer"&gt;Using React Transitions for low priority text editor updates&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;When a text editor starts doing too much work on every keystroke, performance can quickly suffer. This post shows how React Transitions can defer non‑critical updates, like read‑only previews, without affecting the main editing experience&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Projects / Packages / Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vercel.com/blog/introducing-react-best-practices" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fembed.filekitcdn.com%2Fe%2F6Hn37Q2unMsmjbqMTJFz2S%2FQy71fLFJVB3VyhodMk12i%3Fw%3D1000%26fit%3Dclip" alt="React Best Practices" width="720" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vercel.com/blog/introducing-react-best-practices" rel="noopener noreferrer"&gt;React Best Practices&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Vercel has released an open-source repository that collects over 10 years of React and Next.js performance learnings into one place. The rules are ordered by impact, include clear examples, and are designed to be used by both humans and AI coding agents&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/aidenybai/react-grab" rel="noopener noreferrer"&gt;react-grab&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Press ⌘C / Ctrl+C to grab the file name, React component, and HTML of an element, ready to paste into tools like Cursor, Claude Code, or Copilot&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/react-zero-ui/core" rel="noopener noreferrer"&gt;React Zero UI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A new approach to UI state that avoids React re‑renders completely. Instead of updating state at runtime, it pre‑renders all UI states at build time and switches them using &lt;code&gt;data-*&lt;/code&gt; attributes and CSS&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Chrilleweb/dotenv-diff" rel="noopener noreferrer"&gt;dotenv-diff&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This tool scans your whole codebase and helps you spot missing, unused, duplicated, or wrongly named variables before they cause bugs in production.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Related
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tkdodo.eu/blog/building-type-safe-compound-components" rel="noopener noreferrer"&gt;Building Type-Safe Compound Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In part 3 of Dominik Dorfmeister's series on Design Systems he explores compound components, explaining when they work well in React, when props or slots are a better choice, and how to handle type safety&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/reactjs/comments/1q5kt5u/i_moved_virtualization_math_to_rustwasm_heres/" rel="noopener noreferrer"&gt;I moved virtualization math to Rust/WASM - here's what I learned&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A write-up about experimenting with WebAssembly to speed up list virtualization in a React app. The post explains why scrolling large, variable-height lists can get slow in JavaScript, and how moving the heavy math to Rust + WASM made scrolling much smoother, even with millions of rows&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://nodejs.org/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks" rel="noopener noreferrer"&gt;Mitigating Denial-of-Service Vulnerability for Next.js / React&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A Node.js bug made stack overflows uncatchable when &lt;code&gt;async_hooks&lt;/code&gt; are enabled, causing servers to crash. This silently impacted React Server Components, Next.js, and most APM tools because they rely on &lt;code&gt;AsyncLocalStorage&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://micahcantor.com/blog/rsc-rewrite.html" rel="noopener noreferrer"&gt;I rebuilt my blog with React Server Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post explains where server components work really well, like code highlighting, LaTeX, and RSS generation, and where things feel awkward, such as client-side navigation. Instead of using Next.js, the author went with Parcel, but the ideas still carry over.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>react</category>
    </item>
  </channel>
</rss>
