@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.100.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +57 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +95 -0
  7. package/dist/cjs/env/platformEnv.native.js +74 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +21 -25
  10. package/dist/cjs/index.native.cjs +39 -0
  11. package/dist/cjs/index.native.js +21 -24
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +287 -272
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +346 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +309 -282
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  30. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  31. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  32. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  33. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  34. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  35. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  36. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  38. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  39. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  40. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  42. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  43. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  44. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  46. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  48. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  50. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  51. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  52. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  54. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  55. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  56. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  62. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  64. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  66. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  67. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  68. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  70. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  71. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  72. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  74. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  75. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  76. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/index.cjs +17 -26
  78. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  79. package/dist/cjs/rn-commands/index.native.js +17 -25
  80. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  81. package/dist/cjs/transformer/babel-core.cjs +16 -18
  82. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  83. package/dist/cjs/transformer/babel-core.native.js +16 -17
  84. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-transformer.cjs +149 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +190 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +164 -158
  88. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  89. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  90. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  91. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  92. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1430 -1488
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2519 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2407 -2560
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +48 -64
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +50 -65
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/projectImport.cjs +40 -51
  122. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  123. package/dist/cjs/utils/projectImport.native.js +41 -58
  124. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  125. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  126. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  127. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  128. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  129. package/dist/esm/env/platformEnv.mjs +42 -39
  130. package/dist/esm/env/platformEnv.mjs.map +1 -1
  131. package/dist/esm/env/platformEnv.native.js +59 -58
  132. package/dist/esm/env/platformEnv.native.js.map +1 -1
  133. package/dist/esm/index.js +3 -4
  134. package/dist/esm/index.mjs +3 -4
  135. package/dist/esm/index.native.js +3 -4
  136. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
  137. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  138. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
  139. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  140. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +271 -247
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +293 -258
  143. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  145. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  146. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  147. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  148. package/dist/esm/metro-config/types.mjs +0 -2
  149. package/dist/esm/metro-config/types.native.js +0 -2
  150. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  151. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  152. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  153. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  155. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  157. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  158. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  159. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  160. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  161. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  163. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  165. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  167. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  169. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  171. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  173. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  175. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  177. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  179. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  181. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  183. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  185. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  187. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  188. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  189. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  190. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  191. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  192. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  193. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  194. package/dist/esm/rn-commands/index.mjs +2 -2
  195. package/dist/esm/rn-commands/index.native.js +2 -2
  196. package/dist/esm/transformer/babel-core.mjs +2 -2
  197. package/dist/esm/transformer/babel-core.native.js +2 -2
  198. package/dist/esm/transformer/babel-transformer.mjs +133 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +145 -142
  201. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  202. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  203. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  204. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  205. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  206. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  207. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  208. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  209. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  210. package/dist/esm/transformer/metroNativeWorker.mjs +1393 -1442
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2370 -2515
  213. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  214. package/dist/esm/transformer/transformSync.mjs +33 -38
  215. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  216. package/dist/esm/transformer/transformSync.native.js +35 -40
  217. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  218. package/dist/esm/transformer/types.mjs +0 -2
  219. package/dist/esm/transformer/types.native.js +0 -2
  220. package/dist/esm/utils/exit.mjs +123 -112
  221. package/dist/esm/utils/exit.mjs.map +1 -1
  222. package/dist/esm/utils/exit.native.js +210 -215
  223. package/dist/esm/utils/exit.native.js.map +1 -1
  224. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  225. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  226. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  227. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  228. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  229. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  230. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  231. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  232. package/dist/esm/utils/projectImport.mjs +23 -25
  233. package/dist/esm/utils/projectImport.mjs.map +1 -1
  234. package/dist/esm/utils/projectImport.native.js +24 -33
  235. package/dist/esm/utils/projectImport.native.js.map +1 -1
  236. package/package.json +15 -18
  237. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  238. package/src/env/platformEnv.test.ts +44 -0
  239. package/src/env/platformEnv.ts +6 -3
  240. package/src/index.ts +0 -2
  241. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
  242. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
  243. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +150 -113
  245. package/src/plugins/metroPlugin.ts +3 -6
  246. package/src/transformer/babel-transformer.test.ts +118 -0
  247. package/src/transformer/babel-transformer.ts +82 -15
  248. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  249. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  250. package/src/transformer/expoVirtualEnv.ts +115 -0
  251. package/src/transformer/loadBabelConfig.ts +1 -1
  252. package/src/transformer/metroNativeWorker.test.ts +268 -50
  253. package/src/transformer/metroNativeWorker.ts +53 -71
  254. package/src/transformer/transformSync.test.ts +22 -0
  255. package/src/transformer/transformSync.ts +4 -4
  256. package/src/utils/exit.ts +2 -2
  257. package/src/utils/getTerminalReporter.ts +1 -1
  258. package/src/utils/projectImport.ts +2 -2
  259. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  260. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  261. package/types/env/platformEnv.d.ts +2 -1
  262. package/types/env/platformEnv.d.ts.map +1 -1
  263. package/types/index.d.ts +0 -2
  264. package/types/index.d.ts.map +1 -1
  265. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  266. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  267. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  268. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/plugins/metroPlugin.d.ts +2 -4
  270. package/types/plugins/metroPlugin.d.ts.map +1 -1
  271. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  272. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  276. package/types/transformer/babel-transformer.d.ts +10 -1
  277. package/types/transformer/babel-transformer.d.ts.map +1 -1
  278. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  279. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  280. package/types/transformer/metroNativeWorker.d.ts +7 -8
  281. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  282. package/types/utils/projectImport.d.ts +2 -2
  283. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  284. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  285. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  286. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  287. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  288. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  289. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  290. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  291. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  292. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  293. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  294. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  295. package/dist/esm/index.js.map +0 -1
  296. package/dist/esm/index.mjs.map +0 -1
  297. package/dist/esm/index.native.js.map +0 -1
  298. package/dist/esm/metro-config/types.mjs.map +0 -1
  299. package/dist/esm/metro-config/types.native.js.map +0 -1
  300. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  301. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  302. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  304. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  305. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  306. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  307. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  308. package/dist/esm/rn-commands/index.mjs.map +0 -1
  309. package/dist/esm/rn-commands/index.native.js.map +0 -1
  310. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  311. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  312. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  313. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  314. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  315. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  316. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  317. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  318. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  319. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  320. package/dist/esm/transformer/types.mjs.map +0 -1
  321. package/dist/esm/transformer/types.native.js.map +0 -1
  322. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  323. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  324. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  326. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  327. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  328. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  329. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  330. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  331. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  332. package/types/transformer/transformSync.test.d.ts +0 -2
  333. package/types/transformer/transformSync.test.d.ts.map +0 -1
  334. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  335. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -7,315 +7,342 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
