@vxrn/vite-plugin-metro 2.0.0-beta.33.1 → 2.0.0-beta.362.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 (338) 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 +303 -257
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +361 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +327 -267
  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 +155 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +197 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +171 -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 +1436 -1489
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2525 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2414 -2561
  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 +287 -232
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +311 -243
  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 +139 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +152 -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 +1399 -1443
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2377 -2516
  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 +16 -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 +263 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +226 -109
  245. package/src/metro-config/glbAssets.test.ts +57 -0
  246. package/src/plugins/metroPlugin.ts +3 -6
  247. package/src/transformer/babel-transformer.test.ts +118 -0
  248. package/src/transformer/babel-transformer.ts +102 -15
  249. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  250. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  251. package/src/transformer/expoVirtualEnv.ts +115 -0
  252. package/src/transformer/loadBabelConfig.ts +3 -1
  253. package/src/transformer/metroNativeWorker.test.ts +425 -36
  254. package/src/transformer/metroNativeWorker.ts +72 -74
  255. package/src/transformer/swiftPackageTransform.test.ts +95 -0
  256. package/src/transformer/transformSync.test.ts +22 -0
  257. package/src/transformer/transformSync.ts +4 -4
  258. package/src/utils/exit.ts +2 -2
  259. package/src/utils/getTerminalReporter.ts +1 -1
  260. package/src/utils/projectImport.ts +2 -2
  261. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  262. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  263. package/types/env/platformEnv.d.ts +2 -1
  264. package/types/env/platformEnv.d.ts.map +1 -1
  265. package/types/index.d.ts +0 -2
  266. package/types/index.d.ts.map +1 -1
  267. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  268. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  270. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  271. package/types/plugins/metroPlugin.d.ts +2 -4
  272. package/types/plugins/metroPlugin.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  276. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  277. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  278. package/types/transformer/babel-transformer.d.ts +10 -1
  279. package/types/transformer/babel-transformer.d.ts.map +1 -1
  280. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  281. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  282. package/types/transformer/loadBabelConfig.d.ts.map +1 -1
  283. package/types/transformer/metroNativeWorker.d.ts +7 -8
  284. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  285. package/types/utils/projectImport.d.ts +2 -2
  286. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  287. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  288. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  289. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -897
  290. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1010
  291. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  292. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  293. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  294. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  295. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  296. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  297. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  298. package/dist/esm/index.js.map +0 -1
  299. package/dist/esm/index.mjs.map +0 -1
  300. package/dist/esm/index.native.js.map +0 -1
  301. package/dist/esm/metro-config/types.mjs.map +0 -1
  302. package/dist/esm/metro-config/types.native.js.map +0 -1
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  304. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  305. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  306. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  307. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  308. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  309. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  310. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  311. package/dist/esm/rn-commands/index.mjs.map +0 -1
  312. package/dist/esm/rn-commands/index.native.js.map +0 -1
  313. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  314. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  315. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -861
  316. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  317. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -972
  318. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  319. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  320. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  321. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  322. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  323. package/dist/esm/transformer/types.mjs.map +0 -1
  324. package/dist/esm/transformer/types.native.js.map +0 -1
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  326. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  327. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  328. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  329. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  330. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  331. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  332. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  333. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  334. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  335. package/types/transformer/transformSync.test.d.ts +0 -2
  336. package/types/transformer/transformSync.test.d.ts.map +0 -1
  337. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  338. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -1,263 +1,331 @@
1
+ import { searchForWorkspaceRoot } from "vite";
1
2
  import { spawn } from "child_process";
2
3
  import { resolve } from "path";
3
4
  import micromatch from "micromatch";
5
+ import { getDefaultConfig } from "@react-native/metro-config";
6
+ import { findUserBabelConfig } from "@vxrn/compiler";
4
7
  import { projectImport, projectResolve } from "../utils/projectImport.native.js";
5
8
  import { getTerminalReporter } from "../utils/getTerminalReporter.native.js";
6
- import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
9
+
7
10
  var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
