finds.dev← search

// the find

NervJS/nerv

★ 5,408 · JavaScript · MIT · updated Mar 2021

A blazing fast React alternative, compatible with IE8 and React 16.

Nerv is a virtual-DOM library from JD.com that mimics the React 16 API closely enough to be swapped in via a webpack/babel alias, promising a smaller footprint and IE8 support. It's aimed at teams running legacy IE8 targets or wanting to shave bundle size off an existing React app without rewriting components.

Genuinely drop-in for a lot of React 16-era code via module aliasing, so migration cost is low if your code doesn't touch React internals. 9KB gzipped is a real size win over react+react-dom. It wasn't a toy project - JD.com and TOPLIFE ran it in production, which is a more convincing signal than most framework-alternative repos get. The monorepo also ships the supporting cast you'd actually need (redux bindings, SSR package, devtools, test utils) instead of just the core renderer.

Dead project - last push was 2021-03-29, so it predates hooks maturing fully in the ecosystem and every React feature shipped since (concurrent rendering, Suspense for data fetching, Server Components). IE8 compatibility is now pure dead weight; nobody evaluating this in 2026 needs it, and it's the thing that shaped a lot of the architecture. The alias-swap trick is fragile: any dependency that pokes at React's Fiber internals, uses react-dom/client, or expects modern React's reconciler semantics will break in ways that are hard to debug. Preact solved the same 'smaller React-like library' problem and is still actively maintained with a real ecosystem, which makes this a hard sell over just using that.

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 →