14
  };
15
15
  var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
23
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
32
27
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
29
  var getMetroConfigFromViteConfig_exports = {};
37
30
  __export(getMetroConfigFromViteConfig_exports, {
38
- buildMetroConfigInputFromViteConfig: () => buildMetroConfigInputFromViteConfig,
39
- getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig
31
+ buildMetroConfigInputFromViteConfig: () => buildMetroConfigInputFromViteConfig,
32
+ getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig
40
33
  });
41
34
  module.exports = __toCommonJS(getMetroConfigFromViteConfig_exports);
35
+ var import_vite = require("vite");
42
36
  var import_child_process = require("child_process");
43
37
  var import_path = require("path");
44
38
  var import_micromatch = __toESM(require("micromatch"), 1);
39
+ var import_metro_config = require("@react-native/metro-config");
45
40
  var import_compiler = require("@vxrn/compiler");
46
41
  var import_projectImport = require("../utils/projectImport.native.js");
47
42
  var import_getTerminalReporter = require("../utils/getTerminalReporter.native.js");
48
- var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js");
49
43
  var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
50
- var watchmanResponsivePromises = /* @__PURE__ */new Map();
44
+ var expoEnvAdditionalExts = [
45
+ "env",
46
+ "local",
47
+ "development"
48
+ ];
49
+ var watchmanResponsivePromises = /* @__PURE__ */ new Map();
51
50
  var didWarnAboutWatchmanFallback = false;
52
51
  var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