8
- var watchmanResponsivePromises = /* @__PURE__ */new Map();
11
+ var expoEnvAdditionalExts = [
12
+ "env",
13
+ "local",
14
+ "development"
15
+ ];
16
+ var metroSourceExts = [
17
+ "js",
18
+ "jsx",
19
+ "json",
20
+ "ts",
21
+ "tsx",
22
+ "mjs",
23
+ "cjs",
24
+ "swift",
25
+ "kt"
26
+ ];
27
+ var watchmanResponsivePromises = /* @__PURE__ */ new Map();
9
28
  var didWarnAboutWatchmanFallback = false;
10
29
  var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
11
- var metroWatchExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/, /[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/];
30
+ var expoVirtualEntryBundleRequestPattern = /^(https?:\/\/[^/]+)?\/\.expo\/\.virtual-metro-entry\.bundle(?=$|[?#])/;
31
+ var metroWatchExclusions = [
32
+ /^(?!.*[/\\]node_modules[/\\]).*[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
33
+ /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
34
+ /[/\\]\.docker(?:[/\\]|$)/,
35
+ /[/\\]\.vite(?:[/\\]|$)/,
36
+ /[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/
37
+ ];
38
+ function enforceWorkspaceVisibility(config, projectRoot) {
39
+ var _config_watchFolders, _ref;
40
+ var _config_resolver;
41
+ var workspaceRoot = searchForWorkspaceRoot(projectRoot);
42
+ if (workspaceRoot === projectRoot) return config;
43
+ return {
44
+ ...config,
45
+ watchFolders: [.../* @__PURE__ */ new Set([...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [], workspaceRoot])],
46
+ resolver: {
47
+ ...config.resolver,
48
+ nodeModulesPaths: [.../* @__PURE__ */ new Set([
49
+ ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],
50
+ resolve(projectRoot, "node_modules"),
51
+ resolve(workspaceRoot, "node_modules")
52
+ ])]
53
+ }
54
+ };
55
+ }
56
+ function getReactNativeDefaultConfig(projectRoot) {
57
+ var _ref;
58
+ var _config_resolver;
59
+ var config = enforceWorkspaceVisibility(getDefaultConfig(projectRoot), projectRoot);
60
+ return {
61
+ ...config,
62
+ resolver: {
63
+ ...config.resolver,
64
+ assetExts: [.../* @__PURE__ */ new Set([...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [], "glb"])]
65
+ }
66
+ };
67
+ }
12
68
  function getPlatformFromBundleUrl(url) {
13
- var _url_match;
14
- var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
15
- return platform === "android" ? "android" : "ios";
69
+ var _url_match;
70
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
71
+ return platform === "android" ? "android" : "ios";
16
72
  }
17
73
  function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
18
- var resolvedMainModulePath = resolveMainModuleName({
19
- platform: getPlatformFromBundleUrl(url)
20
- });
21
- if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
22
- return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
23
- }
24
- return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
74
+ var resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
75
+ if (rootIndexBundleRequestPattern.test(url)) {
76
+ return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
77
+ }
78
+ return url.replace(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
79
+ }
80
+ function isMainModuleBundleRequest(url) {
81
+ return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);
82
+ }
83
+ function isBareSpecifier(name) {
84
+ return name !== "" && !name.startsWith(".") && !name.startsWith("/");
85
+ }
86
+ function bareMainModuleForRequest(moduleName, mainModuleName) {
87
+ if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;
88
+ if (moduleName === `./${mainModuleName}`) return mainModuleName;
89
+ return void 0;
90
+ }
91
+ function enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {
92
+ var _config_resolver;
93
+ var dedupedPackages = new Set(dedupe);
94
+ if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {
95
+ return config;
96
+ }
97
+ var rootOrigin = resolve(projectRoot, "package.json");
98
+ var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;
99
+ return {
100
+ ...config,
101
+ resolver: {
102
+ ...config.resolver,
103
+ resolveRequest: function(context, moduleName, platform) {
104
+ var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);
105
+ var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;
106
+ var packageEnd = request.indexOf("/", request.startsWith("@") ? request.indexOf("/") + 1 : 0);
107
+ var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);
108
+ var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {
109
+ ...context,
110
+ originModulePath: rootOrigin
111
+ } : context;
112
+ var resolveRequest = innerResolveRequest || context.resolveRequest;
113
+ return resolveRequest(resolutionContext, request, platform);
114
+ }
115
+ }
116
+ };
25
117
  }
