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 |
|---|---|---|---|
zod | Zod | forms medium | 387.4M |
typescript | TypeScript | typescript medium | 365.3M |
esbuild | esbuild | build high | 359.2M |
vite | Vite | build high | 232.2M |
eslint | ESLint | dx high | 198.2M |
prettier | Prettier | dx high | 168.8M |
tailwindcss | Tailwind | styling medium | 163.0M |
vitest | Vitest | testing high | 142.1M |
axios | axios | networking medium | 139.9M |
typescript-eslint | typescript-eslint | dx high | 112.6M |
@playwright/test | Playwright | testing high | 86.2M |
@tanstack/react-query | TanStack Query | data high | 82.8M |
@testing-library/react | React Testing Library | testing high | 79.9M |
next | Next.js | meta-frameworks medium | 76.9M |
zustand | Zustand | state high | 71.5M |
recharts | Recharts | charts low | 71.3M |
react-hook-form | React Hook Form | forms medium | 70.3M |
react-router | React Router | nav medium | 68.7M |
webpack | webpack | build high | 67.2M |
framer-motion | framer-motion / Motion | animation medium | 58.5M |
jest | Jest | testing high | 56.8M |
react-router-dom | React Router | nav medium | 55.1M |
redux | Redux (classic) | state high | 54.5M |
react-redux | Redux (react-redux) | state high | 46.7M |
husky | husky (git hooks) | dx high | 44.2M |
@reduxjs/toolkit | Redux Toolkit | state high | 38.3M |
lint-staged | lint-staged | dx high | 36.0M |
ofetch | ofetch | networking medium | 34.9M |
ai | Vercel AI SDK | ai-ui low | 34.5M |
turbo | Turborepo | dx high | 34.2M |
@tanstack/react-virtual | TanStack Virtual | lists high | 31.7M |
oxlint | Oxlint | dx high | 29.4M |
d3-force | d3-force | charts low | 28.6M |
motion | Motion | animation medium | 28.3M |
i18next | i18next | i18n medium | 27.8M |
msw | MSW | testing high | 26.8M |
@tanstack/react-table | TanStack Table | lists high | 26.6M |
d3 | D3 | charts low | 26.0M |
valibot | Valibot | forms medium | 25.5M |
@tanstack/react-router | TanStack Router | nav medium | 25.1M |
metro | Metro | build high | 22.9M |
swr | SWR | data high | 22.3M |
@biomejs/biome | Biome | dx high | 21.1M |
react-i18next | react-i18next | i18n medium | 20.7M |
@tanstack/react-start | TanStack Start | meta-frameworks medium | 16.6M |
react-dropzone | react-dropzone | uploads medium | 16.4M |
chart.js | Chart.js | charts low | 15.7M |
styled-components | styled-components | styling medium | 13.2M |
better-auth | Better Auth | auth low | 12.6M |
nx | Nx | dx high | 12.4M |
expo-modules-core | Expo Modules | native high | 12.0M |
expo | Expo (managed native) | native high | 12.0M |
react-native-reanimated | Reanimated | animation medium | 11.0M |
react-native-gesture-handler | Gesture Handler | animation medium | 10.7M |
react-native-worklets | Worklets | animation medium | 10.2M |
react-native-svg | react-native-svg | svg medium | 10.1M |
electron | Electron | desktop medium | 9.6M |
@react-native-async-storage/async-storage | AsyncStorage | storage medium | 9.0M |
ky | ky | networking medium | 8.6M |
expo-router | Expo Router | nav medium | 8.4M |
jotai | Jotai | state high | 8.0M |
react-window | react-window | lists high | 8.0M |
astro | Astro | meta-frameworks medium | 7.9M |
next-intl | next-intl | i18n medium | 7.9M |
next-auth | NextAuth / Auth.js (maintenance) | auth low | 7.8M |
expo-secure-store | expo-secure-store (secrets) | storage medium | 7.8M |
expo-splash-screen | expo-splash-screen | polish low | 7.7M |
@apollo/client | Apollo Client | data high | 7.6M |
@react-native/metro-config | Metro | build high | 7.1M |
@react-three/fiber | react-three-fiber | games low | 7.1M |
@expo/vector-icons | @expo/vector-icons (deprecated SDK 56) | svg medium | 7.0M |
lexical | Lexical | editors low | 7.0M |
nuqs | nuqs | state high | 6.2M |
lefthook | lefthook | dx high | 6.2M |
xstate | XState | state high | 6.0M |
react-aria-components | React Aria | component-libs medium | 5.9M |
expo-image-picker | expo-image-picker | media low | 5.8M |
expo-haptics | expo-haptics | polish low | 5.7M |
formik | Formik | forms medium | 5.6M |
@testing-library/react-native | RN Testing Library | testing high | 5.1M |
expo-updates | EAS Update | ota medium | 4.9M |
mobx | MobX (7.x line) | state high | 4.7M |
antd | Ant Design | component-libs medium | 4.5M |
react-leaflet | react-leaflet | maps low | 4.4M |
@tanstack/react-form | TanStack Form | forms medium | 4.2M |
react-intl | react-intl | i18n medium | 3.8M |
@gorhom/bottom-sheet | gorhom bottom-sheet | sheets medium | 3.6M |
slate | Slate | editors low | 3.5M |
react-native-keyboard-controller | keyboard-controller | keyboard medium | 3.1M |
@shopify/flash-list | FlashList | lists high | 3.0M |
lucide-react-native | Lucide icons | svg medium | 2.9M |
expo-camera | expo-camera | media low | 2.9M |
@vis.gl/react-google-maps | react-google-maps (vis.gl) | maps low | 2.8M |
react-map-gl | react-map-gl | maps low | 2.7M |
tus-js-client | tus (resumable) | uploads medium | 2.6M |
@stylexjs/stylex | StyleX | styling medium | 2.5M |
valtio | Valtio | state high | 2.5M |
expo-video | expo-video (playback) | media low | 2.5M |
react-doctor | react-doctor | dx high | 2.4M |
expo-auth-session | expo-auth-session (DIY OAuth) | auth low | 2.3M |
react-native-nitro-modules | Nitro Modules | native high | 2.2M |
nativewind | NativeWind | styling medium | 2.2M |
expo-sqlite | expo-sqlite | storage medium | 1.9M |
react-native-mmkv | MMKV | storage medium | 1.7M |
lottie-react-native | Lottie | animation medium | 1.7M |
@uppy/core | Uppy | uploads medium | 1.6M |
@shopify/react-native-skia | Skia | animation medium | 1.6M |
react-native-svg-transformer | svg-transformer | svg medium | 1.6M |
react-big-calendar | react-big-calendar | calendars low | 1.6M |
urql | urql | data high | 1.4M |
react-native-maps | react-native-maps | maps low | 1.4M |
react-native-qrcode-svg | QR generation (qrcode-svg) | media low | 1.3M |
@tanstack/react-db | TanStack DB | data high | 1.1M |
react-native-purchases | RevenueCat | payments medium | 931k |
@op-engineering/op-sqlite | op-sqlite | storage medium | 880k |
uniwind | Uniwind | styling medium | 843k |
@legendapp/list | Legend List | lists high | 735k |
react-native-toast-message | toast-message | polish low | 722k |
react-native-vector-icons | react-native-vector-icons (legacy) | svg medium | 662k |
react-native-vision-camera | VisionCamera | media low | 655k |
@swmansion/react-native-bottom-sheet | SWM native bottom-sheet (0.x) | sheets medium | 651k |
react-native-calendars | react-native-calendars | calendars low | 628k |
react-native-keychain | Keychain (quiet since 2025-03) | storage medium | 594k |
react-native-haptic-feedback | haptic-feedback | polish low | 591k |
detox | Detox | testing high | 576k |
victory | Victory (web, dormant) | charts low | 544k |
victory-native | Victory Native | charts low | 521k |
expo-av | expo-av (DEPRECATED → expo-video/expo-audio) | media low | 517k |
react-native-enriched-markdown | enriched-markdown | editors low | 500k |
reactotron-react-native | Reactotron | ai-devtools low | 403k |
@react-native-firebase/auth | Firebase Auth | auth low | 377k |
sonner-native | sonner-native (toasts) | polish low | 377k |
moti | Moti (dormant) | animation medium | 353k |
expo-iap | expo-iap | payments medium | 339k |
react-native-webrtc | react-native-webrtc | media low | 303k |
@rnmapbox/maps | Mapbox RN | maps low | 292k |
react-native-unistyles | Unistyles | styling medium | 287k |
react-native-gifted-charts | gifted-charts | charts low | 286k |
agent-device | agent-device | ai-devtools low | 278k |
@tanstack/ai | TanStack AI | ai-ui low | 265k |
@rocicorp/zero | Zero | data high | 263k |
react-native-bootsplash | bootsplash | polish low | 263k |
@maplibre/maplibre-react-native | MapLibre RN | maps low | 262k |
tamagui | Tamagui | styling medium | 227k |
react-native-auth0 | Auth0 | auth low | 224k |
@lodev09/react-native-true-sheet | true-sheet (native) | sheets medium | 203k |
react-native-audio-api | audio-api (Web Audio) | media low | 192k |
burnt | burnt (native toasts) | polish low | 189k |
react-native-image-viewing | image-viewing (dormant) | polish low | 176k |
react-native-iap | react-native-iap | payments medium | 171k |
jail-monkey | jail-monkey | security high | 171k |
react-native-nitro-fetch | nitro-fetch | networking medium | 166k |
@rive-app/react-native | Rive (Nitro line) | animation medium | 159k |
expo-maps | expo-maps (alpha) | maps low | 143k |
react-native-enriched-html | enriched-html | editors low | 127k |
react-native-windows | RN Windows | desktop medium | 120k |
react-native-macos | RN macOS | desktop medium | 114k |
@marceloterreiro/flash-calendar | Flash Calendar | calendars low | 91k |
@tanstack/ai-react | TanStack AI (React) | ai-ui low | 90k |
@nozbe/watermelondb | WatermelonDB | storage medium | 88k |
rive-react-native | Rive (legacy pkg) | animation medium | 80k |
react-native-screen-transitions | screen-transitions | animation medium | 59k |
@nandorojo/galeria | galeria (lightbox) | polish low | 58k |
@rpldy/uploady | Uploady | uploads medium | 54k |
react-native-ease | react-native-ease | animation medium | 53k |
hot-updater | hot-updater | ota medium | 51k |
react-native-harness | react-native-harness | testing high | 46k |
@swmansion/argent | Argent | ai-devtools low | 45k |
waku | Waku | meta-frameworks medium | 44k |
react-native-calendar-strip | calendar-strip | calendars low | 43k |
react-native-enriched | react-native-enriched | editors low | 42k |
brittle | brittle (Holepunch TAP) | testing high | 39k |
corestore | Corestore | p2p medium | 28k |
@react-native-ai/apple | Apple on-device LLM | ondevice-ai low | 27k |
react-native-code-push | CodePush (retired service) | ota medium | 26k |
react-native-avoid-softinput | avoid-softinput | keyboard medium | 25k |
react-native-graph | react-native-graph | charts low | 23k |
next-yak | next-yak | styling medium | 20k |
react-native-executorch | ExecuTorch | ondevice-ai low | 17k |
lunte | lunte (lint) | dx high | 17k |
autobase | Autobase (multiwriter) | p2p medium | 12k |
linaria | Linaria (frozen by design) | styling medium | 8k |
react-native-background-upload | RN background upload (dormant) | uploads medium | 8k |
react-native-screen-choreography | screen-choreography | animation medium | 7k |
react-native-wgpu | WebGPU | games low | 7k |
@reactvision/react-viro | ReactVision (AR/VR) | games low | 6k |
hrpc | hrpc | p2p medium | 5k |
@mgcrea/react-native-tailwind | zero-runtime Tailwind (Babel) | styling medium | 5k |
rnsec | rnsec (security scanner) | security high | 4k |
@premieroctet/react-native-wallet | wallet passes (PassKit/Google Wallet) | payments medium | 3k |
react-native-game-engine | game-engine (unmaintained) | games low | 2k |
pear-runtime | Pear (Holepunch) | desktop medium | 2k |
@ecrindigital/facetpack | facetpack | build high | 1k |
@callstack/inspector | inspector (release profiling) | observability medium | 803 |
react-native-better-maps | Better Maps (Nitro) | maps low | 700 |
@borndotcom/react-native-godot | Godot embed | games low | 246 |
@react-native-ai/adk | Gemini ADK (Android) | ondevice-ai low | 208 |
react-native-rag | react-native-rag | ondevice-ai low | 195 |
pear-runtime-react-native | Pear (mobile, Holepunch) | desktop medium | 42 |
react-native-nitro-mlx | MLX (Apple, Nitro) | ondevice-ai low | 34 |
react-native-skia | Skia | animation medium | — |