52
+ var expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
53
+ var metroWatchExclusions = [
54
+ /[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
55
+ /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
56
+ /[/\\]\.docker(?:[/\\]|$)/,
57
+ /[/\\]\.vite(?:[/\\]|$)/,
58
+ /[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/
59
+ ];
60
+ function enforceWorkspaceVisibility(config, projectRoot) {
61
+ var _config_watchFolders, _ref;
62
+ var _config_resolver;
63
+ var workspaceRoot = (0, import_vite.searchForWorkspaceRoot)(projectRoot);
64
+ if (workspaceRoot === projectRoot) return config;
65
+ return {
66
+ ...config,
67
+ watchFolders: [.../* @__PURE__ */ new Set([...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [], workspaceRoot])],
68
+ resolver: {
69
+ ...config.resolver,
70
+ nodeModulesPaths: [.../* @__PURE__ */ new Set([
71
+ ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],
72
+ (0, import_path.resolve)(projectRoot, "node_modules"),
73
+ (0, import_path.resolve)(workspaceRoot, "node_modules")
74
+ ])]
75
+ }
76
+ };
77
+ }
78
+ function getReactNativeDefaultConfig(projectRoot) {
79
+ return enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);
80
+ }
53
81
  function getPlatformFromBundleUrl(url) {
54
- var _url_match;
55
- var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
56
- return platform === "android" ? "android" : "ios";
82
+ var _url_match;
83
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
84
+ return platform === "android" ? "android" : "ios";
57
85
  }
58
86
  function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
