react-dom

npm package · declared by 511 of 2,343 sampled repositories · graph computed 2026-08-24

Counted from the runtime dependencies public repositories declare — not the resolved tree. A transitive dependency is a consequence; a declared one is a choice. Development dependencies are excluded because they repeat across every project in a language regardless of what is being built.

Declared with

ranked by association, not by count
Tools declared alongside this one, ranked by association strength
Declared withRepositoriesvs chance
react346 of 2,3430.97
next187 of 2,3430.74
lucide-react144 of 2,3430.68
clsx127 of 2,3430.62
tailwind-merge108 of 2,3430.60
class-variance-authority93 of 2,3430.58
@radix-ui/react-slot61 of 2,3430.51
next-themes55 of 2,3430.51
react-markdown54 of 2,3430.49
framer-motion50 of 2,3430.48
react-router-dom49 of 2,3430.48
zustand48 of 2,3430.48
@radix-ui/react-dialog45 of 2,3430.47
@vercel/analytics40 of 2,3430.46
remark-gfm50 of 2,3430.46
react-icons41 of 2,3430.46
@radix-ui/react-dropdown-menu37 of 2,3430.45
tailwindcss-animate39 of 2,3430.45
@radix-ui/react-select32 of 2,3430.44
@radix-ui/react-label32 of 2,3430.44

Every pair above is counted from the same evidence: repo manifest.

Used instead

candidates · shares a neighbourhood and refuses to co-occur

No alternative measured. A pair qualifies only if it shares a neighbourhood and then fails to appear together against an expectation that it would — and almost everything that shares a neighbourhood does appear together. That is the test working, not a gap in the data: similarity alone would list this tool’s closest neighbours as alternatives, and most of them are things it is used with.