55 * @format
66 */
77
8- const path = require ( 'path' ) ;
8+ const path = require ( 'node: path' ) ;
99const { exclusionList, makeMetroConfig, resolveUniqueModule } = require ( '@rnx-kit/metro-config' ) ;
1010const MetroSymlinksResolver = require ( '@rnx-kit/metro-resolver-symlinks' ) ;
1111
@@ -20,7 +20,8 @@ function pathForRegex(...parts) {
2020
2121const excludeMixins = [ ] ;
2222const extraNodeModules = { } ;
23- function ensureUniqueModule ( moduleName , excludeList , nodeModules ) {
23+
24+ function ensureUniqueModule ( moduleName ) {
2425 const [ nmEntry , excludePattern ] = resolveUniqueModule ( moduleName ) ;
2526 excludeMixins . push ( excludePattern ) ;
2627 extraNodeModules [ moduleName ] = nmEntry ;
@@ -30,31 +31,19 @@ function ensureUniqueModule(moduleName, excludeList, nodeModules) {
3031[ 'react-native-svg' ] . forEach ( ( moduleName ) => ensureUniqueModule ( moduleName ) ) ;
3132
3233const blockList = exclusionList ( [
33- // This stops "react-native run-windows" from causing the metro server to
34- // crash if its already running. This should also cover /.*\/.vs\/.*/, as .vs folders go next to the .sln file
35- new RegExp ( `${ pathForRegex ( __dirname , 'windows' ) } .*` ) ,
36-
37- // Workaround for `EPERM: operation not permitted, lstat '~\midl-MIDLRT-cl.read.1.tlog'`
38- / .* \. t l o g $ / ,
39-
40- // Workaround for `EBUSY: resource busy or locked, open '~\msbuild.ProjectImports.zip'`
41- / .* \. P r o j e c t I m p o r t s \. z i p $ / ,
42-
4334 // Exclude other test apps
44- new RegExp ( ` ${ pathForRegex ( __dirname , '../win32' ) } .*` ) ,
35+ new RegExp ( pathForRegex ( __dirname , '../win32' ) ) ,
4536
4637 // Exclude build output directory
47- new RegExp ( ` ${ pathForRegex ( __dirname , 'dist' ) } .*` ) ,
38+ new RegExp ( pathForRegex ( __dirname , 'dist' ) ) ,
4839
4940 ...excludeMixins ,
5041] ) ;
5142
5243let config = makeMetroConfig ( {
5344 resolver : {
5445 blockList,
55- extraNodeModules : {
56- ...extraNodeModules ,
57- } ,
46+ extraNodeModules,
5847 resolveRequest : MetroSymlinksResolver ( ) ,
5948 } ,
6049 transformer : {
@@ -63,6 +52,7 @@ let config = makeMetroConfig({
6352 } ,
6453} ) ;
6554
66- ( config . resolver . assetExts = [ ...config . resolver . assetExts . filter ( ( ext ) => ext !== 'svg' ) , 'ttf' , 'otf' , 'png' ] ) ,
67- ( config . resolver . sourceExts = [ ...config . resolver . sourceExts , 'svg' ] ) ,
68- ( module . exports = config ) ;
55+ config . resolver . assetExts = [ ...config . resolver . assetExts . filter ( ( ext ) => ext !== 'svg' ) , 'ttf' , 'otf' , 'png' ] ;
56+ config . resolver . sourceExts = [ ...config . resolver . sourceExts , 'svg' ] ;
57+
58+ module . exports = config ;
0 commit comments