59
- var resolvedMainModulePath = resolveMainModuleName({
60
- platform: getPlatformFromBundleUrl(url)
61
- });
62
- if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
63
- return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
64
- }
65
- return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
87
+ var resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
88
+ if (rootIndexBundleRequestPattern.test(url)) {
89
+ return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
90
+ }
91
+ return url.replace(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
92
+ }
93
+ function isMainModuleBundleRequest(url) {
94
+ return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);
95
+ }
96
+ function isBareSpecifier(name) {
97
+ return name !== "" && !name.startsWith(".") && !name.startsWith("/");
98
+ }
99
+ function bareMainModuleForRequest(moduleName, mainModuleName) {
100
+ if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;
101
+ if (moduleName === `./${mainModuleName}`) return mainModuleName;
102
+ return void 0;
103
+ }
104
+ function enforceBareMainModuleEntry(config, mainModuleName) {
105
+ var _config_resolver;
106
+ if (!mainModuleName || !isBareSpecifier(mainModuleName)) return config;
107
+ var innerResolveRequest = config === null || config === void 0 ? void 0 : (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;
108
+ return {
109
+ ...config,
110
+ resolver: {
111
+ ...config === null || config === void 0 ? void 0 : config.resolver,
112
+ resolveRequest: function(context, moduleName, platform) {
113
+ var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
114
+ var resolveRequest = innerResolveRequest || context.resolveRequest;
115
+ return resolveRequest(context, bareMain !== null && bareMain !== void 0 ? bareMain : moduleName, platform);
116
+ }
117
+ }
118
+ };
66
119
  }
67
120
  async function isWatchmanResponsive(projectRoot) {
68
- var probe = watchmanResponsivePromises.get(projectRoot);
69
- if (probe) {
70
- return probe;
71
- }
72
- probe = new Promise(function (resolve2) {
73
- var settled = false;
74
- var finish = function (value) {
75
- if (settled) return;
76
- settled = true;
77
- clearTimeout(timeout);
78
- resolve2(value);
79
- };
80
- var child = (0, import_child_process.spawn)("watchman", ["watch-project", projectRoot], {
81
- stdio: "ignore"
82
- });
83
- var timeout = setTimeout(function () {
84
- child.kill();
85
- finish(false);
86
- }, WATCHMAN_PROBE_TIMEOUT_MS);
87
- child.once("error", function () {
88
- finish(false);
89
- });
90
- child.once("exit", function (code) {
91
- finish(code === 0);
92
- });
93
- });
94
- watchmanResponsivePromises.set(projectRoot, probe);
95
- return probe;
121
+ var probe = watchmanResponsivePromises.get(projectRoot);
122
+ if (probe) {
123
+ return probe;
124
+ }
125
+ probe = new Promise(function(resolve2) {
126
+ var settled = false;
127
+ var finish = function(value) {
128
+ if (settled) return;
129
+ settled = true;
130
+ clearTimeout(timeout);
131
+ resolve2(value);
132
+ };
133
+ var child = (0, import_child_process.spawn)("watchman", ["watch-project", projectRoot], { stdio: "ignore" });
134
+ var timeout = setTimeout(function() {
135
+ child.kill();
136
+ finish(false);
137
+ }, WATCHMAN_PROBE_TIMEOUT_MS);
138
+ child.once("error", function() {
139
+ finish(false);
140
+ });
141
+ child.once("exit", function(code) {
142
+ finish(code === 0);
143
+ });
144
+ });
145
+ watchmanResponsivePromises.set(projectRoot, probe);
146
+ return probe;
96
147
  }
97
148
  function resolveNativeTransforms(projectRoot, metroPluginOptions) {
98
- var userBabelConfigPath = projectRoot ? (0, import_compiler.findUserBabelConfig)(projectRoot) : null;
99
- var hasUserBabelConfig = Boolean(userBabelConfigPath);
100
- var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === "0" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === "1" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;
101
- if (userBabelConfigPath && isNativeTransforms) {
102
- console.warn(`[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`);
103
- }
104
- return {
105
- isNativeTransforms,
106
- userBabelConfigPath
107
- };
149
+ var userBabelConfigPath = projectRoot ? (0, import_compiler.findUserBabelConfig)(projectRoot) : null;
150
+ var hasUserBabelConfig = Boolean(userBabelConfigPath);
151
+ var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === "0" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === "1" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;
152
+ if (userBabelConfigPath && isNativeTransforms) {
153
+ console.warn(`[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`);
154
+ }
155
+ return {
156
+ isNativeTransforms,
157
+ userBabelConfigPath
158
+ };
108
159
  }
109
160
  async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
110
- var _ref;
111
- var _metroPluginOptions_argv, _defaultConfig_resolver;
112
- var extraConfig = {};
113
- var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
114
- var {
115
- mainModuleName,
116
- defaultConfigOverrides,
117
- watchman,
118
- excludeModules
119
- } = metroPluginOptions;
120
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
121
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
122
- didWarnAboutWatchmanFallback = true;
123
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
124
- }
125
- var {
126
- getDefaultConfig
127
- } = await (0, import_projectImport.projectImport)(projectRoot, "@expo/metro-config");
128
- var _defaultConfig = getDefaultConfig(projectRoot);
129
- if (mainModuleName) {
130
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
131
- var resolveMainModuleName = await async function () {
132
- var ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
133
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
134
- (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, mainModuleName);
135
- return function (p) {
136
- return manifestHandlerMiddleware.resolveMainModuleName({
137
- pkg: {
138
- main: mainModuleName
139
- },
140
- platform: p.platform
141
- });
142
- };
143
- }();
144
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
145
- _defaultConfig.server.rewriteRequestUrl = function (url) {
146
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
147
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
148
- }
149
- return origRewriteRequestUrl(url);
150
- };
151
- }
152
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
153
- var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
154
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
155
- var {
156
- isNativeTransforms
157
- } = resolveNativeTransforms(projectRoot, metroPluginOptions);
158
- var nativeWorkerPath;
159
- if (isNativeTransforms) {
160
- nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
161
- }
162
- var defaultConfig = {
163
- ..._defaultConfig,
164
- resolver: {
165
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
166
- useWatchman,
167
- blockList,
168
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
169
- // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.
170
- resolveRequest: function (context, moduleName, platform) {
171
- var _defaultConfig_resolver2;
172
- var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
173
- if (excludeModules && excludeModules.length > 0) {
174
- if (import_micromatch.default.isMatch(moduleName, excludeModules)) {
175
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
176
- }
177
- }
178
- if (moduleName.startsWith("@babel/runtime")) {
179
- var contextOverride = {
180
- ...context,
181
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
182
- return c !== "import";
183
- })
184
- };
185
- return origResolveRequestFn(contextOverride, moduleName, platform);
186
- }
187
- return origResolveRequestFn(context, moduleName, platform);
188
- }
189
- },
190
- transformer: {
191
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
192
- babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
193
- },
194
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
195
- // nesting it under transformer silently leaves metro on its default worker.
196
- ...(nativeWorkerPath ? {
197
- transformerPath: nativeWorkerPath
198
- } : {}),
199
- reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
200
- };
201
- var merged = {
202
- ...defaultConfig,
203
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
204
- };
205
- return {
206
- defaultConfig: merged,
207
- projectRoot,
208
- extraConfig
209
- };
161
+ var _ref, _ref1;
162
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
163
+ var extraConfig = {};
164
+ var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
165
+ var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
166
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
167
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
168
+ didWarnAboutWatchmanFallback = true;
169
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
170
+ }
171
+ var _defaultConfig = getReactNativeDefaultConfig(projectRoot);
172
+ if (mainModuleName) {
173
+ var _defaultConfig_server;
174
+ var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
175
+ var resolveMainModuleName = function() {
176
+ return mainModuleName;
177
+ };
178
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
179
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
180
+ var _ref2;
181
+ if (isMainModuleBundleRequest(url)) {
182
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
183
+ }
184
+ return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : url;
185
+ };
186
+ }
187
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
188
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
189
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
190
+ var nativeWorkerPath;
191
+ if (isNativeTransforms) {
192
+ nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
193
+ }
194
+ var defaultConfig = {
195
+ ..._defaultConfig,
196
+ watcher: {
197
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,
198
+ additionalExts: [.../* @__PURE__ */ new Set([...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [], ...expoEnvAdditionalExts])]
199
+ },
200
+ resolver: {
201
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
202
+ useWatchman,
203
+ blockList,
204
+ sourceExts: [
205
+ "js",
206
+ "jsx",
207
+ "json",
208
+ "ts",
209
+ "tsx",
210
+ "mjs",
211
+ "cjs"
212
+ ],
213
+ resolveRequest: function(context, moduleName, platform) {
214
+ var _defaultConfig_resolver2;
215
+ var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
216
+ if (excludeModules && excludeModules.length > 0) {
217
+ if (import_micromatch.default.isMatch(moduleName, excludeModules)) {
218
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
219
+ }
220
+ }
221
+ if (moduleName.startsWith("@babel/runtime")) {
222
+ var contextOverride = {
223
+ ...context,
224
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
225
+ return c !== "import";
226
+ })
227
+ };
228
+ return origResolveRequestFn(contextOverride, moduleName, platform);
229
+ }
230
+ return origResolveRequestFn(context, moduleName, platform);
231
+ }
232
+ },
233
+ transformer: {
234
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
235
+ unstable_allowRequireContext: true,
236
+ babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
237
+ },
238
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
239
+ reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
240
+ };
241
+ var merged = {
242
+ ...defaultConfig,
243
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
244
+ };
245
+ return {
246
+ defaultConfig: enforceBareMainModuleEntry(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName),
247
+ projectRoot,
248
+ extraConfig
249
+ };
210
250
  }
