@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.45.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 (288) 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 +55 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +93 -0
  7. package/dist/cjs/env/platformEnv.native.js +72 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +22 -24
  10. package/dist/cjs/index.native.cjs +41 -0
  11. package/dist/cjs/index.native.js +22 -23
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +48 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +101 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +88 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +246 -271
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +257 -281
  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/expoManifestRequestHandlerPlugin.cjs +44 -56
  30. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +62 -0
  31. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +45 -63
  32. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  33. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  34. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  35. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  36. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  38. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  39. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  40. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  42. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  43. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  44. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  46. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  48. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  50. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  51. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  52. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  54. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  55. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  56. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  62. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  64. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  66. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  67. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  68. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  70. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  71. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  72. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  74. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  75. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  76. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  78. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  79. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  80. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  81. package/dist/cjs/rn-commands/index.cjs +17 -26
  82. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  83. package/dist/cjs/rn-commands/index.native.js +17 -25
  84. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-core.cjs +16 -18
  86. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  87. package/dist/cjs/transformer/babel-core.native.js +16 -17
  88. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  89. package/dist/cjs/transformer/babel-transformer.cjs +101 -152
  90. package/dist/cjs/transformer/babel-transformer.native.cjs +131 -0
  91. package/dist/cjs/transformer/babel-transformer.native.js +106 -159
  92. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  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 +1442 -1480
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2536 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2416 -2552
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +47 -63
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +49 -64
  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/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +24 -28
  122. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +37 -0
  123. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +24 -27
  124. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  125. package/dist/cjs/utils/projectImport.cjs +40 -51
  126. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  127. package/dist/cjs/utils/projectImport.native.js +41 -58
  128. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  129. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  130. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  131. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  132. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  133. package/dist/esm/env/platformEnv.mjs +40 -39
  134. package/dist/esm/env/platformEnv.mjs.map +1 -1
  135. package/dist/esm/env/platformEnv.native.js +57 -58
  136. package/dist/esm/env/platformEnv.native.js.map +1 -1
  137. package/dist/esm/index.js +3 -3
  138. package/dist/esm/index.mjs +3 -3
  139. package/dist/esm/index.native.js +3 -3
  140. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +35 -33
  141. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +75 -77
  143. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +230 -246
  145. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  146. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +241 -257
  147. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  148. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  149. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  150. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  151. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  152. package/dist/esm/metro-config/types.mjs +0 -2
  153. package/dist/esm/metro-config/types.native.js +0 -2
  154. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +32 -38
  155. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  156. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +33 -46
  157. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  158. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  159. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  160. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  161. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  163. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  165. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  167. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  169. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  171. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  173. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  175. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  177. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  179. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  181. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  183. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  185. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  187. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  188. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  189. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  190. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  191. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  192. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  193. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  194. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  195. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  196. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  197. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  198. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  199. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  200. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  201. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  202. package/dist/esm/rn-commands/index.mjs +2 -2
  203. package/dist/esm/rn-commands/index.native.js +2 -2
  204. package/dist/esm/transformer/babel-core.mjs +2 -2
  205. package/dist/esm/transformer/babel-core.native.js +2 -2
  206. package/dist/esm/transformer/babel-transformer.mjs +108 -144
  207. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  208. package/dist/esm/transformer/babel-transformer.native.js +114 -155
  209. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  210. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  211. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  212. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  213. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  214. package/dist/esm/transformer/metroNativeWorker.mjs +1405 -1434
  215. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  216. package/dist/esm/transformer/metroNativeWorker.native.js +2379 -2507
  217. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  218. package/dist/esm/transformer/transformSync.mjs +32 -37
  219. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  220. package/dist/esm/transformer/transformSync.native.js +34 -39
  221. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  222. package/dist/esm/transformer/types.mjs +0 -2
  223. package/dist/esm/transformer/types.native.js +0 -2
  224. package/dist/esm/utils/exit.mjs +123 -112
  225. package/dist/esm/utils/exit.mjs.map +1 -1
  226. package/dist/esm/utils/exit.native.js +210 -215
  227. package/dist/esm/utils/exit.native.js.map +1 -1
  228. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  229. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  230. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  231. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  232. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  233. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  234. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  235. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  236. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +11 -10
  237. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
  238. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +11 -10
  239. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  240. package/dist/esm/utils/projectImport.mjs +23 -25
  241. package/dist/esm/utils/projectImport.mjs.map +1 -1
  242. package/dist/esm/utils/projectImport.native.js +24 -33
  243. package/dist/esm/utils/projectImport.native.js.map +1 -1
  244. package/package.json +5 -6
  245. package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
  246. package/src/transformer/metroNativeWorker.test.ts +110 -49
  247. package/src/transformer/metroNativeWorker.ts +3 -11
  248. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  249. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  250. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  251. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  252. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  253. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  254. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  255. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  256. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  257. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  258. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  259. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  260. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  261. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  262. package/dist/esm/index.js.map +0 -1
  263. package/dist/esm/index.mjs.map +0 -1
  264. package/dist/esm/index.native.js.map +0 -1
  265. package/dist/esm/metro-config/types.mjs.map +0 -1
  266. package/dist/esm/metro-config/types.native.js.map +0 -1
  267. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  268. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  269. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  270. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  271. package/dist/esm/rn-commands/index.mjs.map +0 -1
  272. package/dist/esm/rn-commands/index.native.js.map +0 -1
  273. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  274. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  275. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  276. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  277. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  278. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  279. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  280. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  281. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  282. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  283. package/dist/esm/transformer/types.mjs.map +0 -1
  284. package/dist/esm/transformer/types.native.js.map +0 -1
  285. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  286. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  287. package/types/transformer/transformSync.test.d.ts +0 -2
  288. package/types/transformer/transformSync.test.d.ts.map +0 -1
