4068e8c7b6
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.
16 lines
733 B
Plaintext
16 lines
733 B
Plaintext
# 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*
|