26
118
  async function isWatchmanResponsive(projectRoot) {
27
- var probe = watchmanResponsivePromises.get(projectRoot);
28
- if (probe) {
29
- return probe;
30
- }
31
- probe = new Promise(function (resolve2) {
32
- var settled = false;
33
- var finish = function (value) {
34
- if (settled) return;
35
- settled = true;
36
- clearTimeout(timeout);
37
- resolve2(value);
38
- };
39
- var child = spawn("watchman", ["watch-project", projectRoot], {
40
- stdio: "ignore"
41
- });
42
- var timeout = setTimeout(function () {
43
- child.kill();
44
- finish(false);
45
- }, WATCHMAN_PROBE_TIMEOUT_MS);
46
- child.once("error", function () {
47
- finish(false);
48
- });
49
- child.once("exit", function (code) {
50
- finish(code === 0);
51
- });
52
- });
53
- watchmanResponsivePromises.set(projectRoot, probe);
54
- return probe;
119
+ var probe = watchmanResponsivePromises.get(projectRoot);
120
+ if (probe) {
121
+ return probe;
122
+ }
123
+ probe = new Promise(function(resolve2) {
124
+ var settled = false;
125
+ var finish = function(value) {
126
+ if (settled) return;
127
+ settled = true;
128
+ clearTimeout(timeout);
129
+ resolve2(value);
130
+ };
131
+ var child = spawn("watchman", ["watch-project", projectRoot], { stdio: "ignore" });
132
+ var timeout = setTimeout(function() {
133
+ child.kill();
134
+ finish(false);
135
+ }, WATCHMAN_PROBE_TIMEOUT_MS);
136
+ child.once("error", function() {
137
+ finish(false);
138
+ });
139
+ child.once("exit", function(code) {
140
+ finish(code === 0);
141
+ });
142
+ });
143
+ watchmanResponsivePromises.set(projectRoot, probe);
144
+ return probe;
145
+ }
146
+ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
147
+ var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;
148
+ var hasUserBabelConfig = Boolean(userBabelConfigPath);
149
+ 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;
150
+ if (userBabelConfigPath && isNativeTransforms) {
151
+ 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.`);
152
+ }
153
+ return {
154
+ isNativeTransforms,
155
+ userBabelConfigPath
156
+ };
55
157
  }
56
158
  async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
57
- var _ref;
58
- var _metroPluginOptions_argv, _defaultConfig_resolver;
59
- var extraConfig = {};
60
- var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
61
- var {
62
- mainModuleName,
63
- defaultConfigOverrides,
64
- watchman,
65
- excludeModules
66
- } = metroPluginOptions;
67
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
68
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
69
- didWarnAboutWatchmanFallback = true;
70
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
71
- }
72
- var {
73
- getDefaultConfig
74
- } = await projectImport(projectRoot, "@expo/metro-config");
75
- var _defaultConfig = getDefaultConfig(projectRoot);
76
- if (mainModuleName) {
77
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
78
- var resolveMainModuleName = await async function () {
79
- var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
80
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
81
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
82
- return function (p) {
83
- return manifestHandlerMiddleware.resolveMainModuleName({
84
- pkg: {
85
- main: mainModuleName
86
- },
87
- platform: p.platform
88
- });
89
- };
90
- }();
91
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
92
- _defaultConfig.server.rewriteRequestUrl = function (url) {
93
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
94
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
95
- }
96
- return origRewriteRequestUrl(url);
97
- };
98
- }
99
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
100
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...metroWatchExclusions];
101
- var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === "0" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === "1" || metroPluginOptions.nativeTransforms !== false;
102
- var nativeWorkerPath;
103
- if (isNativeTransforms) {
104
- nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
105
- }
106
- var defaultConfig = {
107
- ..._defaultConfig,
108
- resolver: {
109
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
110
- useWatchman,
111
- blockList,
112
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
113
- // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.
114
- resolveRequest: function (context, moduleName, platform) {
115
- var _defaultConfig_resolver2;
116
- 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;
117
- if (excludeModules && excludeModules.length > 0) {
118
- if (micromatch.isMatch(moduleName, excludeModules)) {
119
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
120
- }
121
- }
122
- if (moduleName.startsWith("@babel/runtime")) {
123
- var contextOverride = {
124
- ...context,
125
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
126
- return c !== "import";
127
- })
128
- };
129
- return origResolveRequestFn(contextOverride, moduleName, platform);
130
- }
131
- return origResolveRequestFn(context, moduleName, platform);
132
- }
133
- },
134
- transformer: {
135
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
136
- babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
137
- },
138
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
139
- // nesting it under transformer silently leaves metro on its default worker.
140
- ...(nativeWorkerPath ? {
141
- transformerPath: nativeWorkerPath
142
- } : {}),
143
- reporter: await getTerminalReporter(projectRoot)
144
- };
145
- var merged = {
146
- ...defaultConfig,
147
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
148
- };
149
- return {
150
- defaultConfig: merged,
151
- projectRoot,
152
- extraConfig
153
- };
159
+ var _ref, _ref1, _ref2;
160
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
161
+ var extraConfig = {};
162
+ var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
163
+ var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
164
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
165
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
166
+ didWarnAboutWatchmanFallback = true;
167
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
168
+ }
169
+ var _defaultConfig = getReactNativeDefaultConfig(projectRoot);
170
+ if (mainModuleName) {
171
+ var _defaultConfig_server;
172
+ var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
173
+ var resolveMainModuleName = function() {
174
+ return mainModuleName;
175
+ };
176
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
177
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
178
+ var _ref3;
179
+ if (isMainModuleBundleRequest(url)) {
180
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
181
+ }
182
+ return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
183
+ };
184
+ }
185
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
186
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
187
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
188
+ var nativeWorkerPath;
189
+ if (isNativeTransforms) {
190
+ nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
191
+ }
192
+ var defaultConfig = {
193
+ ..._defaultConfig,
194
+ watcher: {
195
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,
196
+ 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])]
197
+ },
198
+ resolver: {
199
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
200
+ useWatchman,
201
+ blockList,
202
+ sourceExts: metroSourceExts,
203
+ resolveRequest: function(context, moduleName, platform) {
204
+ var _defaultConfig_resolver2;
205
+ 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;
206
+ if (excludeModules && excludeModules.length > 0) {
207
+ if (micromatch.isMatch(moduleName, excludeModules)) {
208
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
209
+ }
210
+ }
211
+ if (moduleName.startsWith("@babel/runtime")) {
212
+ var contextOverride = {
213
+ ...context,
214
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
215
+ return c !== "import";
216
+ })
217
+ };
218
+ return origResolveRequestFn(contextOverride, moduleName, platform);
219
+ }
220
+ return origResolveRequestFn(context, moduleName, platform);
221
+ }
222
+ },
223
+ transformer: {
224
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
225
+ unstable_allowRequireContext: true,
226
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
227
+ },
228
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
229
+ reporter: await getTerminalReporter(projectRoot)
230
+ };
231
+ var merged = {
232
+ ...defaultConfig,
233
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
234
+ };
235
+ return {
236
+ defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
237
+ projectRoot,
238
+ extraConfig
239
+ };
154
240
  }
155
241
  async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
156
- var _ref;
157
- var _metroPluginOptions_argv, _defaultConfig_resolver;
158
- var extraConfig = {};
159
- var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
160
- var {
161
- mainModuleName,
162
- argv,
163
- defaultConfigOverrides,
164
- watchman,
165
- excludeModules
166
- } = metroPluginOptions;
167
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
168
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
169
- didWarnAboutWatchmanFallback = true;
170
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
171
- }
172
- var {
173
- loadConfig
174
- } = await projectImport(projectRoot, "metro");
175
- var {
176
- getDefaultConfig
177
- } = await projectImport(projectRoot, "@expo/metro-config");
178
- var _defaultConfig = getDefaultConfig(projectRoot);
179
- if (mainModuleName) {
180
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
181
- var resolveMainModuleName = await async function () {
182
- var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
183
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
184
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
185
- return function (p) {
186
- return manifestHandlerMiddleware.resolveMainModuleName({
187
- pkg: {
188
- main: mainModuleName
189
- },
190
- platform: p.platform
191
- });
192
- };
193
- }();
194
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
195
- _defaultConfig.server.rewriteRequestUrl = function (url) {
196
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
197
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
198
- }
199
- return origRewriteRequestUrl(url);
200
- };
201
- }
202
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
203
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...metroWatchExclusions];
204
- var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === "0" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === "1" || metroPluginOptions.nativeTransforms !== false;
205
- var nativeWorkerPath;
206
- if (isNativeTransforms) {
207
- nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
208
- }
209
- var defaultConfig = {
210
- ..._defaultConfig,
211
- resolver: {
212
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
213
- useWatchman,
214
- blockList,
215
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
216
- // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
217
- resolveRequest: function (context, moduleName, platform) {
218
- var _defaultConfig_resolver2;
219
- 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;
220
- if (excludeModules && excludeModules.length > 0) {
221
- if (micromatch.isMatch(moduleName, excludeModules)) {
222
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
223
- }
224
- }
225
- if (moduleName.startsWith("@babel/runtime")) {
226
- var contextOverride = {
227
- ...context,
228
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
229
- return c !== "import";
230
- })
231
- };
232
- return origResolveRequestFn(contextOverride, moduleName, platform);
233
- }
234
- return origResolveRequestFn(context, moduleName, platform);
235
- }
236
- },
237
- transformer: {
238
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
239
- babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
240
- },
241
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
242
- // nesting it under transformer silently leaves metro on its default worker.
243
- ...(nativeWorkerPath ? {
244
- transformerPath: nativeWorkerPath
245
- } : {}),
246
- reporter: await getTerminalReporter(projectRoot)
247
- };
248
- var metroConfig = await loadConfig({
249
- cwd: projectRoot,
250
- projectRoot,
251
- "reset-cache": !!process.env.METRO_RESET_CACHE,
252
- ...argv
253
- }, {
254
- ...defaultConfig,
255
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
256
- });
257
- return {
258
- ...metroConfig,
259
- ...extraConfig
260
- };
242
+ var _ref, _ref1, _ref2;
243
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
244
+ var extraConfig = {};
245
+ var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
246
+ var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
247
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
248
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
249
+ didWarnAboutWatchmanFallback = true;
250
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
251
+ }
252
+ var { loadConfig } = await projectImport(projectRoot, "metro");
253
+ var _defaultConfig = getReactNativeDefaultConfig(projectRoot);
254
+ if (mainModuleName) {
255
+ var _defaultConfig_server;
256
+ var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;
257
+ var resolveMainModuleName = function() {
258
+ return mainModuleName;
259
+ };
260
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
261
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
262
+ var _ref3;
263
+ if (isMainModuleBundleRequest(url)) {
264
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
265
+ }
266
+ return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
267
+ };
268
+ }
269
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
270
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
271
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
272
+ var nativeWorkerPath;
273
+ if (isNativeTransforms) {
274
+ nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
275
+ }
276
+ var defaultConfig = {
277
+ ..._defaultConfig,
278
+ watcher: {
279
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,
280
+ 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])]
281
+ },
282
+ resolver: {
283
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
284
+ useWatchman,
285
+ blockList,
286
+ sourceExts: metroSourceExts,
287
+ resolveRequest: function(context, moduleName, platform) {
288
+ var _defaultConfig_resolver2;
289
+ 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;
290
+ if (excludeModules && excludeModules.length > 0) {
291
+ if (micromatch.isMatch(moduleName, excludeModules)) {
292
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
293
+ }
294
+ }
295
+ if (moduleName.startsWith("@babel/runtime")) {
296
+ var contextOverride = {
297
+ ...context,
298
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
299
+ return c !== "import";
300
+ })
301
+ };
302
+ return origResolveRequestFn(contextOverride, moduleName, platform);
303
+ }
304
+ return origResolveRequestFn(context, moduleName, platform);
305
+ }
306
+ },
307
+ transformer: {
308
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
309
+ unstable_allowRequireContext: true,
310
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
311
+ },
312
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
313
+ reporter: await getTerminalReporter(projectRoot)
314
+ };
315
+ var metroConfig = await loadConfig({
316
+ cwd: projectRoot,
317
+ projectRoot,
318
+ "reset-cache": !!process.env.METRO_RESET_CACHE,
319
+ ...argv
320
+ }, {
321
+ ...defaultConfig,
322
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
323
+ });
324
+ return {
325
+ ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
326
+ ...extraConfig
327
+ };
261
328
  }
329
+
262
330
  export { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig };
263
331
  //# sourceMappingURL=getMetroConfigFromViteConfig.native.js.map