Library browser
Every concrete package the corpus tracks, joined to the decision it belongs to. Downloads are npm weekly figures from the corpus's last signals run — the same live check that keeps recommendations honest. A big number is popularity, not a verdict: click through to the entry for the context-keyed recommendation.
| package | what the corpus calls it | decision | npm / week |
|---|---|---|---|
esbuild | esbuild | build high | 227.1M |
zod | Zod | forms medium | 224.1M |
typescript | TypeScript | typescript medium | 180.4M |
vite | Vite | build high | 142.9M |
eslint | ESLint | dx high | 135.1M |
prettier | Prettier | dx high | 111.1M |
axios | axios | networking medium | 101.7M |
tailwindcss | Tailwind | styling medium | 85.4M |
vitest | Vitest | testing high | 77.6M |
typescript-eslint | typescript-eslint | dx high | 61.2M |
@tanstack/react-query | TanStack Query | data high | 55.8M |
react-hook-form | React Hook Form | forms medium | 50.5M |
recharts | Recharts | charts low | 49.9M |
webpack | webpack | build high | 47.4M |
@testing-library/react | React Testing Library | testing high | 46.2M |
next | Next.js | meta-frameworks medium | 45.9M |
zustand | Zustand | state high | 44.5M |
react-router | React Router | nav medium | 44.2M |
jest | Jest | testing high | 39.5M |
framer-motion | framer-motion / Motion | animation medium | 37.5M |
@playwright/test | Playwright | testing high | 37.5M |
react-router-dom | React Router | nav medium | 36.6M |
redux | Redux (classic) | state high | 35.8M |
husky | husky (git hooks) | dx high | 29.8M |
react-redux | Redux (react-redux) | state high | 29.7M |
lint-staged | lint-staged | dx high | 24.4M |
ofetch | ofetch | networking medium | 23.8M |
@reduxjs/toolkit | Redux Toolkit | state high | 23.4M |
@tanstack/react-router | TanStack Router | nav medium | 19.7M |
turbo | Turborepo | dx high | 18.7M |
ai | Vercel AI SDK | ai-ui low | 18.4M |
@tanstack/react-virtual | TanStack Virtual | lists high | 18.4M |
d3-force | d3-force | charts low | 17.7M |
@tanstack/react-table | TanStack Table | lists high | 15.9M |
d3 | D3 | charts low | 15.8M |
@tanstack/react-start | TanStack Start | meta-frameworks medium | 15.4M |
valibot | Valibot | forms medium | 15.0M |
i18next | i18next | i18n medium | 14.0M |
oxlint | Oxlint | dx high | 13.6M |
msw | MSW | testing high | 13.5M |
swr | SWR | data high | 13.5M |
motion | Motion | animation medium | 12.6M |
metro | Metro | build high | 12.2M |
react-i18next | react-i18next | i18n medium | 10.1M |
styled-components | styled-components | styling medium | 9.4M |
@biomejs/biome | Biome | dx high | 8.9M |
nx | Nx | dx high | 8.7M |
chart.js | Chart.js | charts low | 8.5M |
expo-modules-core | Expo Modules | native high | 7.0M |
expo | Expo (managed native) | native high | 7.0M |
react-native-reanimated | Reanimated | animation medium | 6.3M |
react-native-gesture-handler | Gesture Handler | animation medium | 6.2M |
ky | ky | networking medium | 5.9M |
react-window | react-window | lists high | 5.8M |
react-native-worklets | Worklets | animation medium | 5.6M |
@expo/vector-icons | @expo/vector-icons (deprecated SDK 56) | svg medium | 5.2M |
electron | Electron | desktop medium | 5.2M |
next-auth | NextAuth / Auth.js (maintenance) | auth low | 5.1M |
jotai | Jotai | state high | 4.9M |
better-auth | Better Auth | auth low | 4.7M |
@react-native-async-storage/async-storage | AsyncStorage | storage medium | 4.7M |
expo-splash-screen | expo-splash-screen | polish low | 4.4M |
xstate | XState | state high | 4.4M |
next-intl | next-intl | i18n medium | 4.4M |
@apollo/client | Apollo Client | data high | 4.4M |
react-native-svg | react-native-svg | svg medium | 4.3M |
expo-secure-store | expo-secure-store (secrets) | storage medium | 4.3M |
@react-three/fiber | react-three-fiber | games low | 4.2M |
astro | Astro | meta-frameworks medium | 3.9M |
formik | Formik | forms medium | 3.8M |
expo-router | Expo Router | nav medium | 3.8M |
expo-haptics | expo-haptics | polish low | 3.4M |
expo-image-picker | expo-image-picker | media low | 3.3M |
mobx | MobX (7.x line) | state high | 3.3M |
lexical | Lexical | editors low | 3.2M |
lefthook | lefthook | dx high | 3.1M |
antd | Ant Design | component-libs medium | 3.1M |
@testing-library/react-native | RN Testing Library | testing high | 3.0M |
expo-updates | EAS Update | ota medium | 2.8M |
@react-native/metro-config | Metro | build high | 2.7M |
react-aria-components | React Aria | component-libs medium | 2.6M |
slate | Slate | editors low | 2.6M |
react-leaflet | react-leaflet | maps low | 2.5M |
@gorhom/bottom-sheet | gorhom bottom-sheet | sheets medium | 2.4M |
react-intl | react-intl | i18n medium | 2.1M |
@tanstack/react-form | TanStack Form | forms medium | 1.8M |
react-map-gl | react-map-gl | maps low | 1.8M |
valtio | Valtio | state high | 1.6M |
lucide-react-native | Lucide icons | svg medium | 1.6M |
react-native-nitro-modules | Nitro Modules | native high | 1.6M |
nativewind | NativeWind | styling medium | 1.5M |
@vis.gl/react-google-maps | react-google-maps (vis.gl) | maps low | 1.4M |
@stylexjs/stylex | StyleX | styling medium | 1.4M |
expo-auth-session | expo-auth-session (DIY OAuth) | auth low | 1.4M |
expo-camera | expo-camera | media low | 1.4M |
react-native-keyboard-controller | keyboard-controller | keyboard medium | 1.4M |
react-native-mmkv | MMKV | storage medium | 1.3M |
@shopify/flash-list | FlashList | lists high | 1.3M |
lottie-react-native | Lottie | animation medium | 1.2M |
react-doctor | react-doctor | dx high | 1.2M |
expo-video | expo-video (playback) | media low | 1.2M |
react-native-svg-transformer | svg-transformer | svg medium | 1.1M |
@shopify/react-native-skia | Skia | animation medium | 1.1M |
react-big-calendar | react-big-calendar | calendars low | 1.0M |
urql | urql | data high | 908k |
expo-sqlite | expo-sqlite | storage medium | 841k |
react-native-maps | react-native-maps | maps low | 806k |
react-native-qrcode-svg | QR generation (qrcode-svg) | media low | 786k |
expo-av | expo-av (DEPRECATED → expo-video/expo-audio) | media low | 543k |
react-native-toast-message | toast-message | polish low | 512k |
react-native-purchases | RevenueCat | payments medium | 511k |
@tanstack/react-db | TanStack DB | data high | 501k |
react-native-keychain | Keychain (quiet since 2025-03) | storage medium | 449k |
react-native-vector-icons | react-native-vector-icons (legacy) | svg medium | 421k |
victory | Victory (web, dormant) | charts low | 415k |
react-native-haptic-feedback | haptic-feedback | polish low | 400k |
react-native-vision-camera | VisionCamera | media low | 394k |
victory-native | Victory Native | charts low | 382k |
moti | Moti (dormant) | animation medium | 379k |
detox | Detox | testing high | 357k |
react-native-calendars | react-native-calendars | calendars low | 354k |
reactotron-react-native | Reactotron | ai-devtools low | 320k |
uniwind | Uniwind | styling medium | 286k |
@legendapp/list | Legend List | lists high | 283k |
sonner-native | sonner-native (toasts) | polish low | 276k |
@tanstack/ai | TanStack AI | ai-ui low | 265k |
@react-native-firebase/auth | Firebase Auth | auth low | 239k |
react-native-webrtc | react-native-webrtc | media low | 228k |
react-native-unistyles | Unistyles | styling medium | 222k |
react-native-bootsplash | bootsplash | polish low | 188k |
expo-iap | expo-iap | payments medium | 185k |
react-native-enriched-markdown | enriched-markdown | editors low | 185k |
burnt | burnt (native toasts) | polish low | 172k |
@lodev09/react-native-true-sheet | true-sheet (native) | sheets medium | 152k |
tamagui | Tamagui | styling medium | 152k |
react-native-gifted-charts | gifted-charts | charts low | 148k |
react-native-auth0 | Auth0 | auth low | 139k |
@rnmapbox/maps | Mapbox RN | maps low | 134k |
@op-engineering/op-sqlite | op-sqlite | storage medium | 127k |
react-native-iap | react-native-iap | payments medium | 118k |
jail-monkey | jail-monkey | security high | 117k |
agent-device | agent-device | ai-devtools low | 115k |
react-native-graph | react-native-graph | charts low | 106k |
rive-react-native | Rive (legacy pkg) | animation medium | 103k |
expo-maps | expo-maps (alpha) | maps low | 103k |
@maplibre/maplibre-react-native | MapLibre RN | maps low | 98k |
react-native-audio-api | audio-api (Web Audio) | media low | 93k |
react-native-screen-transitions | screen-transitions | animation medium | 93k |
@rocicorp/zero | Zero | data high | 91k |
react-native-nitro-fetch | nitro-fetch | networking medium | 91k |
@tanstack/ai-react | TanStack AI (React) | ai-ui low | 90k |
react-native-image-viewing | image-viewing (dormant) | polish low | 82k |
react-native-windows | RN Windows | desktop medium | 77k |
react-native-macos | RN macOS | desktop medium | 62k |
@nozbe/watermelondb | WatermelonDB | storage medium | 54k |
@swmansion/argent | Argent | ai-devtools low | 45k |
@nandorojo/galeria | galeria (lightbox) | polish low | 41k |
react-native-enriched-html | enriched-html | editors low | 40k |
react-native-harness | react-native-harness | testing high | 39k |
react-native-enriched | react-native-enriched | editors low | 38k |
@rive-app/react-native | Rive (Nitro line) | animation medium | 38k |
@marceloterreiro/flash-calendar | Flash Calendar | calendars low | 37k |
@swmansion/react-native-bottom-sheet | SWM native bottom-sheet (0.x) | sheets medium | 27k |
corestore | Corestore | p2p medium | 25k |
hot-updater | hot-updater | ota medium | 25k |
react-native-ease | react-native-ease | animation medium | 21k |
brittle | brittle (Holepunch TAP) | testing high | 20k |
react-native-avoid-softinput | avoid-softinput | keyboard medium | 20k |
waku | Waku | meta-frameworks medium | 19k |
react-native-code-push | CodePush (retired service) | ota medium | 19k |
@react-native-ai/apple | Apple on-device LLM | ondevice-ai low | 18k |
react-native-executorch | ExecuTorch | ondevice-ai low | 14k |
lunte | lunte (lint) | dx high | 14k |
react-native-calendar-strip | calendar-strip | calendars low | 13k |
react-native-wgpu | WebGPU | games low | 12k |
next-yak | next-yak | styling medium | 11k |
autobase | Autobase (multiwriter) | p2p medium | 8k |
rnsec | rnsec (security scanner) | security high | 5k |
linaria | Linaria (frozen by design) | styling medium | 5k |
hrpc | hrpc | p2p medium | 4k |
@reactvision/react-viro | ReactVision (AR/VR) | games low | 2k |
react-native-game-engine | game-engine (unmaintained) | games low | 1k |
@mgcrea/react-native-tailwind | zero-runtime Tailwind (Babel) | styling medium | 1k |
pear-runtime | Pear (Holepunch) | desktop medium | 992 |
@premieroctet/react-native-wallet | wallet passes (PassKit/Google Wallet) | payments medium | 975 |
@borndotcom/react-native-godot | Godot embed | games low | 900 |
react-native-better-maps | Better Maps (Nitro) | maps low | 439 |
react-native-rag | react-native-rag | ondevice-ai low | 428 |
@callstack/inspector | inspector (release profiling) | observability medium | 270 |
@react-native-ai/adk | Gemini ADK (Android) | ondevice-ai low | 208 |
@ecrindigital/facetpack | facetpack | build high | 182 |
react-native-nitro-mlx | MLX (Apple, Nitro) | ondevice-ai low | 60 |
pear-runtime-react-native | Pear (mobile, Holepunch) | desktop medium | 14 |
op-sqlite | op-sqlite | storage medium | — |