lucide-react

npm package · declared by 265 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
tailwind-merge93 of 2,3430.78
class-variance-authority82 of 2,3430.77
clsx95 of 2,3430.74
@radix-ui/react-slot54 of 2,3430.69
react-dom144 of 2,3430.68
react144 of 2,3430.66
@radix-ui/react-dialog39 of 2,3430.63
next-themes41 of 2,3430.61
@radix-ui/react-dropdown-menu32 of 2,3430.60
tailwindcss-animate34 of 2,3430.60
@radix-ui/react-label28 of 2,3430.59
next82 of 2,3430.57
@radix-ui/react-select26 of 2,3430.56
cmdk20 of 2,3430.55
sonner24 of 2,3430.55
react-markdown35 of 2,3430.54
zustand32 of 2,3430.53
tw-animate-css15 of 2,3430.53
radix-ui13 of 2,3430.53
shadcn13 of 2,3430.53

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.