55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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`
|