finds.dev← search

// the find

RubyLouvre/anu

★ 3,170 · JavaScript · Apache-2.0 · updated Sep 2020

the React16-compat library with hooks

Anu is a lightweight React 16 compatibility shim written in ~3000 lines of JavaScript, primarily targeting IE6-8 and Chinese mini-app platforms (WeChat, Alipay, Baidu). It aliases as 'react' and 'react-dom' in webpack, letting you run React ecosystem packages without shipping React itself. The main audience was teams building for legacy IE or mini-programs circa 2018-2020.

Passing 700+ of React's own unit tests is a real engineering achievement for a 13kb bundle — most alternatives gave up on test compatibility entirely. The multi-target build system (separate bundles for WX, Ali, Baidu, QuickApp, H5, IE) is well-structured given the scope. The fiber-style architecture with distinct beginWork/commitWork phases shows the implementation is principled, not a shallow copy. IE6-8 support with a clean alias swap is genuinely useful for the enterprise China market it was built for.

Abandoned since September 2020 — React has been at 18/19 for years and hooks, concurrent mode, and the entire server components story are entirely missing. The mini-app target (nanachi) was spun out to qunar.com and no longer lives here, so half the original value proposition is gone. TypeScript coverage is minimal (a single util.d.ts), which is a real problem if you're adopting this in a modern TS codebase. No React 17+ synthetic event system rewrite means the event handling diverges from real React in ways that will bite you with complex interactions.

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 →