Remember when we were doing Nuxt v1 and thought we were cool?

It seems to me the frontend world has gone through another big revolution in the past couple of years. Next.js and Nuxt.js now have some serious competition from Astro, Qwik, SolidStart, SvelteKit, Waku — plus the ones I simply haven't heard of yet. And of course people finally discovered htmx and how it can be used to escape the aforementioned behemoths with blazing fast Rust backends.

We now have resumability and progressive hydration, React server components, React server actions, Qwik server actions! Server everything! It's the hot new thing, mind you. We now also have ThePrimeagen mocking everything — that's a plus.

Frameworks and runtimes keep growing in complexity in the name of, well, I don't know what exactly anymore. I miss the Nuxt v1 days when seamless SSR to CSR was the state of the art. And truth to be told, that basic pattern still powers millions of websites. That very basic pattern is still the basis of how Nuxt.js and Next.js render your pages, and it still works very well.

It's about time Fastify joined the party.

@fastify/vite has been around for a couple of years now, but it was only after guiding half a dozen companies off Next.js that I personally gained confidence in it, and in this period npm downloads rose from a couple dozen to a few hundred as well.

Today I've launched the new @fastify/vite documentation suite:

It's painfully comprehensive and includes also documentation for @fastify/vue and @fastify/react, the @fastify/vite core renderers for these frameworks.

Those packages were migrated from the Fastify DX repository and will be maintained together with @fastify/vite from now on. The @fastify/vue and @fastify/react packages use @fastify/vite to implement the basic features of Next.js and Nuxt.js in a simple and extensible manner.

The goal is to have a clean, elegant and open Fastify-flavored implementation of the basic building blocks of seamless SSR and CSR rendering.

But it can still gain many other features.

Many thanks to my new employer feature.fm for giving my first month completely off to work on getting all of this done.

On the Fastify DX deprecation

The key idea for Fastify DX was producing a lightweight CLI that would control Fastify applications running @fastify/vite. The more time has passed, the more it stopped making sense as fastify-cli already provides a solid foundation for a CLI and it is not even required for most projects to even have one.

The mere combination of Fastify, @fastify/vite and package.json scripts triggering the Vite build command were enough. The Fastify DX project has been officially deprecated in favor of moving forward with @fastify/vite.