finds.dev← search

// the find

jaredpalmer/razzle

★ 11,019 · JavaScript · MIT · updated Mar 2024

✨ Create server-rendered universal JavaScript applications with no configuration

Razzle is a zero-config CLI that wires up webpack + Babel for server-rendered JavaScript apps, giving you create-react-app-style DX without locking you into a framework's routing or data-fetching opinions. It's for someone who wants SSR but doesn't want to buy into Next.js's conventions and is willing to assemble the rest (router, data layer) themselves.

The framework-agnostic design is real, not just a slide — examples ship for Preact, Vue, Elm, Inferno, and Hyperapp, not just React. The plugin system and exposed webpack/Babel config (via razzle.config.js) mean you can eject-without-ejecting when the defaults don't fit, which CRA never offered. The examples directory is genuinely extensive and covers real integration pain points: Fastify, Firebase Functions, custom babel targets, jsconfig path aliases.

Last commit was March 2024 and the project has no v1.0 — this is dead or dying, and adopting it now means you inherit unpatched webpack/Babel/Node compatibility issues with no path forward. It solves a problem (zero-config SSR tooling) that Next.js/Remix/Vite-SSR have already won on DX and ecosystem size, so the main reason to reach for this over them no longer exists. Being 'just a build tool' means you still have to hand-roll routing, data fetching, and code-splitting patterns yourself, which is exactly the boilerplate work competing frameworks eliminated.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →