fix(mobile): hoist RN/Expo transitive deps for Metro resolution
pnpm's default strict isolation hides @babel/runtime/helpers/* and other transitive deps from Metro, which expects flat node_modules layout. Each missing dep was a separate failed EAS build (metro-runtime, @babel/runtime, ...) — added .npmrc with public-hoist-pattern entries that catch the common RN/Expo families so we stop whack-a-moling them. Also kept @babel/runtime as direct dep of @chat-app/mobile for safety.
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
# React Native / Expo expects a flat (npm/yarn-style) node_modules layout
|
||||||
|
# where transitive deps are reachable from any package. pnpm's strict
|
||||||
|
# isolation breaks that — Metro can't resolve @babel/runtime/helpers/*,
|
||||||
|
# @expo/metro-runtime, react-native-* peers, etc. when they're only
|
||||||
|
# installed for the package that declared them.
|
||||||
|
#
|
||||||
|
# These patterns hoist the common RN/Expo dependency families to the
|
||||||
|
# workspace root node_modules so Metro and the Expo bundler can find
|
||||||
|
# them via the standard Node resolution algorithm.
|
||||||
|
public-hoist-pattern[]=*@babel/runtime*
|
||||||
|
public-hoist-pattern[]=@expo/*
|
||||||
|
public-hoist-pattern[]=expo-*
|
||||||
|
public-hoist-pattern[]=*react-native*
|
||||||
|
public-hoist-pattern[]=@react-native*
|
||||||
|
public-hoist-pattern[]=*metro*
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
"clean": "rm -rf .expo node_modules/.cache .turbo *.tsbuildinfo"
|
"clean": "rm -rf .expo node_modules/.cache .turbo *.tsbuildinfo"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.29.2",
|
||||||
"@chat-app/db-types": "workspace:*",
|
"@chat-app/db-types": "workspace:*",
|
||||||
"@chat-app/shared": "workspace:*",
|
"@chat-app/shared": "workspace:*",
|
||||||
"@config-plugins/react-native-webrtc": "^10.0.0",
|
"@config-plugins/react-native-webrtc": "^10.0.0",
|
||||||
|
|||||||
Generated
+3
@@ -150,6 +150,9 @@ importers:
|
|||||||
|
|
||||||
apps/mobile:
|
apps/mobile:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@babel/runtime':
|
||||||
|
specifier: ^7.29.2
|
||||||
|
version: 7.29.2
|
||||||
'@chat-app/db-types':
|
'@chat-app/db-types':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../packages/db-types
|
version: link:../../packages/db-types
|
||||||
|
|||||||
Reference in New Issue
Block a user