# Dependency Audit — packages/ui (common-ui) Audited 2026-08-16. Packages listed below are declared in `package.json` but **never imported** anywhere in this package's own source (`src/`, `hooks/`, `index.ts`). ## Never used in this package - `@react-native-google-signin/google-signin` - `@react-native-picker/picker` - `@react-navigation/bottom-tabs` - `@react-navigation/drawer` - `@react-navigation/elements` - `buffer` - `dayjs` - `expo` - `expo-blur` - `expo-dev-client` - `expo-device` - `expo-font` - `expo-haptics` - `expo-linear-gradient` - `expo-linking` - `expo-notifications` - `expo-router` - `expo-splash-screen` - `expo-symbols` - `expo-system-ui` - `formik` - `jwt-decode` - `react-dom` - `react-hook-form` - `react-native-gesture-handler` - `react-native-pager-view` - `react-native-phonepe-pg` - `react-native-razorpay` - `react-native-reanimated` - `react-native-safe-area-context` - `react-native-screens` - `react-native-tab-view` - `react-native-toast-message` - `react-native-web` - `react-native-webview` - `yup` ## Caveats - Several of the above (`react-native-gesture-handler`, `react-native-reanimated`, `react-native-safe-area-context`, `react-native-screens`, `react-navigation/*`, `expo-router`, etc.) are runtime peer/transitive requirements of `@react-navigation/native` and the consuming Expo apps, which declare them in their own `package.json`. They are unused in `packages/ui` but not removable from the workspace if the apps rely on hoisting. - `expo` (base) is not imported directly but is required by the `expo-*` modules that are used. - Safest candidates for removal (not used by apps either): `expo-dev-client`, `react-native-phonepe-pg`. ## Imported but not declared (opposite problem) The package imports these without listing them in `package.json`; they currently resolve via hoisting: - `expo-auth-session` - `react-native-svg`