11const { getDefaultConfig } = require ( '@react-native/metro-config' ) ;
22const path = require ( 'path' ) ;
33
4- // Monorepo root
54const projectRoot = __dirname ;
65const monorepoRoot = path . resolve ( projectRoot , '../..' ) ;
76
8- /**
9- * Metro configuration for React Native monorepo
10- */
11- module . exports = ( async ( ) => {
12- const config = await getDefaultConfig ( projectRoot ) ;
7+ const config = getDefaultConfig ( projectRoot ) ;
138
14- config . watchFolders = [ monorepoRoot ] ;
15- config . resolver = config . resolver || { } ;
16- config . resolver . nodeModulesPaths = [
17- path . resolve ( projectRoot , 'node_modules' ) ,
18- path . resolve ( monorepoRoot , 'node_modules' ) ,
19- ] ;
20- config . resolver . disableHierarchicalLookup = false ;
9+ config . watchFolders = [
10+ path . resolve ( monorepoRoot , 'packages' ) ,
11+ ] ;
2112
22- const pinnedModules = {
23- react : path . resolve ( projectRoot , 'node_modules/react' ) ,
24- 'react-native' : path . resolve ( projectRoot , 'node_modules/react-native' ) ,
25- 'react-native-reanimated' : path . resolve (
26- projectRoot ,
27- 'node_modules/react-native-reanimated'
28- ) ,
29- 'react-native-worklets' : path . resolve (
30- projectRoot ,
31- 'node_modules/react-native-worklets'
32- ) ,
33- 'react-native-gesture-handler' : path . resolve (
34- projectRoot ,
35- 'node_modules/react-native-gesture-handler'
36- ) ,
37- } ;
13+ config . resolver . nodeModulesPaths = [
14+ path . resolve ( projectRoot , 'node_modules' ) ,
15+ path . resolve ( monorepoRoot , 'node_modules' ) ,
16+ ] ;
3817
39- config . resolver . extraNodeModules = pinnedModules ;
40- config . resolver . resolveRequest = ( context , moduleName , platform ) => {
41- for ( const [ name , modulePath ] of Object . entries ( pinnedModules ) ) {
42- if ( moduleName === name || moduleName . startsWith ( `${ name } /` ) ) {
43- const target = path . join ( modulePath , moduleName . slice ( name . length ) ) ;
44- return context . resolveRequest ( context , target , platform ) ;
45- }
46- }
18+ config . resolver . disableHierarchicalLookup = true ;
4719
48- return context . resolveRequest ( context , moduleName , platform ) ;
49- } ;
50-
51- return config ;
52- } ) ( ) ;
20+ module . exports = config ;
0 commit comments