metro
related packages are pinned at0.80.4
the new version added support for symlinks viaconfig.resolver.unstable_enableSymlinks
=true
, which is must be enabled for pnpm to work (defaults totrue
since0.79.0
)- the expo project needs an explicit dependency declaration of
metro-runtime
, with the same version of the bundler, since this package is referenced and injected at bundle time - to make
metro
aware of the workspace root and other packages, their paths must be added toconfig.watchFolders
inmetro.config.js
, andconfig.projectRoot
must be set manually - each ui package must also have
react
,react-native
,react-native-web
declared as dependencies forwebpack
to resolve them correctly at bundle time
References:
- Metro GitHub Issue on Symlinks:
robhogan @ facebook/metro#1 - Metro GitHub Issue on watching additional folders:
fiznool @ facebook/metro#7 - PNPM GitHub Issue Related Discussion on Usage With Expo:
vjpr @ pnpm/pnpm#3010 - Archived Repo for Yarn Workspaces:
lokshunhung/react-native-web-yarn-workspace-monorepo