211
251
  async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
212
- var _ref;
213
- var _metroPluginOptions_argv, _defaultConfig_resolver;
214
- var extraConfig = {};
215
- var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
216
- var {
217
- mainModuleName,
218
- argv,
219
- defaultConfigOverrides,
220
- watchman,
221
- excludeModules
222
- } = metroPluginOptions;
223
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
224
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
225
- didWarnAboutWatchmanFallback = true;
226
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
227
- }
228
- var {
229
- loadConfig
230
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
231
- var {
232
- getDefaultConfig
233
- } = await (0, import_projectImport.projectImport)(projectRoot, "@expo/metro-config");
234
- var _defaultConfig = getDefaultConfig(projectRoot);
235
- if (mainModuleName) {
236
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
237
- var resolveMainModuleName = await async function () {
238
- var ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
239
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
240
- (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, mainModuleName);
241
- return function (p) {
242
- return manifestHandlerMiddleware.resolveMainModuleName({
243
- pkg: {
244
- main: mainModuleName
245
- },
246
- platform: p.platform
247
- });
248
- };
249
- }();
250
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
251
- _defaultConfig.server.rewriteRequestUrl = function (url) {
252
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
253
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
254
- }
255
- return origRewriteRequestUrl(url);
256
- };
257
- }
258
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
259
- var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
260
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
261
- var {
262
- isNativeTransforms
263
- } = resolveNativeTransforms(projectRoot, metroPluginOptions);
264
- var nativeWorkerPath;
265
- if (isNativeTransforms) {
266
- nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
267
- }
268
- var defaultConfig = {
269
- ..._defaultConfig,
270
- resolver: {
271
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
272
- useWatchman,
273
- blockList,
274
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
275
- // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
276
- resolveRequest: function (context, moduleName, platform) {
277
- var _defaultConfig_resolver2;
278
- var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
279
- if (excludeModules && excludeModules.length > 0) {
280
- if (import_micromatch.default.isMatch(moduleName, excludeModules)) {
281
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
282
- }
283
- }
284
- if (moduleName.startsWith("@babel/runtime")) {
285
- var contextOverride = {
286
- ...context,
287
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
288
- return c !== "import";
289
- })
290
- };
291
- return origResolveRequestFn(contextOverride, moduleName, platform);
292
- }
293
- return origResolveRequestFn(context, moduleName, platform);
294
- }
295
- },
296
- transformer: {
297
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
298
- babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
299
- },
300
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
301
- // nesting it under transformer silently leaves metro on its default worker.
302
- ...(nativeWorkerPath ? {
303
- transformerPath: nativeWorkerPath
304
- } : {}),
305
- reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
306
- };
307
- var metroConfig = await loadConfig({
308
- cwd: projectRoot,
309
- projectRoot,
310
- "reset-cache": !!process.env.METRO_RESET_CACHE,
311
- ...argv
312
- }, {
313
- ...defaultConfig,
314
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
315
- });
316
- return {
317
- ...metroConfig,
318
- ...extraConfig
319
- };
252
+ var _ref, _ref1;
253
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;
254
+ var extraConfig = {};
255
+ var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
256
+ var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
257
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
258
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
259
+ didWarnAboutWatchmanFallback = true;
260
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
261
+ }
262
+ var { loadConfig } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
263
+ var _defaultConfig = getReactNativeDefaultConfig(projectRoot);
264
+ if (mainModuleName) {
265
+ var _defaultConfig_server;
266
+ var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
267
+ var resolveMainModuleName = function() {
268
+ return mainModuleName;
269
+ };
270
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
271
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
272
+ var _ref2;
273
+ if (isMainModuleBundleRequest(url)) {
274
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
275
+ }
276
+ return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : url;
277
+ };
278
+ }
279
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
280
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
281
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
282
+ var nativeWorkerPath;
283
+ if (isNativeTransforms) {
284
+ nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
285
+ }
286
+ var defaultConfig = {
287
+ ..._defaultConfig,
288
+ watcher: {
289
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,
290
+ additionalExts: [.../* @__PURE__ */ new Set([...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [], ...expoEnvAdditionalExts])]
291
+ },
292
+ resolver: {
293
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
294
+ useWatchman,
295
+ blockList,
296
+ sourceExts: [
297
+ "js",
298
+ "jsx",
299
+ "json",
300
+ "ts",
301
+ "tsx",
302
+ "mjs",
303
+ "cjs"
304
+ ],
305
+ resolveRequest: function(context, moduleName, platform) {
306
+ var _defaultConfig_resolver2;
307
+ var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
308
+ if (excludeModules && excludeModules.length > 0) {
309
+ if (import_micromatch.default.isMatch(moduleName, excludeModules)) {
310
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
311
+ }
312
+ }
313
+ if (moduleName.startsWith("@babel/runtime")) {
314
+ var contextOverride = {
315
+ ...context,
316
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
317
+ return c !== "import";
318
+ })
319
+ };
320
+ return origResolveRequestFn(contextOverride, moduleName, platform);
321
+ }
322
+ return origResolveRequestFn(context, moduleName, platform);
323
+ }
324
+ },
325
+ transformer: {
326
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
327
+ unstable_allowRequireContext: true,
328
+ babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
329
+ },
330
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
331
+ reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
332
+ };
333
+ var metroConfig = await loadConfig({
334
+ cwd: projectRoot,
335
+ projectRoot,
336
+ "reset-cache": !!process.env.METRO_RESET_CACHE,
337
+ ...argv
338
+ }, {
339
+ ...defaultConfig,
340
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
341
+ });
342
+ return {
343
+ ...enforceBareMainModuleEntry(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName),
344
+ ...extraConfig
345
+ };
320
346
  }
347
+
321
348
  //# sourceMappingURL=getMetroConfigFromViteConfig.native.js.map