@@ -5,277 +5,261 @@ import { findUserBabelConfig } from "@vxrn/compiler";
5
5
  import { projectImport, projectResolve } from "../utils/projectImport.native.js";
6
6
  import { getTerminalReporter } from "../utils/getTerminalReporter.native.js";
7
7
  import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
8
+
8
9
  var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
9
- var watchmanResponsivePromises = /* @__PURE__ */new Map();
10
+ var watchmanResponsivePromises = /* @__PURE__ */ new Map();
10
11
  var didWarnAboutWatchmanFallback = false;
11
12
  var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
13
+ var metroWatchExclusions = [
14
+ /[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
15
+ /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
16
+ /[/\\]\.docker(?:[/\\]|$)/,
17
+ /[/\\]\.vite(?:[/\\]|$)/,
18
+ /[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/
19
+ ];
12
20
  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";
21
+ var _url_match;
22
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
23
+ return platform === "android" ? "android" : "ios";
16
24
  }
17
25
  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`);
26
+ var resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
27
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
28
+ return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
29
+ }
30
+ return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
25
31
  }
26
32
  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;
33
+ var probe = watchmanResponsivePromises.get(projectRoot);
34
+ if (probe) {
35
+ return probe;
36
+ }
37
+ probe = new Promise(function(resolve2) {
38
+ var settled = false;
39
+ var finish = function(value) {
40
+ if (settled) return;
41
+ settled = true;
42
+ clearTimeout(timeout);
43
+ resolve2(value);
44
+ };
45
+ var child = spawn("watchman", ["watch-project", projectRoot], { stdio: "ignore" });
46
+ var timeout = setTimeout(function() {
47
+ child.kill();
48
+ finish(false);
49
+ }, WATCHMAN_PROBE_TIMEOUT_MS);
50
+ child.once("error", function() {
51
+ finish(false);
52
+ });
53
+ child.once("exit", function(code) {
54
+ finish(code === 0);
55
+ });
56
+ });
57
+ watchmanResponsivePromises.set(projectRoot, probe);
58
+ return probe;
55
59
  }
56
60
  function resolveNativeTransforms(projectRoot, metroPluginOptions) {
57
- var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;
58
- var hasUserBabelConfig = Boolean(userBabelConfigPath);
59
- 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;
60
- if (userBabelConfigPath && isNativeTransforms) {
61
- 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.`);
62
- }
63
- return {
64
- isNativeTransforms,
65
- userBabelConfigPath
66
- };
61
+ var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;
62
+ var hasUserBabelConfig = Boolean(userBabelConfigPath);
63
+ 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;
64
+ if (userBabelConfigPath && isNativeTransforms) {
65
+ 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.`);
66
+ }
67
+ return {
68
+ isNativeTransforms,
69
+ userBabelConfigPath
70
+ };
67
71
  }
68
72
  async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
69
- var _ref;
70
- var _metroPluginOptions_argv, _defaultConfig_resolver;
71
- var extraConfig = {};
72
- 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);
73
- var {
74
- mainModuleName,
75
- defaultConfigOverrides,
76
- watchman,
77
- excludeModules
78
- } = metroPluginOptions;
79
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
80
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
81
- didWarnAboutWatchmanFallback = true;
82
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
83
- }
84
- var {
85
- getDefaultConfig
86
- } = await projectImport(projectRoot, "@expo/metro-config");
87
- var _defaultConfig = getDefaultConfig(projectRoot);
88
- if (mainModuleName) {
89
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
90
- var resolveMainModuleName = await async function () {
91
- var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
92
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
93
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
94
- return function (p) {
95
- return manifestHandlerMiddleware.resolveMainModuleName({
96
- pkg: {
97
- main: mainModuleName
98
- },
99
- platform: p.platform
100
- });
101
- };
102
- }();
103
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
104
- _defaultConfig.server.rewriteRequestUrl = function (url) {
105
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
106
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
107
- }
108
- return origRewriteRequestUrl(url);
109
- };
110
- }
111
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
112
- var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
113
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
114
- var {
115
- isNativeTransforms
116
- } = resolveNativeTransforms(projectRoot, metroPluginOptions);
117
- var nativeWorkerPath;
118
- if (isNativeTransforms) {
119
- nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
120
- }
121
- var defaultConfig = {
122
- ..._defaultConfig,
123
- resolver: {
124
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
125
- useWatchman,
126
- blockList,
127
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
128
- // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.
129
- resolveRequest: function (context, moduleName, platform) {
130
- var _defaultConfig_resolver2;
131
- 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;
132
- if (excludeModules && excludeModules.length > 0) {
133
- if (micromatch.isMatch(moduleName, excludeModules)) {
134
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
135
- }
136
- }
137
- if (moduleName.startsWith("@babel/runtime")) {
138
- var contextOverride = {
139
- ...context,
140
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
141
- return c !== "import";
142
- })
143
- };
144
- return origResolveRequestFn(contextOverride, moduleName, platform);
145
- }
146
- return origResolveRequestFn(context, moduleName, platform);
147
- }
148
- },
149
- transformer: {
150
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
151
- babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
152
- },
153
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
154
- // nesting it under transformer silently leaves metro on its default worker.
155
- ...(nativeWorkerPath ? {
156
- transformerPath: nativeWorkerPath
157
- } : {}),
158
- reporter: await getTerminalReporter(projectRoot)
159
- };
160
- var merged = {
161
- ...defaultConfig,
162
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
163
- };
164
- return {
165
- defaultConfig: merged,
166
- projectRoot,
167
- extraConfig
168
- };
73
+ var _ref;
74
+ var _metroPluginOptions_argv, _defaultConfig_resolver;
75
+ var extraConfig = {};
76
+ 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);
77
+ var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
78
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
79
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
80
+ didWarnAboutWatchmanFallback = true;
81
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
82
+ }
83
+ var { getDefaultConfig } = await projectImport(projectRoot, "@expo/metro-config");
84
+ var _defaultConfig = getDefaultConfig(projectRoot);
85
+ if (mainModuleName) {
86
+ var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
87
+ var resolveMainModuleName = await (async function() {
88
+ var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
89
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
90
+ patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
91
+ return function(p) {
92
+ return manifestHandlerMiddleware.resolveMainModuleName({
93
+ pkg: { main: mainModuleName },
94
+ platform: p.platform
95
+ });
96
+ };
97
+ })();
98
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
99
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
100
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
101
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
102
+ }
103
+ return origRewriteRequestUrl(url);
104
+ };
105
+ }
106
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
107
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
108
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
109
+ var nativeWorkerPath;
110
+ if (isNativeTransforms) {
111
+ nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
112
+ }
113
+ var defaultConfig = {
114
+ ..._defaultConfig,
115
+ resolver: {
116
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
117
+ useWatchman,
118
+ blockList,
119
+ sourceExts: [
120
+ "js",
121
+ "jsx",
122
+ "json",
123
+ "ts",
124
+ "tsx",
125
+ "mjs",
126
+ "cjs"
127
+ ],
128
+ resolveRequest: function(context, moduleName, platform) {
129
+ var _defaultConfig_resolver2;
130
+ 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;
131
+ if (excludeModules && excludeModules.length > 0) {
132
+ if (micromatch.isMatch(moduleName, excludeModules)) {
133
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
134
+ }
135
+ }
136
+ if (moduleName.startsWith("@babel/runtime")) {
137
+ var contextOverride = {
138
+ ...context,
139
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
140
+ return c !== "import";
141
+ })
142
+ };
143
+ return origResolveRequestFn(contextOverride, moduleName, platform);
144
+ }
145
+ return origResolveRequestFn(context, moduleName, platform);
146
+ }
147
+ },
148
+ transformer: {
149
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
150
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
151
+ },
152
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
153
+ reporter: await getTerminalReporter(projectRoot)
154
+ };
155
+ var merged = {
156
+ ...defaultConfig,
157
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
158
+ };
159
+ return {
160
+ defaultConfig: merged,
161
+ projectRoot,
162
+ extraConfig
163
+ };
169
164
  }
170
165
  async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
171
- var _ref;
172
- var _metroPluginOptions_argv, _defaultConfig_resolver;
173
- var extraConfig = {};
174
- 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);
175
- var {
176
- mainModuleName,
177
- argv,
178
- defaultConfigOverrides,
179
- watchman,
180
- excludeModules
181
- } = metroPluginOptions;
182
- var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
183
- if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
184
- didWarnAboutWatchmanFallback = true;
185
- console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
186
- }
187
- var {
188
- loadConfig
189
- } = await projectImport(projectRoot, "metro");
190
- var {
191
- getDefaultConfig
192
- } = await projectImport(projectRoot, "@expo/metro-config");
193
- var _defaultConfig = getDefaultConfig(projectRoot);
194
- if (mainModuleName) {
195
- var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
196
- var resolveMainModuleName = await async function () {
197
- var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
198
- var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
199
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
200
- return function (p) {
201
- return manifestHandlerMiddleware.resolveMainModuleName({
202
- pkg: {
203
- main: mainModuleName
204
- },
205
- platform: p.platform
206
- });
207
- };
208
- }();
209
- extraConfig.getResolveMainModuleName = resolveMainModuleName;
210
- _defaultConfig.server.rewriteRequestUrl = function (url) {
211
- if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
212
- return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
213
- }
214
- return origRewriteRequestUrl(url);
215
- };
216
- }
217
- var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
218
- var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
219
- var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
220
- var {
221
- isNativeTransforms
222
- } = resolveNativeTransforms(projectRoot, metroPluginOptions);
223
- var nativeWorkerPath;
224
- if (isNativeTransforms) {
225
- nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
226
- }
227
- var defaultConfig = {
228
- ..._defaultConfig,
229
- resolver: {
230
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
231
- useWatchman,
232
- blockList,
233
- sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
234
- // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
235
- resolveRequest: function (context, moduleName, platform) {
236
- var _defaultConfig_resolver2;
237
- 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;
238
- if (excludeModules && excludeModules.length > 0) {
239
- if (micromatch.isMatch(moduleName, excludeModules)) {
240
- return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
241
- }
242
- }
243
- if (moduleName.startsWith("@babel/runtime")) {
244
- var contextOverride = {
245
- ...context,
246
- unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
247
- return c !== "import";
248
- })
249
- };
250
- return origResolveRequestFn(contextOverride, moduleName, platform);
251
- }
252
- return origResolveRequestFn(context, moduleName, platform);
253
- }
254
- },
255
- transformer: {
256
- ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
257
- babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
258
- },
259
- // transformerPath is a TOP-LEVEL metro config key, not a transformer option.
260
- // nesting it under transformer silently leaves metro on its default worker.
261
- ...(nativeWorkerPath ? {
262
- transformerPath: nativeWorkerPath
263
- } : {}),
264
- reporter: await getTerminalReporter(projectRoot)
265
- };
266
- var metroConfig = await loadConfig({
267
- cwd: projectRoot,
268
- projectRoot,
269
- "reset-cache": !!process.env.METRO_RESET_CACHE,
270
- ...argv
271
- }, {
272
- ...defaultConfig,
273
- ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
274
- });
275
- return {
276
- ...metroConfig,
277
- ...extraConfig
278
- };
166
+ var _ref;
167
+ var _metroPluginOptions_argv, _defaultConfig_resolver;
168
+ var extraConfig = {};
169
+ 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);
170
+ var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
171
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
172
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
173
+ didWarnAboutWatchmanFallback = true;
174
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
175
+ }
176
+ var { loadConfig } = await projectImport(projectRoot, "metro");
177
+ var { getDefaultConfig } = 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: { main: mainModuleName },
188
+ platform: p.platform
189
+ });
190
+ };
191
+ })();
192
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
193
+ _defaultConfig.server.rewriteRequestUrl = function(url) {
194
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
195
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
196
+ }
197
+ return origRewriteRequestUrl(url);
198
+ };
199
+ }
200
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
201
+ var blockList = [...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : [], ...metroWatchExclusions];
202
+ var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);
203
+ var nativeWorkerPath;
204
+ if (isNativeTransforms) {
205
+ nativeWorkerPath = projectResolve(projectRoot, "@vxrn/vite-plugin-metro/transformer/metroNativeWorker");
206
+ }
207
+ var defaultConfig = {
208
+ ..._defaultConfig,
209
+ resolver: {
210
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
211
+ useWatchman,
212
+ blockList,
213
+ sourceExts: [
214
+ "js",
215
+ "jsx",
216
+ "json",
217
+ "ts",
218
+ "tsx",
219
+ "mjs",
220
+ "cjs"
221
+ ],
222
+ resolveRequest: function(context, moduleName, platform) {
223
+ var _defaultConfig_resolver2;
224
+ 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;
225
+ if (excludeModules && excludeModules.length > 0) {
226
+ if (micromatch.isMatch(moduleName, excludeModules)) {
227
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
228
+ }
229
+ }
230
+ if (moduleName.startsWith("@babel/runtime")) {
231
+ var contextOverride = {
232
+ ...context,
233
+ unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {
234
+ return c !== "import";
235
+ })
236
+ };
237
+ return origResolveRequestFn(contextOverride, moduleName, platform);
238
+ }
239
+ return origResolveRequestFn(context, moduleName, platform);
240
+ }
241
+ },
242
+ transformer: {
243
+ ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,
244
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
245
+ },
246
+ ...nativeWorkerPath ? { transformerPath: nativeWorkerPath } : {},
247
+ reporter: await getTerminalReporter(projectRoot)
248
+ };
249
+ var metroConfig = await loadConfig({
250
+ cwd: projectRoot,
251
+ projectRoot,
252
+ "reset-cache": !!process.env.METRO_RESET_CACHE,
253
+ ...argv
254
+ }, {
255
+ ...defaultConfig,
256
+ ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
257
+ });
258
+ return {
259
+ ...metroConfig,
260
+ ...extraConfig
261
+ };
279
262
  }
263
+
280
264
  export { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig };
281
265
  //# sourceMappingURL=getMetroConfigFromViteConfig.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["spawn","resolve","micromatch","findUserBabelConfig","projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","rootIndexBundleRequestPattern","getPlatformFromBundleUrl","url","_url_match","platform","match","rewriteMainModuleBundleUrl","resolveMainModuleName","resolvedMainModulePath","includes","replace","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","value","timeout","child","stdio","setTimeout","kill","once","code","set","resolveNativeTransforms","metroPluginOptions","userBabelConfigPath","hasUserBabelConfig","Boolean","isNativeTransforms","process","env","ONE_METRO_NATIVE_TRANSFORMS","nativeTransforms","console","warn","buildMetroConfigInputFromViteConfig","config","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","getResolveMainModuleName","test","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","nativeWorkerPath","defaultConfig","sourceExts","resolveRequest","context","moduleName","_defaultConfig_resolver2","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","transformerPath","reporter","merged","getMetroConfigFromViteConfig","loadConfig","metroConfig","cwd","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,KAAA,QAAa;AACtB,SAASC,OAAA,QAAe;AACxB,OAAOC,UAAA,MAAgB;AAQvB,SAASC,mBAAA,QAA2B;AACpC,SAASC,aAAA,EAAeC,cAAA,QAAsB;AAC9C,SAASC,mBAAA,QAA2B;AACpC,SAASC,4DAAA,QAAoE;AAM7E,IAAAC,yBAAM,MAA4B;AAClC,IAAAC,0BAAM,kBAA6B,IAAAC,GAAI;AACvC,IAAIC,4BAAA,GAA+B;AACnC,IAAAC,6BAAM,kDAAgC;AAEtC,SAASC,yBAAyBC,GAAA,EAAgC;EAChE,IAAAC,UAAM;EACN,IAAAC,QAAO,IAAAD,UAAa,GAAAD,GAAY,CAAAG,KAAA,oCAAY,eAAAF,UAAA,uBAAAA,UAAA;EAC9C,OAAAC,QAAA;AAEA;AAIE,SAAME,0BAAyBA,CAAAJ,GAAA,EAAAK,qBAAsB;EAAA,IACnDC,sBAAU,GAAAD,qBAA4B;IACvCH,QAAA,EAAAH,wBAAA,CAAAC,GAAA;EAED;EACE,IAAAA,GAAA,CAAAO,QAAW,sCAAsC;IACnD,OAAAP,GAAA,CAAAQ,OAAA,+BAAAF,sBAAA;EAEA;EACF,OAAAN,GAAA,CAAAQ,OAAA,CAAAV,6BAAA,QAAAQ,sBAAA;AAEA;AACE,eAAYG,qBAAAC,WAA+B;EAC3C,IAAIC,KAAA,GAAOhB,0BAAA,CAAAiB,GAAA,CAAAF,WAAA;EACT,IAAAC,KAAO;IACT,OAAAA,KAAA;EAEA;EACEA,KAAA,GAAI,IAAAE,OAAU,WAAAC,QAAA;IAEd,IAAAC,OAAM,QAAU;IACd,IAAAC,MAAI,YAAAA,CAASC,KAAA;MACb,IAAAF,OAAU;MACVA,OAAA,OAAa;MACb5B,YAAQ,CAAA+B,OAAK;MACfJ,QAAA,CAAAG,KAAA;IAEA;IAAgE,IAC9DE,KAAO,GAAAjC,KAAA,cACR,iBAEDwB,WAAM,CACJ;MACAU,KAAA,EAAO;IACT;IAEA,IAAAF,OAAW,GAAAG,UAAS,aAAM;MACxBF,KAAA,CAAAG,IAAO,EAAK;MACbN,MAAA;IAED,GAAAtB,yBAAoB,CAAS;IAC3ByB,KAAA,CAAAI,IAAO,QAAS,EAAC;MAClBP,MAAA;IACF;IAEDG,KAAA,CAAAI,IAAA,mBAA2BC,IAAI;MAC/BR,MAAO,CAAAQ,IAAA;IACT;EAUA;EAIE7B,0BAAM,CAAA8B,GAAsB,CAAAf,WAAc,EAAAC,KAAA;EAC1C,OAAMA,KAAA;AAEN;AAgBA,SAAIe,uBAAuBA,CAAAhB,WAAA,EAAAiB,kBAAoB;EAC7C,IAAAC,mBAAQ,GAAAlB,WAAA,GAAArB,mBAAA,CAAAqB,WAAA;EAAA,IACNmB,kBAAA,GAAAC,OAAA,CAAAF,mBAA8C;EAAmB,IAEnEG,kBAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,2BAAA,mBAAAF,OAAA,CAAAC,GAAA,CAAAC,2BAAA,kBAAAP,kBAAA,CAAAQ,gBAAA,qBAAAR,kBAAA,CAAAQ,gBAAA,mBAAAN,kBAAA;EACF,IAAAD,mBAAA,IAAAG,kBAAA;IAEAK,OAAS,CAAAC,IAAA,+CAAwCT,mBAAA;EACnD;EAUA;IAIEG,kBAAiC;IACjCH;EACA;AAEA;AAEA,eAAIU,mCAA2CA,CAAAC,MAAA,EAAAZ,kBAA8B;EAC3E,IAAAa,IAAA;EACA,IAAAC,wBAAQ,EAAAC,uBAAA;EAAA,IACNC,WAAA;EAAA,IACFjC,WAAA,GAAAvB,OAAA,EAAAqD,IAAA,IAAAC,wBAAA,GAAAd,kBAAA,CAAAiB,IAAA,cAAAH,wBAAA,uBAAAA,wBAAA,CAAA/B,WAAA,cAAA8B,IAAA,cAAAA,IAAA,GAAAD,MAAA,CAAAM,IAAA;EACF;IAAAC,cAAA;IAAAC,sBAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAtB,kBAAA;EAEA,IAAAuB,WAAQ,GAAAF,QAAiB,KAAI,IAAM,IAAAA,QAAA,KAEhC,SAAAA,QAAa,SAAAvC,oBAAoB,CAAAC,WAAA;EAEpC,IAAAsC,QAAM,WAAmC,KAAAE,WAAA,IAAiB,CAAArD,4BAAW;IAErEA,4BAAoB;IAClBuC,OAAM,CAAAC,IAAA,4FAAgD;EAEtD;EAEI;IAAAc;EAAM,UAAA7D,aACJ,CAAAoB,WAAM;EAAA,IAAA0C,cACJ,GAAAD,gBAAA,CAAAzC,WAAA;EAAA,IAAAoC,cACA;IAAA,IACFO,qBACQ,GAAAD,cAAA,CAAAE,MAAA,CAAAC,iBAAA;IAEV,IAAAlD,qBAAM,2BAAgC;MAAA,IACpCmD,+BAAA,UAAAlE,aAAA,CAAAoB,WAAA,qFAAA+C,OAAA,CAAAD,+BAAA;MAAA,IACCE,yBAAA,OAAAF,+BAAA,CAAA9C,WAAA;MACHjB,4DAAA,CAAAiE,yBAAA,EAAAZ,cAAA;MAEA,iBAAAa,CAAA;QACE,OAAAD,yBAAA,CAAArD,qBAAA;UACAuD,GAAA;YACFC,IAAA,EAAAf;UAEA;UACE5C,QAAO,EAAAyD,CAAA,CAAAzD;QAAgD,EACrD;MAA4B;IAChB,GACd;IAACyC,WACH,CAAAmB,wBAAA,GAAAzD,qBAAA;IACF+C,cAAG,CAAAE,MAAA,CAAAC,iBAAA,aAAAvD,GAAA;MAEL,IAAAA,GAAA,CAAAO,QAAY,sCAA2B,KAAAT,6BAAA,CAAAiE,IAAA,CAAA/D,GAAA;QAGvC,OAAAI,0BAAwB,CAAAJ,GAAA,EAAqBK,qBAAQ;MACnD;MAIE,OAAAgD,qBAAO,CAAArD,GAAA;IAAqD;EAE9D;EAAgC,IAClCgE,iBAAA,GAAAZ,cAAA,aAAAA,cAAA,wBAAAV,uBAAA,GAAAU,cAAA,CAAAa,QAAA,cAAAvB,uBAAA,uBAAAA,uBAAA,CAAAwB,SAAA;EACF,IAAAC,qBAAA,IAEA,4CAA0C,EAC1C,4CAA8B,EAC5B,4BACA;EACA,IACAD,SAAA,IACF,IAAAF,iBAAA,GAAAI,KAAA,CAAAC,OAAA,CAAAL,iBAAA,IAAAA,iBAAA,IACAA,iBAA4B,CAC1B,GAAI,KAKJ,GAAGG,qBAAA,CACL;EAKA;IAAMpC;EAAE,IAAmBL,uBAAI,CAAAhB,WAAwB,EAAAiB,kBAAa;EAEpE,IAAI2C,gBAAA;EACJ,IAAIvC,kBAAA,EAAoB;IAGtBuC,gBAAA,GAAmB/E,cAAA,CAAAmB,WAAA;EAAA;EACjB,IACA6D,aAAA;IACF,GAAAnB,cAAA;IACFa,QAAA;MAEA,IAAMb,cAAA,KAAkC,QAAAA,cAAA,uBAAAA,cAAA,CAAAa,QAAA;MACtCf,WAAG;MACHgB,SAAU;MACRM,UAAG,GACH,MACA,OACA,QAA2D,MAC3D,OACE,OAGA,KAAI,CACF;MACE;MAAOC,cACL,WAAAA,CAAAC,OAAA,EAAAC,UAAA,EAAAzE,QAAA;QAAA,IAAA0E,wBACA;QAAA,IAAAC,oBACA,IAAAzB,cAAA,aAAAA,cAAA,wBAAAwB,wBAAA,GAAAxB,cAAA,CAAAa,QAAA,cAAAW,wBAAA,uBAAAA,wBAAA,CAAAH,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAAA,IACFxB,cAAA,IAAAA,cAAA,CAAA6B,MAAA;UACF,IAAA1F,UAAA,CAAA2F,OAAA,CAAAJ,UAAA,EAAA1B,cAAA;YACF,OAAA4B,oBAAA,CAAAH,OAAA,mCAAAxE,QAAA;UAIA;QACE;QAAwB,IACtByE,UAAG,CAAAK,UAAA;UAAA,IACHC,eAAA;YAAyD,GACtDP,OAAM;YACTQ,uBAAA,EAAAR,OAAA,CAAAQ,uBAAA,CAAAC,MAAA,WAAAC,CAAA;cACF,OAAAA,CAAA;YACA;UACF;UAEA,OAAOP,oBAAqB,CAAAI,eAAS,EAAAN,UAAoB,EAAAzE,QAAA;QAC3D;QACF,OAAA2E,oBAAA,CAAAH,OAAA,EAAAC,UAAA,EAAAzE,QAAA;MACA;IAAa;IACQmF,WACnB;MAAsB,IACpBjC,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAAiC,WAAA;MAAAC,oBACA,EAAA/F,cAAA,CAAAmB,WAAA;IAAA;IAEJ;IAAA;IAAA,IAAA4D,gBAAA;MAGAiB,eAAI,EAAAjB;IACJ;IACFkB,QAAA,QAAAhG,mBAAA,CAAAkB,WAAA;EAEA;EAAe,IACb+E,MAAG;IACH,GAAIlB,aAAO;IAGb,WAAAxB,sBAAA,kBAAAA,sBAAA,CAAAwB,aAAA,IAAAxB,sBAAA;EAEA;EACF;IAEAwB,aAAsB,EAAAkB,MAAA;IAIpB/E,WAAM;IAINiC;EACA;AAEA;AAEA,eAAI+C,4BAA2BA,CAAAnD,MAAgB,EAAAZ,kBAAA;EAC7C,IAAAa,IAAA;EACA,IAAAC,wBAAQ,EAAAC,uBAAA;EAAA,IACNC,WAAA;EAAA,IACFjC,WAAA,GAAAvB,OAAA,EAAAqD,IAAA,IAAAC,wBAAA,GAAAd,kBAAA,CAAAiB,IAAA,cAAAH,wBAAA,uBAAAA,wBAAA,CAAA/B,WAAA,cAAA8B,IAAA,cAAAA,IAAA,GAAAD,MAAA,CAAAM,IAAA;EACF;IAAAC,cAAA;IAAAF,IAAA;IAAAG,sBAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAtB,kBAAA;EAEA,IAAAuB,WAAQ,GAAAF,QAAe,KAAM,QAAAA,QAE1B,UAAa,IAAAA,QAAO,SAAAvC,oBAAA,CAAAC,WAAA;EACvB,IAAAsC,QAAQ,eAAiB,CAAAE,WAAU,KAAArD,4BAEnB;IAEhBA,4BAAyC;IAEzCuC,OAAI,CAAAC,IAAA,4FAAgB;EAClB;EAQA;IAAAsD;EAAM,UAAArG,aACG,CAAAoB,WAAY;EACjB;IAAAyC;EAAM,UAAA7D,aACJ,CAAAoB,WAAM;EAAA,IAAA0C,cACJ,GAAAD,gBAAA,CAAAzC,WAAA;EAAA,IAAAoC,cACA;IAAA,IACFO,qBACQ,GAAAD,cAAA,CAAAE,MAAA,CAAAC,iBAAA;IAEV,IAAAlD,qBAAM,2BAAgC;MAAA,IACpCmD,+BAAA,UAAAlE,aAAA,CAAAoB,WAAA,qFAAA+C,OAAA,CAAAD,+BAAA;MAAA,IACCE,yBAAA,OAAAF,+BAAA,CAAA9C,WAAA;MACHjB,4DAAA,CAAAiE,yBAAA,EAAAZ,cAAA;MAEA,iBAAAa,CAAA;QACE,OAAAD,yBAAA,CAAArD,qBAAA;UACAuD,GAAA;YACFC,IAAA,EAAAf;UAEA;UACE5C,QAAO,EAAAyD,CAAA,CAAAzD;QAAgD,EACrD;MAA4B;IAChB,GACd;IAACyC,WACH,CAAAmB,wBAAA,GAAAzD,qBAAA;IACF+C,cAAG,CAAAE,MAAA,CAAAC,iBAAA,aAAAvD,GAAA;MAEL,IAAAA,GAAA,CAAAO,QAAY,sCAA2B,KAAAT,6BAAA,CAAAiE,IAAA,CAAA/D,GAAA;QAGvC,OAAAI,0BAAwB,CAAAJ,GAAA,EAAqBK,qBAAQ;MACnD;MAIE,OAAAgD,qBAAO,CAAArD,GAAA;IAAqD;EAG9D;EAAgC,IAClCgE,iBAAA,GAAAZ,cAAA,aAAAA,cAAA,wBAAAV,uBAAA,GAAAU,cAAA,CAAAa,QAAA,cAAAvB,uBAAA,uBAAAA,uBAAA,CAAAwB,SAAA;EACF,IAAAC,qBAAA,IAMA,4CAA0C,EAC1C,4CAA8B,EAC5B,4BACA;EACA,IACAD,SAAA,IACF,IAAAF,iBAAA,GAAAI,KAAA,CAAAC,OAAA,CAAAL,iBAAA,IAAAA,iBAAA,IACAA,iBAA4B,CAC1B,GAAI,KAKJ,GAAGG,qBAAA,CACL;EAKA;IAAMpC;EAAE,IAAmBL,uBAAI,CAAAhB,WAAwB,EAAAiB,kBAAa;EAEpE,IAAI2C,gBAAA;EACJ,IAAIvC,kBAAA,EAAoB;IAGtBuC,gBAAA,GAAmB/E,cAAA,CAAAmB,WAAA;EAAA;EACjB,IACA6D,aAAA;IACF,GAAAnB,cAAA;IACFa,QAAA;MAEA,IAAMb,cAAA,KAAkC,QAAAA,cAAA,uBAAAA,cAAA,CAAAa,QAAA;MACtCf,WAAG;MACHgB,SAAU;MACRM,UAAG,GACH,MACA,OACA,QAA2D,MAC3D,OACE,OAIA,KAAI,CACF;MACE;MAAOC,cACL,WAAAA,CAAAC,OAAA,EAAAC,UAAA,EAAAzE,QAAA;QAAA,IAAA0E,wBACA;QAAA,IAAAC,oBACA,IAAAzB,cAAA,aAAAA,cAAA,wBAAAwB,wBAAA,GAAAxB,cAAA,CAAAa,QAAA,cAAAW,wBAAA,uBAAAA,wBAAA,CAAAH,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAAA,IACFxB,cAAA,IAAAA,cAAA,CAAA6B,MAAA;UACF,IAAA1F,UAAA,CAAA2F,OAAA,CAAAJ,UAAA,EAAA1B,cAAA;YACF,OAAA4B,oBAAA,CAAAH,OAAA,mCAAAxE,QAAA;UAWA;QACE;QAAwB,IACtByE,UAAG,CAAAK,UAAA;UAAA,IACHC,eAAA;YAAyD,GACtDP,OAAM;YACTQ,uBAAA,EAAAR,OAAA,CAAAQ,uBAAA,CAAAC,MAAA,WAAAC,CAAA;cACF,OAAAA,CAAA;YACA;UACF;UAEA,OAAOP,oBAAqB,CAAAI,eAAS,EAAAN,UAAoB,EAAAzE,QAAA;QAC3D;QACF,OAAA2E,oBAAA,CAAAH,OAAA,EAAAC,UAAA,EAAAzE,QAAA;MACA;IAAa;IACQmF,WACnB;MAAsB,IACpBjC,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAAiC,WAAA;MAAAC,oBACA,EAAA/F,cAAA,CAAAmB,WAAA;IAAA;IAEJ;IAAA;IAAA,IAAA4D,gBAAA;MAGAiB,eAAI,EAAAjB;IACJ;IACFkB,QAAA,QAAAhG,mBAAA,CAAAkB,WAAA;EAEA;EAA0B,IACxBkF,WAAA,SAAAD,UAAA;IAAAE,GACE,EAAAnF,WAAK;IAAAA,WACL;IAAA,aACA,IAAesB,OAAE,CAAAC,GAAQ,CAAA6D,iBAAI;IAAA,GAC7BlD;EAAG,GACL;IACA,GAAA2B,aAAA;IAAA,IACE,OAAGxB,sBAAA,kBAAAA,sBAAA,CAAAwB,aAAA,IAAAxB,sBAAA;EAAA;EAGC,OACN;IACF,GAAA6C,WAAA;IAEA,GAAAjD;EAAO;AACF;AACA,SAEPL,mCAAA,E","ignoreList":[]}
1
+ {"version":3,"file":"getMetroConfigFromViteConfig.native.js","names":[],"sources":["esm/metro-config/getMetroConfigFromViteConfig.native.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { resolve } from \"path\";\nimport micromatch from \"micromatch\";\nimport { findUserBabelConfig } from \"@vxrn/compiler\";\nimport { projectImport, projectResolve } from \"../utils/projectImport\";\nimport { getTerminalReporter } from \"../utils/getTerminalReporter\";\nimport { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from \"../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName\";\nvar WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nvar watchmanResponsivePromises = /* @__PURE__ */ new Map();\nvar didWarnAboutWatchmanFallback = false;\nvar rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nvar metroWatchExclusions = [\n /[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction getPlatformFromBundleUrl(url) {\n var _url_match;\n var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n var resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\")) {\n return url.replace(\".expo/.virtual-metro-entry\", resolvedMainModulePath);\n }\n return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n}\nasync function isWatchmanResponsive(projectRoot) {\n var probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise(function(resolve2) {\n var settled = false;\n var finish = function(value) {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n var child = spawn(\"watchman\", [\n \"watch-project\",\n projectRoot\n ], {\n stdio: \"ignore\"\n });\n var timeout = setTimeout(function() {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", function() {\n finish(false);\n });\n child.once(\"exit\", function(code) {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n var userBabelConfigPath = projectRoot ? findUserBabelConfig(projectRoot) : null;\n var hasUserBabelConfig = Boolean(userBabelConfigPath);\n 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;\n if (userBabelConfigPath && isNativeTransforms) {\n 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.`);\n }\n return {\n isNativeTransforms,\n userBabelConfigPath\n };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n var _ref;\n var _metroPluginOptions_argv, _defaultConfig_resolver;\n var extraConfig = {};\n 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);\n var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { getDefaultConfig } = await projectImport(projectRoot, \"@expo/metro-config\");\n var _defaultConfig = getDefaultConfig(projectRoot);\n if (mainModuleName) {\n var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;\n var resolveMainModuleName = await (async function() {\n var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\")).default.ExpoGoManifestHandlerMiddleware;\n var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);\n return function(p) {\n return manifestHandlerMiddleware.resolveMainModuleName({\n pkg: {\n main: mainModuleName\n },\n platform: p.platform\n });\n };\n })();\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\") || rootIndexBundleRequestPattern.test(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl(url);\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\"\n ],\n // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: function(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/vite-plugin-metro/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n babelTransformerPath: projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n defaultConfig: merged,\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref;\n var _metroPluginOptions_argv, _defaultConfig_resolver;\n var extraConfig = {};\n 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);\n var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { loadConfig } = await projectImport(projectRoot, \"metro\");\n var { getDefaultConfig } = await projectImport(projectRoot, \"@expo/metro-config\");\n var _defaultConfig = getDefaultConfig(projectRoot);\n if (mainModuleName) {\n var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;\n var resolveMainModuleName = await (async function() {\n var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\")).default.ExpoGoManifestHandlerMiddleware;\n var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});\n patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);\n return function(p) {\n return manifestHandlerMiddleware.resolveMainModuleName({\n pkg: {\n main: mainModuleName\n },\n platform: p.platform\n });\n };\n })();\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n if (url.includes(\"/.expo/.virtual-metro-entry.bundle?\") || rootIndexBundleRequestPattern.test(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return origRewriteRequestUrl(url);\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\"\n ],\n // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: function(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n 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;\n if (excludeModules && excludeModules.length > 0) {\n if (micromatch.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/vite-plugin-metro/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n babelTransformerPath: projectResolve(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await getTerminalReporter(projectRoot)\n };\n var metroConfig = await loadConfig({\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n }, {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n });\n return {\n ...metroConfig,\n ...extraConfig\n };\n}\nexport {\n buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig\n};\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}