freshyo/docs/common-ui-dependency-audit.md
2026-08-16 15:45:05 +05:30

1.8 KiB

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