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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +57 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +95 -0
  7. package/dist/cjs/env/platformEnv.native.js +74 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +21 -25
  10. package/dist/cjs/index.native.cjs +39 -0
  11. package/dist/cjs/index.native.js +21 -24
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +287 -272
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +346 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +309 -282
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  30. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  31. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  32. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  33. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  34. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  35. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  36. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  38. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  39. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  40. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  42. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  43. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  44. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  46. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  48. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  50. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  51. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  52. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  54. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  55. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  56. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  62. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  64. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  66. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  67. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  68. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  70. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  71. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  72. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  74. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  75. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  76. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/index.cjs +17 -26
  78. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  79. package/dist/cjs/rn-commands/index.native.js +17 -25
  80. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  81. package/dist/cjs/transformer/babel-core.cjs +16 -18
  82. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  83. package/dist/cjs/transformer/babel-core.native.js +16 -17
  84. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-transformer.cjs +149 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +190 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +164 -158
  88. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  89. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  90. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  91. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  92. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1430 -1488
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2519 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2407 -2560
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +48 -64
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +50 -65
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/projectImport.cjs +40 -51
  122. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  123. package/dist/cjs/utils/projectImport.native.js +41 -58
  124. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  125. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  126. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  127. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  128. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  129. package/dist/esm/env/platformEnv.mjs +42 -39
  130. package/dist/esm/env/platformEnv.mjs.map +1 -1
  131. package/dist/esm/env/platformEnv.native.js +59 -58
  132. package/dist/esm/env/platformEnv.native.js.map +1 -1
  133. package/dist/esm/index.js +3 -4
  134. package/dist/esm/index.mjs +3 -4
  135. package/dist/esm/index.native.js +3 -4
  136. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
  137. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  138. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
  139. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  140. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +271 -247
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +293 -258
  143. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  145. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  146. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  147. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  148. package/dist/esm/metro-config/types.mjs +0 -2
  149. package/dist/esm/metro-config/types.native.js +0 -2
  150. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  151. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  152. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  153. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  155. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  157. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  158. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  159. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  160. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  161. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  163. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  165. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  167. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  169. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  171. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  173. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  175. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  177. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  179. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  181. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  183. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  185. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  187. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  188. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  189. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  190. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  191. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  192. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  193. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  194. package/dist/esm/rn-commands/index.mjs +2 -2
  195. package/dist/esm/rn-commands/index.native.js +2 -2
  196. package/dist/esm/transformer/babel-core.mjs +2 -2
  197. package/dist/esm/transformer/babel-core.native.js +2 -2
  198. package/dist/esm/transformer/babel-transformer.mjs +133 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +145 -142
  201. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  202. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  203. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  204. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  205. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  206. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  207. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  208. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  209. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  210. package/dist/esm/transformer/metroNativeWorker.mjs +1393 -1442
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2370 -2515
  213. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  214. package/dist/esm/transformer/transformSync.mjs +33 -38
  215. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  216. package/dist/esm/transformer/transformSync.native.js +35 -40
  217. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  218. package/dist/esm/transformer/types.mjs +0 -2
  219. package/dist/esm/transformer/types.native.js +0 -2
  220. package/dist/esm/utils/exit.mjs +123 -112
  221. package/dist/esm/utils/exit.mjs.map +1 -1
  222. package/dist/esm/utils/exit.native.js +210 -215
  223. package/dist/esm/utils/exit.native.js.map +1 -1
  224. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  225. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  226. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  227. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  228. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  229. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  230. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  231. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  232. package/dist/esm/utils/projectImport.mjs +23 -25
  233. package/dist/esm/utils/projectImport.mjs.map +1 -1
  234. package/dist/esm/utils/projectImport.native.js +24 -33
  235. package/dist/esm/utils/projectImport.native.js.map +1 -1
  236. package/package.json +15 -18
  237. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  238. package/src/env/platformEnv.test.ts +44 -0
  239. package/src/env/platformEnv.ts +6 -3
  240. package/src/index.ts +0 -2
  241. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
  242. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
  243. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +150 -113
  245. package/src/plugins/metroPlugin.ts +3 -6
  246. package/src/transformer/babel-transformer.test.ts +118 -0
  247. package/src/transformer/babel-transformer.ts +82 -15
  248. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  249. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  250. package/src/transformer/expoVirtualEnv.ts +115 -0
  251. package/src/transformer/loadBabelConfig.ts +1 -1
  252. package/src/transformer/metroNativeWorker.test.ts +268 -50
  253. package/src/transformer/metroNativeWorker.ts +53 -71
  254. package/src/transformer/transformSync.test.ts +22 -0
  255. package/src/transformer/transformSync.ts +4 -4
  256. package/src/utils/exit.ts +2 -2
  257. package/src/utils/getTerminalReporter.ts +1 -1
  258. package/src/utils/projectImport.ts +2 -2
  259. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  260. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  261. package/types/env/platformEnv.d.ts +2 -1
  262. package/types/env/platformEnv.d.ts.map +1 -1
  263. package/types/index.d.ts +0 -2
  264. package/types/index.d.ts.map +1 -1
  265. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  266. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  267. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  268. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/plugins/metroPlugin.d.ts +2 -4
  270. package/types/plugins/metroPlugin.d.ts.map +1 -1
  271. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  272. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  276. package/types/transformer/babel-transformer.d.ts +10 -1
  277. package/types/transformer/babel-transformer.d.ts.map +1 -1
  278. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  279. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  280. package/types/transformer/metroNativeWorker.d.ts +7 -8
  281. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  282. package/types/utils/projectImport.d.ts +2 -2
  283. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  284. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  285. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  286. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  287. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  288. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  289. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  290. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  291. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  292. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  293. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  294. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  295. package/dist/esm/index.js.map +0 -1
  296. package/dist/esm/index.mjs.map +0 -1
  297. package/dist/esm/index.native.js.map +0 -1
  298. package/dist/esm/metro-config/types.mjs.map +0 -1
  299. package/dist/esm/metro-config/types.native.js.map +0 -1
  300. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  301. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  302. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  304. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  305. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  306. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  307. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  308. package/dist/esm/rn-commands/index.mjs.map +0 -1
  309. package/dist/esm/rn-commands/index.native.js.map +0 -1
  310. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  311. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  312. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  313. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  314. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  315. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  316. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  317. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  318. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  319. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  320. package/dist/esm/transformer/types.mjs.map +0 -1
  321. package/dist/esm/transformer/types.native.js.map +0 -1
  322. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  323. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  324. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  326. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  327. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  328. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  329. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  330. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  331. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  332. package/types/transformer/transformSync.test.d.ts +0 -2
  333. package/types/transformer/transformSync.test.d.ts.map +0 -1
  334. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  335. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -6,2607 +6,2462 @@ import { parseSync } from "oxc-parser";
6
6
  import MagicString from "magic-string";
7
7
  import remapping from "@jridgewell/remapping";
8
8
  import { TraceMap, eachMapping } from "@jridgewell/trace-mapping";
9
- import { shouldStripFlow, transformHermesAsync, transformHermesLoops, transformReactNativeCodegen } from "@vxrn/compiler";
9
+ import { shouldStripFlow, stripFlowTypes, transformHermesAsync, transformHermesLoops, transformReactNativeCodegen } from "@vxrn/compiler";
10
+ import { withExpoPublicEnvAliases } from "@vxrn/utils/publicEnv";
11
+ import { substituteExpoVirtualEnvSource } from "./expoVirtualEnv.native.js";
10
12
  import { getPlatformEnv, metroPlatformToViteEnvironment } from "../env/platformEnv.native.js";
13
+
11
14
  function _class_call_check(instance, Constructor) {
12
- if (!(instance instanceof Constructor)) {
13
- throw new TypeError("Cannot call a class as a function");
14
- }
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
15
18
  }
16
19
  function _defineProperties(target, props) {
17
- for (var i = 0; i < props.length; i++) {
18
- var descriptor = props[i];
19
- descriptor.enumerable = descriptor.enumerable || false;
20
- descriptor.configurable = true;
21
- if ("value" in descriptor) descriptor.writable = true;
22
- Object.defineProperty(target, descriptor.key, descriptor);
23
- }
20
+ for (var i = 0; i < props.length; i++) {
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
24
27
  }
25
28
  function _create_class(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
29
32
  }
30
33
  function _define_property(obj, key, value) {
31
- if (key in obj) {
32
- Object.defineProperty(obj, key, {
33
- value,
34
- enumerable: true,
35
- configurable: true,
36
- writable: true
37
- });
38
- } else {
39
- obj[key] = value;
40
- }
41
- return obj;
42
- }
43
- function _type_of(obj) {
44
- "@swc/helpers - typeof";
45
-
46
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
34
+ if (key in obj) {
35
+ Object.defineProperty(obj, key, {
36
+ value,
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true
40
+ });
41
+ } else {
42
+ obj[key] = value;
43
+ }
44
+ return obj;
47
45
  }
48
46
  function collectModuleLiteralBindings(program) {
49
- var reassigned = /* @__PURE__ */new Set();
50
- var declCount = /* @__PURE__ */new Map();
51
- (function findReassignments(node) {
52
- var _node_left, _node_argument;
53
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
54
- if (Array.isArray(node)) {
55
- var _iteratorNormalCompletion4 = true,
56
- _didIteratorError4 = false,
57
- _iteratorError4 = void 0;
58
- try {
59
- for (var _iterator4 = node[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
60
- var child = _step4.value;
61
- findReassignments(child);
62
- }
63
- } catch (err) {
64
- _didIteratorError4 = true;
65
- _iteratorError4 = err;
66
- } finally {
67
- try {
68
- if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
69
- _iterator4.return();
70
- }
71
- } finally {
72
- if (_didIteratorError4) {
73
- throw _iteratorError4;
74
- }
75
- }
76
- }
77
- return;
78
- }
79
- if (node.type === "AssignmentExpression" && ((_node_left = node.left) === null || _node_left === void 0 ? void 0 : _node_left.type) === "Identifier") {
80
- reassigned.add(node.left.name);
81
- } else if (node.type === "UpdateExpression" && ((_node_argument = node.argument) === null || _node_argument === void 0 ? void 0 : _node_argument.type) === "Identifier") {
82
- reassigned.add(node.argument.name);
83
- }
84
- for (var key in node) {
85
- if (key === "type" || key === "start" || key === "end") continue;
86
- findReassignments(node[key]);
87
- }
88
- })(program);
89
- var _iteratorNormalCompletion = true,
90
- _didIteratorError = false,
91
- _iteratorError = void 0;
92
- try {
93
- for (var _iterator = (program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
94
- var stmt = _step.value;
95
- if (stmt.type !== "VariableDeclaration") continue;
96
- var _iteratorNormalCompletion1 = true,
97
- _didIteratorError1 = false,
98
- _iteratorError1 = void 0;
99
- try {
100
- for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
101
- var decl = _step1.value;
102
- var _decl_id;
103
- if (((_decl_id = decl.id) === null || _decl_id === void 0 ? void 0 : _decl_id.type) === "Identifier") {
104
- declCount.set(decl.id.name, (declCount.get(decl.id.name) || 0) + 1);
105
- }
106
- }
107
- } catch (err) {
108
- _didIteratorError1 = true;
109
- _iteratorError1 = err;
110
- } finally {
111
- try {
112
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
113
- _iterator1.return();
114
- }
115
- } finally {
116
- if (_didIteratorError1) {
117
- throw _iteratorError1;
118
- }
119
- }
120
- }
121
- }
122
- } catch (err) {
123
- _didIteratorError = true;
124
- _iteratorError = err;
125
- } finally {
126
- try {
127
- if (!_iteratorNormalCompletion && _iterator.return != null) {
128
- _iterator.return();
129
- }
130
- } finally {
131
- if (_didIteratorError) {
132
- throw _iteratorError;
133
- }
134
- }
135
- }
136
- var bindings = /* @__PURE__ */new Map();
137
- var _iteratorNormalCompletion2 = true,
138
- _didIteratorError2 = false,
139
- _iteratorError2 = void 0;
140
- try {
141
- for (var _iterator2 = (program.body || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
142
- var stmt1 = _step2.value;
143
- if (stmt1.type !== "VariableDeclaration") continue;
144
- var _iteratorNormalCompletion3 = true,
145
- _didIteratorError3 = false,
146
- _iteratorError3 = void 0;
147
- try {
148
- for (var _iterator3 = (stmt1.declarations || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
149
- var decl1 = _step3.value;
150
- var _decl_id1, _decl_init;
151
- if (((_decl_id1 = decl1.id) === null || _decl_id1 === void 0 ? void 0 : _decl_id1.type) === "Identifier" && ((_decl_init = decl1.init) === null || _decl_init === void 0 ? void 0 : _decl_init.type) === "Literal" && !reassigned.has(decl1.id.name) && declCount.get(decl1.id.name) === 1) {
152
- bindings.set(decl1.id.name, decl1.init);
153
- }
154
- }
155
- } catch (err) {
156
- _didIteratorError3 = true;
157
- _iteratorError3 = err;
158
- } finally {
159
- try {
160
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
161
- _iterator3.return();
162
- }
163
- } finally {
164
- if (_didIteratorError3) {
165
- throw _iteratorError3;
166
- }
167
- }
168
- }
169
- }
170
- } catch (err) {
171
- _didIteratorError2 = true;
172
- _iteratorError2 = err;
173
- } finally {
174
- try {
175
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
176
- _iterator2.return();
177
- }
178
- } finally {
179
- if (_didIteratorError2) {
180
- throw _iteratorError2;
181
- }
182
- }
183
- }
184
- return bindings;
47
+ var reassigned = /* @__PURE__ */ new Set();
48
+ var declCount = /* @__PURE__ */ new Map();
49
+ (function findReassignments(node) {
50
+ var _node_left, _node_argument;
51
+ if (!node || typeof node !== "object") return;
52
+ if (Array.isArray(node)) {
53
+ var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;
54
+ try {
55
+ for (var _iterator4 = node[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
56
+ var child = _step4.value;
57
+ findReassignments(child);
58
+ }
59
+ } catch (err) {
60
+ _didIteratorError4 = true;
61
+ _iteratorError4 = err;
62
+ } finally {
63
+ try {
64
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
65
+ _iterator4.return();
66
+ }
67
+ } finally {
68
+ if (_didIteratorError4) {
69
+ throw _iteratorError4;
70
+ }
71
+ }
72
+ }
73
+ return;
74
+ }
75
+ if (node.type === "AssignmentExpression" && ((_node_left = node.left) === null || _node_left === void 0 ? void 0 : _node_left.type) === "Identifier") {
76
+ reassigned.add(node.left.name);
77
+ } else if (node.type === "UpdateExpression" && ((_node_argument = node.argument) === null || _node_argument === void 0 ? void 0 : _node_argument.type) === "Identifier") {
78
+ reassigned.add(node.argument.name);
79
+ }
80
+ for (var key in node) {
81
+ if (key === "type" || key === "start" || key === "end") continue;
82
+ findReassignments(node[key]);
83
+ }
84
+ })(program);
85
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
86
+ try {
87
+ for (var _iterator = (program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
88
+ var stmt = _step.value;
89
+ if (stmt.type !== "VariableDeclaration") continue;
90
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
91
+ try {
92
+ for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
93
+ var decl = _step1.value;
94
+ var _decl_id;
95
+ if (((_decl_id = decl.id) === null || _decl_id === void 0 ? void 0 : _decl_id.type) === "Identifier") {
96
+ declCount.set(decl.id.name, (declCount.get(decl.id.name) || 0) + 1);
97
+ }
98
+ }
99
+ } catch (err) {
100
+ _didIteratorError1 = true;
101
+ _iteratorError1 = err;
102
+ } finally {
103
+ try {
104
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
105
+ _iterator1.return();
106
+ }
107
+ } finally {
108
+ if (_didIteratorError1) {
109
+ throw _iteratorError1;
110
+ }
111
+ }
112
+ }
113
+ }
114
+ } catch (err) {
115
+ _didIteratorError = true;
116
+ _iteratorError = err;
117
+ } finally {
118
+ try {
119
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
120
+ _iterator.return();
121
+ }
122
+ } finally {
123
+ if (_didIteratorError) {
124
+ throw _iteratorError;
125
+ }
126
+ }
127
+ }
128
+ var bindings = /* @__PURE__ */ new Map();
129
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
130
+ try {
131
+ for (var _iterator2 = (program.body || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
132
+ var stmt1 = _step2.value;
133
+ if (stmt1.type !== "VariableDeclaration") continue;
134
+ var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
135
+ try {
136
+ for (var _iterator3 = (stmt1.declarations || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
137
+ var decl1 = _step3.value;
138
+ var _decl_id1, _decl_init;
139
+ if (((_decl_id1 = decl1.id) === null || _decl_id1 === void 0 ? void 0 : _decl_id1.type) === "Identifier" && ((_decl_init = decl1.init) === null || _decl_init === void 0 ? void 0 : _decl_init.type) === "Literal" && !reassigned.has(decl1.id.name) && declCount.get(decl1.id.name) === 1) {
140
+ bindings.set(decl1.id.name, decl1.init);
141
+ }
142
+ }
143
+ } catch (err) {
144
+ _didIteratorError3 = true;
145
+ _iteratorError3 = err;
146
+ } finally {
147
+ try {
148
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
149
+ _iterator3.return();
150
+ }
151
+ } finally {
152
+ if (_didIteratorError3) {
153
+ throw _iteratorError3;
154
+ }
155
+ }
156
+ }
157
+ }
158
+ } catch (err) {
159
+ _didIteratorError2 = true;
160
+ _iteratorError2 = err;
161
+ } finally {
162
+ try {
163
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
164
+ _iterator2.return();
165
+ }
166
+ } finally {
167
+ if (_didIteratorError2) {
168
+ throw _iteratorError2;
169
+ }
170
+ }
171
+ }
172
+ return bindings;
185
173
  }
186
174
  var WORKER_CACHE_KEY_VERSION = "5";
187
175
  function langForFilename(filename) {
188
- if (filename.endsWith(".tsx")) return "tsx";
189
- if (filename.endsWith(".ts")) return "ts";
190
- return "jsx";
176
+ if (filename.endsWith(".tsx")) return "tsx";
177
+ if (filename.endsWith(".ts")) return "ts";
178
+ return "jsx";
191
179
  }
192
180
  function getOneRouterMetroOptions(options) {
193
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
194
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
195
- if (!Array.isArray(plugins)) return void 0;
196
- var _iteratorNormalCompletion = true,
197
- _didIteratorError = false,
198
- _iteratorError = void 0;
199
- try {
200
- for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
201
- var plugin = _step.value;
202
- if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("one-router-metro")) {
203
- return plugin[1];
204
- }
205
- }
206
- } catch (err) {
207
- _didIteratorError = true;
208
- _iteratorError = err;
209
- } finally {
210
- try {
211
- if (!_iteratorNormalCompletion && _iterator.return != null) {
212
- _iterator.return();
213
- }
214
- } finally {
215
- if (_didIteratorError) {
216
- throw _iteratorError;
217
- }
218
- }
219
- }
220
- return void 0;
181
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
182
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
183
+ if (!Array.isArray(plugins)) return void 0;
184
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
185
+ try {
186
+ for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
187
+ var plugin = _step.value;
188
+ if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("one-router-metro")) {
189
+ return plugin[1];
190
+ }
191
+ }
192
+ } catch (err) {
193
+ _didIteratorError = true;
194
+ _iteratorError = err;
195
+ } finally {
196
+ try {
197
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
198
+ _iterator.return();
199
+ }
200
+ } finally {
201
+ if (_didIteratorError) {
202
+ throw _iteratorError;
203
+ }
204
+ }
205
+ }
206
+ return void 0;
221
207
  }
222
208
  function getRemoveServerCodeRouterRoot(options) {
223
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
224
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
225
- if (!Array.isArray(plugins)) return void 0;
226
- var _iteratorNormalCompletion = true,
227
- _didIteratorError = false,
228
- _iteratorError = void 0;
229
- try {
230
- for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
231
- var plugin = _step.value;
232
- if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("remove-server-code")) {
233
- var _ref;
234
- var _plugin_;
235
- return (_ref = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.routerRoot) !== null && _ref !== void 0 ? _ref : "app";
236
- }
237
- }
238
- } catch (err) {
239
- _didIteratorError = true;
240
- _iteratorError = err;
241
- } finally {
242
- try {
243
- if (!_iteratorNormalCompletion && _iterator.return != null) {
244
- _iterator.return();
245
- }
246
- } finally {
247
- if (_didIteratorError) {
248
- throw _iteratorError;
249
- }
250
- }
251
- }
252
- return void 0;
209
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
210
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
211
+ if (!Array.isArray(plugins)) return void 0;
212
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
213
+ try {
214
+ for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
215
+ var plugin = _step.value;
216
+ if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("remove-server-code")) {
217
+ var _ref;
218
+ var _plugin_;
219
+ return (_ref = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.routerRoot) !== null && _ref !== void 0 ? _ref : "app";
220
+ }
221
+ }
222
+ } catch (err) {
223
+ _didIteratorError = true;
224
+ _iteratorError = err;
225
+ } finally {
226
+ try {
227
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
228
+ _iterator.return();
229
+ }
230
+ } finally {
231
+ if (_didIteratorError) {
232
+ throw _iteratorError;
233
+ }
234
+ }
235
+ }
236
+ return void 0;
253
237
  }
254
- var importMetaEnvCache = /* @__PURE__ */new WeakMap();
238
+ var importMetaEnvCache = /* @__PURE__ */ new WeakMap();
255
239
  function getImportMetaEnv(options) {
256
- var _options_platform;
257
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
258
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
259
- var platform = (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "";
260
- var byPlatform = Array.isArray(plugins) ? importMetaEnvCache.get(plugins) : void 0;
261
- var cached = byPlatform === null || byPlatform === void 0 ? void 0 : byPlatform.get(platform);
262
- if (cached) return cached;
263
- var env = {};
264
- if (Array.isArray(plugins)) {
265
- var _iteratorNormalCompletion = true,
266
- _didIteratorError = false,
267
- _iteratorError = void 0;
268
- try {
269
- for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
270
- var plugin = _step.value;
271
- if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("import-meta-env-plugin")) {
272
- var _plugin_;
273
- var found = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.env;
274
- if (found && (typeof found === "undefined" ? "undefined" : _type_of(found)) === "object") env = found;
275
- }
276
- }
277
- } catch (err) {
278
- _didIteratorError = true;
279
- _iteratorError = err;
280
- } finally {
281
- try {
282
- if (!_iteratorNormalCompletion && _iterator.return != null) {
283
- _iterator.return();
284
- }
285
- } finally {
286
- if (_didIteratorError) {
287
- throw _iteratorError;
288
- }
289
- }
290
- }
291
- }
292
- var merged = {
293
- ...env,
294
- ...getPlatformEnv(metroPlatformToViteEnvironment(options.platform))
295
- };
296
- if (Array.isArray(plugins)) {
297
- if (!byPlatform) {
298
- byPlatform = /* @__PURE__ */new Map();
299
- importMetaEnvCache.set(plugins, byPlatform);
300
- }
301
- byPlatform.set(platform, merged);
302
- }
303
- return merged;
240
+ var _options_platform;
241
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
242
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
243
+ var platform = (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "";
244
+ var byPlatform = Array.isArray(plugins) ? importMetaEnvCache.get(plugins) : void 0;
245
+ var cached = byPlatform === null || byPlatform === void 0 ? void 0 : byPlatform.get(platform);
246
+ if (cached) return cached;
247
+ var env = {};
248
+ if (Array.isArray(plugins)) {
249
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
250
+ try {
251
+ for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
252
+ var plugin = _step.value;
253
+ if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("import-meta-env-plugin")) {
254
+ var _plugin_;
255
+ var found = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.env;
256
+ if (found && typeof found === "object") env = found;
257
+ }
258
+ }
259
+ } catch (err) {
260
+ _didIteratorError = true;
261
+ _iteratorError = err;
262
+ } finally {
263
+ try {
264
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
265
+ _iterator.return();
266
+ }
267
+ } finally {
268
+ if (_didIteratorError) {
269
+ throw _iteratorError;
270
+ }
271
+ }
272
+ }
273
+ }
274
+ var merged = {
275
+ ...env,
276
+ ...getPlatformEnv(metroPlatformToViteEnvironment(options.platform))
277
+ };
278
+ if (Array.isArray(plugins)) {
279
+ if (!byPlatform) {
280
+ byPlatform = /* @__PURE__ */ new Map();
281
+ importMetaEnvCache.set(plugins, byPlatform);
282
+ }
283
+ byPlatform.set(platform, merged);
284
+ }
285
+ return merged;
304
286
  }
305
- var PORTED_BABEL_PLUGINS = ["import-meta-env-plugin", "one-router-metro", "remove-server-code", "module-resolver", "environment-guard", "inline-one-server-url",
306
- // the worklets transform is a native oxc port, so both plugin names it can
307
- // arrive under are covered.
308
- "react-native-worklets/plugin", "react-native-reanimated/plugin", "babel-plugin-react-compiler"];
309
- var unportedPluginCache = /* @__PURE__ */new WeakMap();
310
- var loadedNativeTransforms = /* @__PURE__ */new Map();
287
+ var PORTED_BABEL_PLUGINS = [
288
+ "import-meta-env-plugin",
289
+ "one-router-metro",
290
+ "remove-server-code",
291
+ "module-resolver",
292
+ "environment-guard",
293
+ "inline-one-server-url",
294
+ "react-native-worklets/plugin",
295
+ "react-native-reanimated/plugin",
296
+ "babel-plugin-react-compiler"
297
+ ];
298
+ var unportedPluginCache = /* @__PURE__ */ new WeakMap();
299
+ var loadedNativeTransforms = /* @__PURE__ */ new Map();
311
300
  function getNativeTransforms(options, projectRoot) {
312
- var _options_customTransformOptions_vite, _options_customTransformOptions;
313
- var ids = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : _options_customTransformOptions_vite.nativeTransformModules;
314
- if (!Array.isArray(ids) || !ids.length) return [];
315
- var req = createRequire(path.join(projectRoot, "package.json"));
316
- return ids.map(function (id) {
317
- var _ref;
318
- var cached = loadedNativeTransforms.get(id);
319
- if (cached) return cached;
320
- var mod;
321
- try {
322
- mod = req(id);
323
- } catch (err) {
324
- throw new Error(`[vxrn/metro] Could not load the native transform "${id}" from ${projectRoot}: ${err.message}`);
325
- }
326
- var fn = (_ref = mod === null || mod === void 0 ? void 0 : mod.default) !== null && _ref !== void 0 ? _ref : mod;
327
- if (typeof fn !== "function") {
328
- throw new Error(`[vxrn/metro] The native transform "${id}" must default-export a function (code, ctx) => string.`);
329
- }
330
- loadedNativeTransforms.set(id, fn);
331
- return fn;
332
- });
301
+ var _options_customTransformOptions_vite, _options_customTransformOptions;
302
+ var ids = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : _options_customTransformOptions_vite.nativeTransformModules;
303
+ if (!Array.isArray(ids) || !ids.length) return [];
304
+ var req = createRequire(path.join(projectRoot, "package.json"));
305
+ return ids.map(function(id) {
306
+ var _ref;
307
+ var cached = loadedNativeTransforms.get(id);
308
+ if (cached) return cached;
309
+ var mod;
310
+ try {
311
+ mod = req(id);
312
+ } catch (err) {
313
+ throw new Error(`[vxrn/metro] Could not load the native transform "${id}" from ${projectRoot}: ${err.message}`);
314
+ }
315
+ var fn = (_ref = mod === null || mod === void 0 ? void 0 : mod.default) !== null && _ref !== void 0 ? _ref : mod;
316
+ if (typeof fn !== "function") {
317
+ throw new Error(`[vxrn/metro] The native transform "${id}" must default-export a function (code, ctx) => string.`);
318
+ }
319
+ loadedNativeTransforms.set(id, fn);
320
+ return fn;
321
+ });
333
322
  }
334
323
  function isReactCompilerCandidate(filename) {
335
- if (!/\.tsx?$/.test(filename)) return false;
336
- if (filename.includes("node_modules")) return false;
337
- if (filename.includes("+api.")) return false;
338
- return true;
324
+ if (!/\.tsx?$/.test(filename)) return false;
325
+ if (filename.includes("node_modules")) return false;
326
+ if (filename.includes("+api.")) return false;
327
+ return true;
339
328
  }
340
329
  function hasBabelPlugin(options, id) {
341
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
342
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
343
- if (!Array.isArray(plugins)) return false;
344
- return plugins.some(function (plugin) {
345
- return (Array.isArray(plugin) ? plugin[0] : plugin) === id;
346
- });
330
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
331
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
332
+ if (!Array.isArray(plugins)) return false;
333
+ return plugins.some(function(plugin) {
334
+ return (Array.isArray(plugin) ? plugin[0] : plugin) === id;
335
+ });
347
336
  }
348
337
  function assertNoUnportedBabelPlugins(options) {
349
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
350
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
351
- if (!Array.isArray(plugins)) return;
352
- var unported = unportedPluginCache.get(plugins);
353
- if (!unported) {
354
- unported = [];
355
- var _iteratorNormalCompletion = true,
356
- _didIteratorError = false,
357
- _iteratorError = void 0;
358
- try {
359
- var _loop = function () {
360
- var plugin = _step.value;
361
- var id = Array.isArray(plugin) ? plugin[0] : plugin;
362
- if (typeof id !== "string") {
363
- unported.push("(a function or object plugin, which cannot be ported)");
364
- return "continue";
365
- }
366
- if (!PORTED_BABEL_PLUGINS.some(function (ported) {
367
- return id.includes(ported);
368
- })) {
369
- unported.push(id);
370
- }
371
- };
372
- for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
373
- } catch (err) {
374
- _didIteratorError = true;
375
- _iteratorError = err;
376
- } finally {
377
- try {
378
- if (!_iteratorNormalCompletion && _iterator.return != null) {
379
- _iterator.return();
380
- }
381
- } finally {
382
- if (_didIteratorError) {
383
- throw _iteratorError;
384
- }
385
- }
386
- }
387
- unportedPluginCache.set(plugins, unported);
388
- }
389
- if (unported.length) {
390
- throw new Error(`[vxrn/metro] the native transform path runs no babel, so these babel plugins would be silently ignored:
391
- ` + unported.map(function (id) {
392
- return ` - ${id}`;
393
- }).join("\n") + `
338
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
339
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
340
+ if (!Array.isArray(plugins)) return;
341
+ var unported = unportedPluginCache.get(plugins);
342
+ if (!unported) {
343
+ unported = [];
344
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
345
+ try {
346
+ var _loop = function() {
347
+ var plugin = _step.value;
348
+ var id = Array.isArray(plugin) ? plugin[0] : plugin;
349
+ if (typeof id !== "string") {
350
+ unported.push("(a function or object plugin, which cannot be ported)");
351
+ return "continue";
352
+ }
353
+ if (!PORTED_BABEL_PLUGINS.some(function(ported) {
354
+ return id.includes(ported);
355
+ })) {
356
+ unported.push(id);
357
+ }
358
+ };
359
+ for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
360
+ } catch (err) {
361
+ _didIteratorError = true;
362
+ _iteratorError = err;
363
+ } finally {
364
+ try {
365
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
366
+ _iterator.return();
367
+ }
368
+ } finally {
369
+ if (_didIteratorError) {
370
+ throw _iteratorError;
371
+ }
372
+ }
373
+ }
374
+ unportedPluginCache.set(plugins, unported);
375
+ }
376
+ if (unported.length) {
377
+ throw new Error(`[vxrn/metro] the native transform path runs no babel, so these babel plugins would be silently ignored:
378
+ ` + unported.map(function(id) {
379
+ return ` - ${id}`;
380
+ }).join("\n") + `
394
381
 
395
382
  Port each one to a native transform and list it in bundlerOptions.nativeTransformModules, remove it from bundlerOptions.babelConfigOverrides, or set bundlerOptions.nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to go back to the babel transformer.`);
396
- }
383
+ }
397
384
  }
398
385
  function getModuleResolverAliases(options) {
399
- var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
400
- var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
401
- if (!Array.isArray(plugins)) return void 0;
402
- var _iteratorNormalCompletion = true,
403
- _didIteratorError = false,
404
- _iteratorError = void 0;
405
- try {
406
- for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
407
- var plugin = _step.value;
408
- if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("module-resolver")) {
409
- var _plugin_;
410
- var alias = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.alias;
411
- if (alias && (typeof alias === "undefined" ? "undefined" : _type_of(alias)) === "object") return alias;
412
- }
413
- }
414
- } catch (err) {
415
- _didIteratorError = true;
416
- _iteratorError = err;
417
- } finally {
418
- try {
419
- if (!_iteratorNormalCompletion && _iterator.return != null) {
420
- _iterator.return();
421
- }
422
- } finally {
423
- if (_didIteratorError) {
424
- throw _iteratorError;
425
- }
426
- }
427
- }
428
- return void 0;
386
+ var _options_customTransformOptions_vite_babelConfig, _options_customTransformOptions_vite, _options_customTransformOptions;
387
+ var plugins = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : (_options_customTransformOptions_vite = _options_customTransformOptions.vite) === null || _options_customTransformOptions_vite === void 0 ? void 0 : (_options_customTransformOptions_vite_babelConfig = _options_customTransformOptions_vite.babelConfig) === null || _options_customTransformOptions_vite_babelConfig === void 0 ? void 0 : _options_customTransformOptions_vite_babelConfig.plugins;
388
+ if (!Array.isArray(plugins)) return void 0;
389
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
390
+ try {
391
+ for (var _iterator = plugins[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
392
+ var plugin = _step.value;
393
+ if (Array.isArray(plugin) && typeof plugin[0] === "string" && plugin[0].includes("module-resolver")) {
394
+ var _plugin_;
395
+ var alias = (_plugin_ = plugin[1]) === null || _plugin_ === void 0 ? void 0 : _plugin_.alias;
396
+ if (alias && typeof alias === "object") return alias;
397
+ }
398
+ }
399
+ } catch (err) {
400
+ _didIteratorError = true;
401
+ _iteratorError = err;
402
+ } finally {
403
+ try {
404
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
405
+ _iterator.return();
406
+ }
407
+ } finally {
408
+ if (_didIteratorError) {
409
+ throw _iteratorError;
410
+ }
411
+ }
412
+ }
413
+ return void 0;
429
414
  }
430
415
  function resolveAliasSpecifier(specifier, filename, projectRoot, aliases) {
431
- var _iteratorNormalCompletion = true,
432
- _didIteratorError = false,
433
- _iteratorError = void 0;
434
- try {
435
- for (var _iterator = Object.entries(aliases)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
436
- var [rawKey, value] = _step.value;
437
- var target = void 0;
438
- if (rawKey.endsWith("$")) {
439
- if (specifier === rawKey.slice(0, -1)) target = value;
440
- } else if (specifier === rawKey || specifier.startsWith(`${rawKey}/`)) {
441
- target = value + specifier.slice(rawKey.length);
442
- }
443
- if (target === void 0) continue;
444
- var abs = path.resolve(projectRoot, target);
445
- var rel = path.relative(path.dirname(filename), abs).split(path.sep).join("/");
446
- if (!rel.startsWith(".")) rel = `./${rel}`;
447
- return rel;
448
- }
449
- } catch (err) {
450
- _didIteratorError = true;
451
- _iteratorError = err;
452
- } finally {
453
- try {
454
- if (!_iteratorNormalCompletion && _iterator.return != null) {
455
- _iterator.return();
456
- }
457
- } finally {
458
- if (_didIteratorError) {
459
- throw _iteratorError;
460
- }
461
- }
462
- }
463
- return void 0;
416
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
417
+ try {
418
+ for (var _iterator = Object.entries(aliases)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
419
+ var [rawKey, value] = _step.value;
420
+ var target = void 0;
421
+ if (rawKey.endsWith("$")) {
422
+ if (specifier === rawKey.slice(0, -1)) target = value;
423
+ } else if (specifier === rawKey || specifier.startsWith(`${rawKey}/`)) {
424
+ target = value + specifier.slice(rawKey.length);
425
+ }
426
+ if (target === void 0) continue;
427
+ var abs = path.resolve(projectRoot, target);
428
+ var rel = path.relative(path.dirname(filename), abs).split(path.sep).join("/");
429
+ if (!rel.startsWith(".")) rel = `./${rel}`;
430
+ return rel;
431
+ }
432
+ } catch (err) {
433
+ _didIteratorError = true;
434
+ _iteratorError = err;
435
+ } finally {
436
+ try {
437
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
438
+ _iterator.return();
439
+ }
440
+ } finally {
441
+ if (_didIteratorError) {
442
+ throw _iteratorError;
443
+ }
444
+ }
445
+ }
446
+ return void 0;
464
447
  }
465
448
  function applyModuleResolverAliases(code, filename, projectRoot, aliases) {
466
- var _parsed_errors;
467
- var parsed = parseSync(filename, code, {
468
- lang: langForFilename(filename)
469
- });
470
- if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
471
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for alias resolution: ${parsed.errors[0].message}`);
472
- }
473
- if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
474
- var ms = new MagicString(code);
475
- var changed = false;
476
- function rewrite(sourceNode) {
477
- if ((sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.type) !== "Literal" || typeof sourceNode.value !== "string") return;
478
- var resolved = resolveAliasSpecifier(sourceNode.value, filename, projectRoot, aliases);
479
- if (resolved === void 0) return;
480
- ms.overwrite(sourceNode.start, sourceNode.end, JSON.stringify(resolved));
481
- changed = true;
482
- }
483
- function walk(node) {
484
- var _node_callee;
485
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
486
- if (node.type === "ImportDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ImportExpression") {
487
- rewrite(node.source);
488
- } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require") {
489
- var _node_arguments;
490
- rewrite((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[0]);
491
- }
492
- var _iteratorNormalCompletion = true,
493
- _didIteratorError = false,
494
- _iteratorError = void 0;
495
- try {
496
- for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
497
- var k = _step.value;
498
- if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
499
- var child = node[k];
500
- if (Array.isArray(child)) {
501
- var _iteratorNormalCompletion1 = true,
502
- _didIteratorError1 = false,
503
- _iteratorError1 = void 0;
504
- try {
505
- for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
506
- var item = _step1.value;
507
- walk(item);
508
- }
509
- } catch (err) {
510
- _didIteratorError1 = true;
511
- _iteratorError1 = err;
512
- } finally {
513
- try {
514
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
515
- _iterator1.return();
516
- }
517
- } finally {
518
- if (_didIteratorError1) {
519
- throw _iteratorError1;
520
- }
521
- }
522
- }
523
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
524
- walk(child);
525
- }
526
- }
527
- } catch (err) {
528
- _didIteratorError = true;
529
- _iteratorError = err;
530
- } finally {
531
- try {
532
- if (!_iteratorNormalCompletion && _iterator.return != null) {
533
- _iterator.return();
534
- }
535
- } finally {
536
- if (_didIteratorError) {
537
- throw _iteratorError;
538
- }
539
- }
540
- }
541
- }
542
- walk(parsed.program);
543
- return changed ? ms.toString() : code;
449
+ var _parsed_errors;
450
+ var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
451
+ if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
452
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for alias resolution: ${parsed.errors[0].message}`);
453
+ }
454
+ if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
455
+ var ms = new MagicString(code);
456
+ var changed = false;
457
+ function rewrite(sourceNode) {
458
+ if ((sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.type) !== "Literal" || typeof sourceNode.value !== "string") return;
459
+ var resolved = resolveAliasSpecifier(sourceNode.value, filename, projectRoot, aliases);
460
+ if (resolved === void 0) return;
461
+ ms.overwrite(sourceNode.start, sourceNode.end, JSON.stringify(resolved));
462
+ changed = true;
463
+ }
464
+ function walk(node) {
465
+ var _node_callee;
466
+ if (!node || typeof node !== "object") return;
467
+ if (node.type === "ImportDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ImportExpression") {
468
+ rewrite(node.source);
469
+ } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require") {
470
+ var _node_arguments;
471
+ rewrite((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[0]);
472
+ }
473
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
474
+ try {
475
+ for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
476
+ var k = _step.value;
477
+ if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
478
+ var child = node[k];
479
+ if (Array.isArray(child)) {
480
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
481
+ try {
482
+ for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
483
+ var item = _step1.value;
484
+ walk(item);
485
+ }
486
+ } catch (err) {
487
+ _didIteratorError1 = true;
488
+ _iteratorError1 = err;
489
+ } finally {
490
+ try {
491
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
492
+ _iterator1.return();
493
+ }
494
+ } finally {
495
+ if (_didIteratorError1) {
496
+ throw _iteratorError1;
497
+ }
498
+ }
499
+ }
500
+ } else if (child && typeof child === "object") {
501
+ walk(child);
502
+ }
503
+ }
504
+ } catch (err) {
505
+ _didIteratorError = true;
506
+ _iteratorError = err;
507
+ } finally {
508
+ try {
509
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
510
+ _iterator.return();
511
+ }
512
+ } finally {
513
+ if (_didIteratorError) {
514
+ throw _iteratorError;
515
+ }
516
+ }
517
+ }
518
+ }
519
+ walk(parsed.program);
520
+ return changed ? ms.toString() : code;
544
521
  }
545
522
  function applyInlineEnvVars(code, filename, isProduction) {
546
- var env = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
547
- var _parsed_errors;
548
- var parsed = parseSync(filename, code, {
549
- lang: langForFilename(filename)
550
- });
551
- if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
552
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
553
- }
554
- if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
555
- var ms = new MagicString(code);
556
- var needsEnvImport = false;
557
- var edits = [];
558
- var known = /* @__PURE__ */new Map();
559
- function replace(node, value) {
560
- var text = value === void 0 ? "undefined" : JSON.stringify(value);
561
- edits.push({
562
- start: node.start,
563
- end: node.end,
564
- text
565
- });
566
- known.set(node, value);
567
- }
568
- function keyOf(prop, computed) {
569
- if (!computed && (prop === null || prop === void 0 ? void 0 : prop.type) === "Identifier") return prop.name;
570
- if ((prop === null || prop === void 0 ? void 0 : prop.type) === "Literal" && typeof prop.value === "string") return prop.value;
571
- return void 0;
572
- }
573
- function isImportMeta(node) {
574
- var _node_meta, _node_property;
575
- return (node === null || node === void 0 ? void 0 : node.type) === "MetaProperty" && ((_node_meta = node.meta) === null || _node_meta === void 0 ? void 0 : _node_meta.name) === "import" && ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.name) === "meta";
576
- }
577
- function walk(node, parent) {
578
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
579
- if (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") {
580
- var _obj_object;
581
- var obj = node.object;
582
- var isMember = (obj === null || obj === void 0 ? void 0 : obj.type) === "MemberExpression" || (obj === null || obj === void 0 ? void 0 : obj.type) === "OptionalMemberExpression";
583
- var isProcessEnv = isMember && ((_obj_object = obj.object) === null || _obj_object === void 0 ? void 0 : _obj_object.type) === "Identifier" && obj.object.name === "process" && keyOf(obj.property, obj.computed) === "env";
584
- var isAssignmentTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
585
- var key = keyOf(node.property, node.computed);
586
- if (isProcessEnv && !isAssignmentTarget && key === "ONE_SERVER_URL") {
587
- replace(node, process.env.ONE_SERVER_URL || "");
588
- return;
589
- }
590
- if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_"))) {
591
- if (isProduction) {
592
- var _process_env_key;
593
- replace(node, (_process_env_key = process.env[key]) !== null && _process_env_key !== void 0 ? _process_env_key : void 0);
594
- } else {
595
- edits.push({
596
- start: node.start,
597
- end: node.end,
598
- text: `_$$_EXPO_ENV.${key}`
599
- });
600
- needsEnvImport = true;
601
- }
602
- return;
603
- }
604
- if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
605
- replace(node, env[key]);
606
- return;
607
- }
608
- if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
609
- edits.push({
610
- start: node.start,
611
- end: node.end,
612
- text: JSON.stringify(env)
613
- });
614
- return;
615
- }
616
- if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in env) {
617
- replace(node, env[key]);
618
- return;
619
- }
620
- }
621
- var _iteratorNormalCompletion2 = true,
622
- _didIteratorError2 = false,
623
- _iteratorError2 = void 0;
624
- try {
625
- for (var _iterator2 = Object.keys(node)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
626
- var k = _step2.value;
627
- if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
628
- var child = node[k];
629
- if (Array.isArray(child)) {
630
- var _iteratorNormalCompletion12 = true,
631
- _didIteratorError12 = false,
632
- _iteratorError12 = void 0;
633
- try {
634
- for (var _iterator12 = child[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
635
- var item = _step12.value;
636
- walk(item, node);
637
- }
638
- } catch (err) {
639
- _didIteratorError12 = true;
640
- _iteratorError12 = err;
641
- } finally {
642
- try {
643
- if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
644
- _iterator12.return();
645
- }
646
- } finally {
647
- if (_didIteratorError12) {
648
- throw _iteratorError12;
649
- }
650
- }
651
- }
652
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
653
- walk(child, node);
654
- }
655
- }
656
- } catch (err) {
657
- _didIteratorError2 = true;
658
- _iteratorError2 = err;
659
- } finally {
660
- try {
661
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
662
- _iterator2.return();
663
- }
664
- } finally {
665
- if (_didIteratorError2) {
666
- throw _iteratorError2;
667
- }
668
- }
669
- }
670
- }
671
- walk(parsed.program, null);
672
- function testValue(node) {
673
- if (known.has(node)) return !!known.get(node);
674
- if ((node === null || node === void 0 ? void 0 : node.type) === "UnaryExpression" && node.operator === "!") {
675
- var inner = testValue(node.argument);
676
- return inner === void 0 ? void 0 : !inner;
677
- }
678
- if ((node === null || node === void 0 ? void 0 : node.type) === "BinaryExpression" && (node.operator === "===" || node.operator === "!==")) {
679
- var _node_right, _node_right1;
680
- var left = known.has(node.left) ? known.get(node.left) : void 0;
681
- var right = ((_node_right = node.right) === null || _node_right === void 0 ? void 0 : _node_right.type) === "Literal" ? node.right.value : void 0;
682
- if (!known.has(node.left) || ((_node_right1 = node.right) === null || _node_right1 === void 0 ? void 0 : _node_right1.type) !== "Literal") return void 0;
683
- return node.operator === "===" ? left === right : left !== right;
684
- }
685
- return void 0;
686
- }
687
- var dead = [];
688
- (function foldWalk(node) {
689
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
690
- if (Array.isArray(node)) {
691
- var _iteratorNormalCompletion2 = true,
692
- _didIteratorError2 = false,
693
- _iteratorError2 = void 0;
694
- try {
695
- for (var _iterator2 = node[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
696
- var child = _step2.value;
697
- foldWalk(child);
698
- }
699
- } catch (err) {
700
- _didIteratorError2 = true;
701
- _iteratorError2 = err;
702
- } finally {
703
- try {
704
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
705
- _iterator2.return();
706
- }
707
- } finally {
708
- if (_didIteratorError2) {
709
- throw _iteratorError2;
710
- }
711
- }
712
- }
713
- return;
714
- }
715
- if (node.type === "IfStatement" || node.type === "ConditionalExpression") {
716
- var value = testValue(node.test);
717
- if (value !== void 0) {
718
- var kept = value ? node.consequent : node.alternate;
719
- if (!kept) {
720
- dead.push({
721
- start: node.start,
722
- end: node.end,
723
- text: ";"
724
- });
725
- return;
726
- }
727
- dead.push({
728
- start: node.start,
729
- end: kept.start,
730
- text: ""
731
- });
732
- if (kept.end < node.end) {
733
- dead.push({
734
- start: kept.end,
735
- end: node.end,
736
- text: ""
737
- });
738
- }
739
- foldWalk(kept);
740
- return;
741
- }
742
- }
743
- var _iteratorNormalCompletion12 = true,
744
- _didIteratorError12 = false,
745
- _iteratorError12 = void 0;
746
- try {
747
- for (var _iterator12 = Object.keys(node)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
748
- var k = _step12.value;
749
- if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
750
- foldWalk(node[k]);
751
- }
752
- } catch (err) {
753
- _didIteratorError12 = true;
754
- _iteratorError12 = err;
755
- } finally {
756
- try {
757
- if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
758
- _iterator12.return();
759
- }
760
- } finally {
761
- if (_didIteratorError12) {
762
- throw _iteratorError12;
763
- }
764
- }
765
- }
766
- })(parsed.program);
767
- var _iteratorNormalCompletion = true,
768
- _didIteratorError = false,
769
- _iteratorError = void 0;
770
- try {
771
- for (var _iterator = dead[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
772
- var range = _step.value;
773
- ms.overwrite(range.start, range.end, range.text);
774
- }
775
- } catch (err) {
776
- _didIteratorError = true;
777
- _iteratorError = err;
778
- } finally {
779
- try {
780
- if (!_iteratorNormalCompletion && _iterator.return != null) {
781
- _iterator.return();
782
- }
783
- } finally {
784
- if (_didIteratorError) {
785
- throw _iteratorError;
786
- }
787
- }
788
- }
789
- var _iteratorNormalCompletion1 = true,
790
- _didIteratorError1 = false,
791
- _iteratorError1 = void 0;
792
- try {
793
- var _loop = function () {
794
- var edit = _step1.value;
795
- if (dead.some(function (d) {
796
- return edit.start >= d.start && edit.end <= d.end;
797
- })) return "continue";
798
- ms.overwrite(edit.start, edit.end, edit.text);
799
- };
800
- for (var _iterator1 = edits[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();
801
- } catch (err) {
802
- _didIteratorError1 = true;
803
- _iteratorError1 = err;
804
- } finally {
805
- try {
806
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
807
- _iterator1.return();
808
- }
809
- } finally {
810
- if (_didIteratorError1) {
811
- throw _iteratorError1;
812
- }
813
- }
814
- }
815
- if (needsEnvImport) {
816
- ms.prepend(`import { env as _$$_EXPO_ENV } from "expo/virtual/env";
817
- `);
818
- }
819
- return ms.hasChanged() ? ms.toString() : code;
523
+ var env = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
524
+ var _parsed_errors;
525
+ var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
526
+ if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
527
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
528
+ }
529
+ if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
530
+ var processPublicEnv = Object.fromEntries(Object.entries(process.env).filter(function(param) {
531
+ var [key] = param;
532
+ return key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_");
533
+ }));
534
+ var effectiveEnv = withExpoPublicEnvAliases({
535
+ ...processPublicEnv,
536
+ ...env
537
+ });
538
+ var ms = new MagicString(code);
539
+ var edits = [];
540
+ var known = /* @__PURE__ */ new Map();
541
+ function replace(node, value) {
542
+ var text = value === void 0 ? "undefined" : JSON.stringify(value);
543
+ edits.push({
544
+ start: node.start,
545
+ end: node.end,
546
+ text
547
+ });
548
+ known.set(node, value);
549
+ }
550
+ function keyOf(prop, computed) {
551
+ if (!computed && (prop === null || prop === void 0 ? void 0 : prop.type) === "Identifier") return prop.name;
552
+ if ((prop === null || prop === void 0 ? void 0 : prop.type) === "Literal" && typeof prop.value === "string") return prop.value;
553
+ return void 0;
554
+ }
555
+ function isImportMeta(node) {
556
+ var _node_meta, _node_property;
557
+ return (node === null || node === void 0 ? void 0 : node.type) === "MetaProperty" && ((_node_meta = node.meta) === null || _node_meta === void 0 ? void 0 : _node_meta.name) === "import" && ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.name) === "meta";
558
+ }
559
+ function walk(node, parent) {
560
+ if (!node || typeof node !== "object") return;
561
+ if (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") {
562
+ var _obj_object;
563
+ var obj = node.object;
564
+ var isMember = (obj === null || obj === void 0 ? void 0 : obj.type) === "MemberExpression" || (obj === null || obj === void 0 ? void 0 : obj.type) === "OptionalMemberExpression";
565
+ var isProcessEnv = isMember && ((_obj_object = obj.object) === null || _obj_object === void 0 ? void 0 : _obj_object.type) === "Identifier" && obj.object.name === "process" && keyOf(obj.property, obj.computed) === "env";
566
+ var isAssignmentTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
567
+ var key = keyOf(node.property, node.computed);
568
+ if (isProcessEnv && !isAssignmentTarget && key === "ONE_SERVER_URL") {
569
+ replace(node, process.env.ONE_SERVER_URL || "");
570
+ return;
571
+ }
572
+ if (isProcessEnv && !isAssignmentTarget && ((key === null || key === void 0 ? void 0 : key.startsWith("ONE_PUBLIC_")) || (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_")))) {
573
+ var _effectiveEnv_key;
574
+ replace(node, (_effectiveEnv_key = effectiveEnv[key]) !== null && _effectiveEnv_key !== void 0 ? _effectiveEnv_key : void 0);
575
+ return;
576
+ }
577
+ if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
578
+ replace(node, effectiveEnv[key]);
579
+ return;
580
+ }
581
+ if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
582
+ edits.push({
583
+ start: node.start,
584
+ end: node.end,
585
+ text: JSON.stringify(effectiveEnv)
586
+ });
587
+ return;
588
+ }
589
+ if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in effectiveEnv) {
590
+ replace(node, effectiveEnv[key]);
591
+ return;
592
+ }
593
+ }
594
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
595
+ try {
596
+ for (var _iterator2 = Object.keys(node)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
597
+ var k = _step2.value;
598
+ if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
599
+ var child = node[k];
600
+ if (Array.isArray(child)) {
601
+ var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
602
+ try {
603
+ for (var _iterator12 = child[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
604
+ var item = _step12.value;
605
+ walk(item, node);
606
+ }
607
+ } catch (err) {
608
+ _didIteratorError12 = true;
609
+ _iteratorError12 = err;
610
+ } finally {
611
+ try {
612
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
613
+ _iterator12.return();
614
+ }
615
+ } finally {
616
+ if (_didIteratorError12) {
617
+ throw _iteratorError12;
618
+ }
619
+ }
620
+ }
621
+ } else if (child && typeof child === "object") {
622
+ walk(child, node);
623
+ }
624
+ }
625
+ } catch (err) {
626
+ _didIteratorError2 = true;
627
+ _iteratorError2 = err;
628
+ } finally {
629
+ try {
630
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
631
+ _iterator2.return();
632
+ }
633
+ } finally {
634
+ if (_didIteratorError2) {
635
+ throw _iteratorError2;
636
+ }
637
+ }
638
+ }
639
+ }
640
+ walk(parsed.program, null);
641
+ function testValue(node) {
642
+ if (known.has(node)) return !!known.get(node);
643
+ if ((node === null || node === void 0 ? void 0 : node.type) === "UnaryExpression" && node.operator === "!") {
644
+ var inner = testValue(node.argument);
645
+ return inner === void 0 ? void 0 : !inner;
646
+ }
647
+ if ((node === null || node === void 0 ? void 0 : node.type) === "BinaryExpression" && (node.operator === "===" || node.operator === "!==")) {
648
+ var _node_right, _node_right1;
649
+ var left = known.has(node.left) ? known.get(node.left) : void 0;
650
+ var right = ((_node_right = node.right) === null || _node_right === void 0 ? void 0 : _node_right.type) === "Literal" ? node.right.value : void 0;
651
+ if (!known.has(node.left) || ((_node_right1 = node.right) === null || _node_right1 === void 0 ? void 0 : _node_right1.type) !== "Literal") return void 0;
652
+ return node.operator === "===" ? left === right : left !== right;
653
+ }
654
+ return void 0;
655
+ }
656
+ var dead = [];
657
+ (function foldWalk(node) {
658
+ if (!node || typeof node !== "object") return;
659
+ if (Array.isArray(node)) {
660
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
661
+ try {
662
+ for (var _iterator2 = node[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
663
+ var child = _step2.value;
664
+ foldWalk(child);
665
+ }
666
+ } catch (err) {
667
+ _didIteratorError2 = true;
668
+ _iteratorError2 = err;
669
+ } finally {
670
+ try {
671
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
672
+ _iterator2.return();
673
+ }
674
+ } finally {
675
+ if (_didIteratorError2) {
676
+ throw _iteratorError2;
677
+ }
678
+ }
679
+ }
680
+ return;
681
+ }
682
+ if (node.type === "IfStatement" || node.type === "ConditionalExpression") {
683
+ var value = testValue(node.test);
684
+ if (value !== void 0) {
685
+ var kept = value ? node.consequent : node.alternate;
686
+ if (!kept) {
687
+ dead.push({
688
+ start: node.start,
689
+ end: node.end,
690
+ text: ";"
691
+ });
692
+ return;
693
+ }
694
+ dead.push({
695
+ start: node.start,
696
+ end: kept.start,
697
+ text: ""
698
+ });
699
+ if (kept.end < node.end) {
700
+ dead.push({
701
+ start: kept.end,
702
+ end: node.end,
703
+ text: ""
704
+ });
705
+ }
706
+ foldWalk(kept);
707
+ return;
708
+ }
709
+ }
710
+ var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
711
+ try {
712
+ for (var _iterator12 = Object.keys(node)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
713
+ var k = _step12.value;
714
+ if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
715
+ foldWalk(node[k]);
716
+ }
717
+ } catch (err) {
718
+ _didIteratorError12 = true;
719
+ _iteratorError12 = err;
720
+ } finally {
721
+ try {
722
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
723
+ _iterator12.return();
724
+ }
725
+ } finally {
726
+ if (_didIteratorError12) {
727
+ throw _iteratorError12;
728
+ }
729
+ }
730
+ }
731
+ })(parsed.program);
732
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
733
+ try {
734
+ for (var _iterator = dead[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
735
+ var range = _step.value;
736
+ ms.overwrite(range.start, range.end, range.text);
737
+ }
738
+ } catch (err) {
739
+ _didIteratorError = true;
740
+ _iteratorError = err;
741
+ } finally {
742
+ try {
743
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
744
+ _iterator.return();
745
+ }
746
+ } finally {
747
+ if (_didIteratorError) {
748
+ throw _iteratorError;
749
+ }
750
+ }
751
+ }
752
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
753
+ try {
754
+ var _loop = function() {
755
+ var edit = _step1.value;
756
+ if (dead.some(function(d) {
757
+ return edit.start >= d.start && edit.end <= d.end;
758
+ })) return "continue";
759
+ ms.overwrite(edit.start, edit.end, edit.text);
760
+ };
761
+ for (var _iterator1 = edits[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();
762
+ } catch (err) {
763
+ _didIteratorError1 = true;
764
+ _iteratorError1 = err;
765
+ } finally {
766
+ try {
767
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
768
+ _iterator1.return();
769
+ }
770
+ } finally {
771
+ if (_didIteratorError1) {
772
+ throw _iteratorError1;
773
+ }
774
+ }
775
+ }
776
+ return ms.hasChanged() ? ms.toString() : code;
820
777
  }
821
- var GUARD_SPECIFIERS = /* @__PURE__ */new Set(["server-only", "client-only", "web-only"]);
778
+ var GUARD_SPECIFIERS = /* @__PURE__ */ new Set([
779
+ "server-only",
780
+ "client-only",
781
+ "web-only"
782
+ ]);
822
783
  function applyEnvironmentGuard(code, filename) {
823
- var _parsed_errors, _parsed_program;
824
- var parsed = parseSync(filename, code, {
825
- lang: langForFilename(filename)
826
- });
827
- if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
828
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for environment guards: ${parsed.errors[0].message}`);
829
- }
830
- var body = parsed === null || parsed === void 0 ? void 0 : (_parsed_program = parsed.program) === null || _parsed_program === void 0 ? void 0 : _parsed_program.body;
831
- if (!body) return code;
832
- var ms = new MagicString(code);
833
- var changed = false;
834
- var _iteratorNormalCompletion = true,
835
- _didIteratorError = false,
836
- _iteratorError = void 0;
837
- try {
838
- for (var _iterator = body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
839
- var node = _step.value;
840
- var _node_source;
841
- if (node.type !== "ImportDeclaration") continue;
842
- var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;
843
- if (source === "native-only") {
844
- ms.remove(node.start, node.end);
845
- changed = true;
846
- } else if (GUARD_SPECIFIERS.has(source)) {
847
- ms.overwrite(node.start, node.end, `throw new Error(${JSON.stringify(`${source} cannot be imported in a native environment`)});`);
848
- changed = true;
849
- }
850
- }
851
- } catch (err) {
852
- _didIteratorError = true;
853
- _iteratorError = err;
854
- } finally {
855
- try {
856
- if (!_iteratorNormalCompletion && _iterator.return != null) {
857
- _iterator.return();
858
- }
859
- } finally {
860
- if (_didIteratorError) {
861
- throw _iteratorError;
862
- }
863
- }
864
- }
865
- return changed ? ms.toString() : code;
784
+ var _parsed_errors, _parsed_program;
785
+ var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
786
+ if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
787
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for environment guards: ${parsed.errors[0].message}`);
788
+ }
789
+ var body = parsed === null || parsed === void 0 ? void 0 : (_parsed_program = parsed.program) === null || _parsed_program === void 0 ? void 0 : _parsed_program.body;
790
+ if (!body) return code;
791
+ var ms = new MagicString(code);
792
+ var changed = false;
793
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
794
+ try {
795
+ for (var _iterator = body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
796
+ var node = _step.value;
797
+ var _node_source;
798
+ if (node.type !== "ImportDeclaration") continue;
799
+ var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;
800
+ if (source === "native-only") {
801
+ ms.remove(node.start, node.end);
802
+ changed = true;
803
+ } else if (GUARD_SPECIFIERS.has(source)) {
804
+ ms.overwrite(node.start, node.end, `throw new Error(${JSON.stringify(`${source} cannot be imported in a native environment`)});`);
805
+ changed = true;
806
+ }
807
+ }
808
+ } catch (err) {
809
+ _didIteratorError = true;
810
+ _iteratorError = err;
811
+ } finally {
812
+ try {
813
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
814
+ _iterator.return();
815
+ }
816
+ } finally {
817
+ if (_didIteratorError) {
818
+ throw _iteratorError;
819
+ }
820
+ }
821
+ }
822
+ return changed ? ms.toString() : code;
866
823
  }
867
824
  function applyOneRouterMetro(code, filename, options) {
868
- var _parsed_errors;
869
- var isMetroEntry = filename.endsWith("metro-entry.js");
870
- var isEntryCtx = filename.endsWith("metro-entry-ctx.js");
871
- if (!isMetroEntry && !isEntryCtx) return code;
872
- var parsed = parseSync(filename, code, {
873
- lang: langForFilename(filename)
874
- });
875
- if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
876
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for one-router-metro: ${parsed.errors[0].message}`);
877
- }
878
- if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
879
- var ms = new MagicString(code);
880
- var lastImportEnd = -1;
881
- function replacementFor(key) {
882
- if (key.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY")) {
883
- return JSON.stringify(options.ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY);
884
- }
885
- if (key.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME")) {
886
- return JSON.stringify(options.ONE_ROUTER_ROOT_FOLDER_NAME);
887
- }
888
- if (key.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX")) {
889
- return `/${options.ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING}/`;
890
- }
891
- if (key === "ONE_ROUTER_LINKING_CONFIG") {
892
- var _options_ONE_ROUTER_LINKING_CONFIG;
893
- return isMetroEntry ? JSON.stringify((_options_ONE_ROUTER_LINKING_CONFIG = options.ONE_ROUTER_LINKING_CONFIG) !== null && _options_ONE_ROUTER_LINKING_CONFIG !== void 0 ? _options_ONE_ROUTER_LINKING_CONFIG : null) : void 0;
894
- }
895
- if (key === "ONE_SETUP_FILE_NATIVE") {
896
- return options.ONE_SETUP_FILE_NATIVE ? JSON.stringify(options.ONE_SETUP_FILE_NATIVE) : "undefined";
897
- }
898
- return void 0;
899
- }
900
- function walk(node, parent) {
901
- var _node_object, _node_object_object, _node_object_property;
902
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
903
- if (node.type === "ImportDeclaration" && parent === parsed.program) {
904
- lastImportEnd = Math.max(lastImportEnd, node.end);
905
- }
906
- if (node.type === "MemberExpression" && ((_node_object = node.object) === null || _node_object === void 0 ? void 0 : _node_object.type) === "MemberExpression" && !node.object.computed && ((_node_object_object = node.object.object) === null || _node_object_object === void 0 ? void 0 : _node_object_object.type) === "Identifier" && node.object.object.name === "process" && ((_node_object_property = node.object.property) === null || _node_object_property === void 0 ? void 0 : _node_object_property.type) === "Identifier" && node.object.property.name === "env") {
907
- var _node_property, _node_property1;
908
- var key = node.computed ? ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.type) === "Literal" && typeof node.property.value === "string" ? node.property.value : void 0 : ((_node_property1 = node.property) === null || _node_property1 === void 0 ? void 0 : _node_property1.type) === "Identifier" ? node.property.name : void 0;
909
- var isAssignTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
910
- if (key && !isAssignTarget) {
911
- var replacement = replacementFor(key);
912
- if (replacement !== void 0) {
913
- ms.overwrite(node.start, node.end, replacement);
914
- }
915
- }
916
- }
917
- var _iteratorNormalCompletion = true,
918
- _didIteratorError = false,
919
- _iteratorError = void 0;
920
- try {
921
- for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
922
- var k = _step.value;
923
- if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
924
- var child = node[k];
925
- if (Array.isArray(child)) {
926
- var _iteratorNormalCompletion1 = true,
927
- _didIteratorError1 = false,
928
- _iteratorError1 = void 0;
929
- try {
930
- for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
931
- var item = _step1.value;
932
- walk(item, node);
933
- }
934
- } catch (err) {
935
- _didIteratorError1 = true;
936
- _iteratorError1 = err;
937
- } finally {
938
- try {
939
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
940
- _iterator1.return();
941
- }
942
- } finally {
943
- if (_didIteratorError1) {
944
- throw _iteratorError1;
945
- }
946
- }
947
- }
948
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
949
- walk(child, node);
950
- }
951
- }
952
- } catch (err) {
953
- _didIteratorError = true;
954
- _iteratorError = err;
955
- } finally {
956
- try {
957
- if (!_iteratorNormalCompletion && _iterator.return != null) {
958
- _iterator.return();
959
- }
960
- } finally {
961
- if (_didIteratorError) {
962
- throw _iteratorError;
963
- }
964
- }
965
- }
966
- }
967
- walk(parsed.program, parsed.program);
968
- if (isMetroEntry && options.ONE_SETUP_FILE_NATIVE) {
969
- var stmt = `
825
+ var _parsed_errors;
826
+ var isMetroEntry = filename.endsWith("metro-entry.js");
827
+ var isEntryCtx = filename.endsWith("metro-entry-ctx.js");
828
+ if (!isMetroEntry && !isEntryCtx) return code;
829
+ var parsed = parseSync(filename, code, { lang: langForFilename(filename) });
830
+ if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
831
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for one-router-metro: ${parsed.errors[0].message}`);
832
+ }
833
+ if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
834
+ var ms = new MagicString(code);
835
+ var lastImportEnd = -1;
836
+ function replacementFor(key) {
837
+ if (key.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY")) {
838
+ return JSON.stringify(options.ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY);
839
+ }
840
+ if (key.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME")) {
841
+ return JSON.stringify(options.ONE_ROUTER_ROOT_FOLDER_NAME);
842
+ }
843
+ if (key.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX")) {
844
+ return `/${options.ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING}/`;
845
+ }
846
+ if (key === "ONE_ROUTER_LINKING_CONFIG") {
847
+ var _options_ONE_ROUTER_LINKING_CONFIG;
848
+ return isMetroEntry ? JSON.stringify((_options_ONE_ROUTER_LINKING_CONFIG = options.ONE_ROUTER_LINKING_CONFIG) !== null && _options_ONE_ROUTER_LINKING_CONFIG !== void 0 ? _options_ONE_ROUTER_LINKING_CONFIG : null) : void 0;
849
+ }
850
+ if (key === "ONE_SETUP_FILE_NATIVE") {
851
+ return options.ONE_SETUP_FILE_NATIVE ? JSON.stringify(options.ONE_SETUP_FILE_NATIVE) : "undefined";
852
+ }
853
+ return void 0;
854
+ }
855
+ function walk(node, parent) {
856
+ var _node_object, _node_object_object, _node_object_property;
857
+ if (!node || typeof node !== "object") return;
858
+ if (node.type === "ImportDeclaration" && parent === parsed.program) {
859
+ lastImportEnd = Math.max(lastImportEnd, node.end);
860
+ }
861
+ if (node.type === "MemberExpression" && ((_node_object = node.object) === null || _node_object === void 0 ? void 0 : _node_object.type) === "MemberExpression" && !node.object.computed && ((_node_object_object = node.object.object) === null || _node_object_object === void 0 ? void 0 : _node_object_object.type) === "Identifier" && node.object.object.name === "process" && ((_node_object_property = node.object.property) === null || _node_object_property === void 0 ? void 0 : _node_object_property.type) === "Identifier" && node.object.property.name === "env") {
862
+ var _node_property, _node_property1;
863
+ var key = node.computed ? ((_node_property = node.property) === null || _node_property === void 0 ? void 0 : _node_property.type) === "Literal" && typeof node.property.value === "string" ? node.property.value : void 0 : ((_node_property1 = node.property) === null || _node_property1 === void 0 ? void 0 : _node_property1.type) === "Identifier" ? node.property.name : void 0;
864
+ var isAssignTarget = (parent === null || parent === void 0 ? void 0 : parent.type) === "AssignmentExpression" && parent.left === node;
865
+ if (key && !isAssignTarget) {
866
+ var replacement = replacementFor(key);
867
+ if (replacement !== void 0) {
868
+ ms.overwrite(node.start, node.end, replacement);
869
+ }
870
+ }
871
+ }
872
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
873
+ try {
874
+ for (var _iterator = Object.keys(node)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
875
+ var k = _step.value;
876
+ if (k === "start" || k === "end" || k === "loc" || k === "range" || k === "parent" || k === "comments") continue;
877
+ var child = node[k];
878
+ if (Array.isArray(child)) {
879
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
880
+ try {
881
+ for (var _iterator1 = child[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
882
+ var item = _step1.value;
883
+ walk(item, node);
884
+ }
885
+ } catch (err) {
886
+ _didIteratorError1 = true;
887
+ _iteratorError1 = err;
888
+ } finally {
889
+ try {
890
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
891
+ _iterator1.return();
892
+ }
893
+ } finally {
894
+ if (_didIteratorError1) {
895
+ throw _iteratorError1;
896
+ }
897
+ }
898
+ }
899
+ } else if (child && typeof child === "object") {
900
+ walk(child, node);
901
+ }
902
+ }
903
+ } catch (err) {
904
+ _didIteratorError = true;
905
+ _iteratorError = err;
906
+ } finally {
907
+ try {
908
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
909
+ _iterator.return();
910
+ }
911
+ } finally {
912
+ if (_didIteratorError) {
913
+ throw _iteratorError;
914
+ }
915
+ }
916
+ }
917
+ }
918
+ walk(parsed.program, parsed.program);
919
+ if (isMetroEntry && options.ONE_SETUP_FILE_NATIVE) {
920
+ var stmt = `
970
921
  import ${JSON.stringify(options.ONE_SETUP_FILE_NATIVE)};`;
971
- if (lastImportEnd >= 0) {
972
- ms.appendRight(lastImportEnd, stmt);
973
- } else {
974
- ms.prepend(`${stmt}
922
+ if (lastImportEnd >= 0) {
923
+ ms.appendRight(lastImportEnd, stmt);
924
+ } else {
925
+ ms.prepend(`${stmt}
975
926
  `);
976
- }
977
- }
978
- return ms.toString();
927
+ }
928
+ }
929
+ return ms.toString();
979
930
  }
980
931
  function collectPatternNames(pattern, names) {
981
- if (!pattern) return;
982
- if (pattern.type === "Identifier") {
983
- names.add(pattern.name);
984
- } else if (pattern.type === "AssignmentPattern") {
985
- collectPatternNames(pattern.left, names);
986
- } else if (pattern.type === "ObjectPattern") {
987
- var _iteratorNormalCompletion = true,
988
- _didIteratorError = false,
989
- _iteratorError = void 0;
990
- try {
991
- for (var _iterator = (pattern.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
992
- var prop = _step.value;
993
- if (prop.type === "Property") collectPatternNames(prop.value, names);else if (prop.type === "RestElement") collectPatternNames(prop.argument, names);
994
- }
995
- } catch (err) {
996
- _didIteratorError = true;
997
- _iteratorError = err;
998
- } finally {
999
- try {
1000
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1001
- _iterator.return();
1002
- }
1003
- } finally {
1004
- if (_didIteratorError) {
1005
- throw _iteratorError;
1006
- }
1007
- }
1008
- }
1009
- } else if (pattern.type === "ArrayPattern") {
1010
- var _iteratorNormalCompletion1 = true,
1011
- _didIteratorError1 = false,
1012
- _iteratorError1 = void 0;
1013
- try {
1014
- for (var _iterator1 = (pattern.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1015
- var elem = _step1.value;
1016
- if (elem) collectPatternNames(elem, names);
1017
- }
1018
- } catch (err) {
1019
- _didIteratorError1 = true;
1020
- _iteratorError1 = err;
1021
- } finally {
1022
- try {
1023
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1024
- _iterator1.return();
1025
- }
1026
- } finally {
1027
- if (_didIteratorError1) {
1028
- throw _iteratorError1;
1029
- }
1030
- }
1031
- }
1032
- } else if (pattern.type === "RestElement") {
1033
- collectPatternNames(pattern.argument, names);
1034
- }
932
+ if (!pattern) return;
933
+ if (pattern.type === "Identifier") {
934
+ names.add(pattern.name);
935
+ } else if (pattern.type === "AssignmentPattern") {
936
+ collectPatternNames(pattern.left, names);
937
+ } else if (pattern.type === "ObjectPattern") {
938
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
939
+ try {
940
+ for (var _iterator = (pattern.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
941
+ var prop = _step.value;
942
+ if (prop.type === "Property") collectPatternNames(prop.value, names);
943
+ else if (prop.type === "RestElement") collectPatternNames(prop.argument, names);
944
+ }
945
+ } catch (err) {
946
+ _didIteratorError = true;
947
+ _iteratorError = err;
948
+ } finally {
949
+ try {
950
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
951
+ _iterator.return();
952
+ }
953
+ } finally {
954
+ if (_didIteratorError) {
955
+ throw _iteratorError;
956
+ }
957
+ }
958
+ }
959
+ } else if (pattern.type === "ArrayPattern") {
960
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
961
+ try {
962
+ for (var _iterator1 = (pattern.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
963
+ var elem = _step1.value;
964
+ if (elem) collectPatternNames(elem, names);
965
+ }
966
+ } catch (err) {
967
+ _didIteratorError1 = true;
968
+ _iteratorError1 = err;
969
+ } finally {
970
+ try {
971
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
972
+ _iterator1.return();
973
+ }
974
+ } finally {
975
+ if (_didIteratorError1) {
976
+ throw _iteratorError1;
977
+ }
978
+ }
979
+ }
980
+ } else if (pattern.type === "RestElement") {
981
+ collectPatternNames(pattern.argument, names);
982
+ }
1035
983
  }
1036
984
  function collectHoistedBindings(node, names) {
1037
- function traverse(n) {
1038
- if (!n || (typeof n === "undefined" ? "undefined" : _type_of(n)) !== "object") return;
1039
- if (n === node) {} else if (n.type === "FunctionDeclaration" || n.type === "FunctionExpression" || n.type === "ArrowFunctionExpression") {
1040
- var _n_id;
1041
- if (n.type === "FunctionDeclaration" && ((_n_id = n.id) === null || _n_id === void 0 ? void 0 : _n_id.name)) {
1042
- names.add(n.id.name);
1043
- }
1044
- return;
1045
- }
1046
- if (n.type === "VariableDeclaration" && n.kind === "var") {
1047
- var _iteratorNormalCompletion = true,
1048
- _didIteratorError = false,
1049
- _iteratorError = void 0;
1050
- try {
1051
- for (var _iterator = (n.declarations || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1052
- var decl = _step.value;
1053
- collectPatternNames(decl.id, names);
1054
- }
1055
- } catch (err) {
1056
- _didIteratorError = true;
1057
- _iteratorError = err;
1058
- } finally {
1059
- try {
1060
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1061
- _iterator.return();
1062
- }
1063
- } finally {
1064
- if (_didIteratorError) {
1065
- throw _iteratorError;
1066
- }
1067
- }
1068
- }
1069
- }
1070
- var _iteratorNormalCompletion1 = true,
1071
- _didIteratorError1 = false,
1072
- _iteratorError1 = void 0;
1073
- try {
1074
- for (var _iterator1 = Object.keys(n)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1075
- var key = _step1.value;
1076
- if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1077
- var child = n[key];
1078
- if (Array.isArray(child)) {
1079
- var _iteratorNormalCompletion2 = true,
1080
- _didIteratorError2 = false,
1081
- _iteratorError2 = void 0;
1082
- try {
1083
- for (var _iterator2 = child[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1084
- var item = _step2.value;
1085
- traverse(item);
1086
- }
1087
- } catch (err) {
1088
- _didIteratorError2 = true;
1089
- _iteratorError2 = err;
1090
- } finally {
1091
- try {
1092
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1093
- _iterator2.return();
1094
- }
1095
- } finally {
1096
- if (_didIteratorError2) {
1097
- throw _iteratorError2;
1098
- }
1099
- }
1100
- }
1101
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
1102
- traverse(child);
1103
- }
1104
- }
1105
- } catch (err) {
1106
- _didIteratorError1 = true;
1107
- _iteratorError1 = err;
1108
- } finally {
1109
- try {
1110
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1111
- _iterator1.return();
1112
- }
1113
- } finally {
1114
- if (_didIteratorError1) {
1115
- throw _iteratorError1;
1116
- }
1117
- }
1118
- }
1119
- }
1120
- traverse(node);
985
+ function traverse(n) {
986
+ if (!n || typeof n !== "object") return;
987
+ if (n === node) {} else if (n.type === "FunctionDeclaration" || n.type === "FunctionExpression" || n.type === "ArrowFunctionExpression") {
988
+ var _n_id;
989
+ if (n.type === "FunctionDeclaration" && ((_n_id = n.id) === null || _n_id === void 0 ? void 0 : _n_id.name)) {
990
+ names.add(n.id.name);
991
+ }
992
+ return;
993
+ }
994
+ if (n.type === "VariableDeclaration" && n.kind === "var") {
995
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
996
+ try {
997
+ for (var _iterator = (n.declarations || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
998
+ var decl = _step.value;
999
+ collectPatternNames(decl.id, names);
1000
+ }
1001
+ } catch (err) {
1002
+ _didIteratorError = true;
1003
+ _iteratorError = err;
1004
+ } finally {
1005
+ try {
1006
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1007
+ _iterator.return();
1008
+ }
1009
+ } finally {
1010
+ if (_didIteratorError) {
1011
+ throw _iteratorError;
1012
+ }
1013
+ }
1014
+ }
1015
+ }
1016
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
1017
+ try {
1018
+ for (var _iterator1 = Object.keys(n)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1019
+ var key = _step1.value;
1020
+ if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1021
+ var child = n[key];
1022
+ if (Array.isArray(child)) {
1023
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
1024
+ try {
1025
+ for (var _iterator2 = child[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1026
+ var item = _step2.value;
1027
+ traverse(item);
1028
+ }
1029
+ } catch (err) {
1030
+ _didIteratorError2 = true;
1031
+ _iteratorError2 = err;
1032
+ } finally {
1033
+ try {
1034
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1035
+ _iterator2.return();
1036
+ }
1037
+ } finally {
1038
+ if (_didIteratorError2) {
1039
+ throw _iteratorError2;
1040
+ }
1041
+ }
1042
+ }
1043
+ } else if (child && typeof child === "object") {
1044
+ traverse(child);
1045
+ }
1046
+ }
1047
+ } catch (err) {
1048
+ _didIteratorError1 = true;
1049
+ _iteratorError1 = err;
1050
+ } finally {
1051
+ try {
1052
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1053
+ _iterator1.return();
1054
+ }
1055
+ } finally {
1056
+ if (_didIteratorError1) {
1057
+ throw _iteratorError1;
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1062
+ traverse(node);
1121
1063
  }
1122
1064
  function collectBlockBindings(statements, names) {
1123
- if (!Array.isArray(statements)) return;
1124
- var _iteratorNormalCompletion = true,
1125
- _didIteratorError = false,
1126
- _iteratorError = void 0;
1127
- try {
1128
- for (var _iterator = statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1129
- var stmt = _step.value;
1130
- var _stmt_id, _stmt_id1;
1131
- if (!stmt) continue;
1132
- if (stmt.type === "VariableDeclaration" && stmt.kind !== "var") {
1133
- var _iteratorNormalCompletion1 = true,
1134
- _didIteratorError1 = false,
1135
- _iteratorError1 = void 0;
1136
- try {
1137
- for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1138
- var decl = _step1.value;
1139
- collectPatternNames(decl.id, names);
1140
- }
1141
- } catch (err) {
1142
- _didIteratorError1 = true;
1143
- _iteratorError1 = err;
1144
- } finally {
1145
- try {
1146
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1147
- _iterator1.return();
1148
- }
1149
- } finally {
1150
- if (_didIteratorError1) {
1151
- throw _iteratorError1;
1152
- }
1153
- }
1154
- }
1155
- } else if (stmt.type === "ClassDeclaration" && ((_stmt_id = stmt.id) === null || _stmt_id === void 0 ? void 0 : _stmt_id.name)) {
1156
- names.add(stmt.id.name);
1157
- } else if (stmt.type === "FunctionDeclaration" && ((_stmt_id1 = stmt.id) === null || _stmt_id1 === void 0 ? void 0 : _stmt_id1.name)) {
1158
- names.add(stmt.id.name);
1159
- }
1160
- }
1161
- } catch (err) {
1162
- _didIteratorError = true;
1163
- _iteratorError = err;
1164
- } finally {
1165
- try {
1166
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1167
- _iterator.return();
1168
- }
1169
- } finally {
1170
- if (_didIteratorError) {
1171
- throw _iteratorError;
1172
- }
1173
- }
1174
- }
1065
+ if (!Array.isArray(statements)) return;
1066
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1067
+ try {
1068
+ for (var _iterator = statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1069
+ var stmt = _step.value;
1070
+ var _stmt_id, _stmt_id1;
1071
+ if (!stmt) continue;
1072
+ if (stmt.type === "VariableDeclaration" && stmt.kind !== "var") {
1073
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
1074
+ try {
1075
+ for (var _iterator1 = (stmt.declarations || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1076
+ var decl = _step1.value;
1077
+ collectPatternNames(decl.id, names);
1078
+ }
1079
+ } catch (err) {
1080
+ _didIteratorError1 = true;
1081
+ _iteratorError1 = err;
1082
+ } finally {
1083
+ try {
1084
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1085
+ _iterator1.return();
1086
+ }
1087
+ } finally {
1088
+ if (_didIteratorError1) {
1089
+ throw _iteratorError1;
1090
+ }
1091
+ }
1092
+ }
1093
+ } else if (stmt.type === "ClassDeclaration" && ((_stmt_id = stmt.id) === null || _stmt_id === void 0 ? void 0 : _stmt_id.name)) {
1094
+ names.add(stmt.id.name);
1095
+ } else if (stmt.type === "FunctionDeclaration" && ((_stmt_id1 = stmt.id) === null || _stmt_id1 === void 0 ? void 0 : _stmt_id1.name)) {
1096
+ names.add(stmt.id.name);
1097
+ }
1098
+ }
1099
+ } catch (err) {
1100
+ _didIteratorError = true;
1101
+ _iteratorError = err;
1102
+ } finally {
1103
+ try {
1104
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1105
+ _iterator.return();
1106
+ }
1107
+ } finally {
1108
+ if (_didIteratorError) {
1109
+ throw _iteratorError;
1110
+ }
1111
+ }
1112
+ }
1175
1113
  }
1176
- var ScopeTracker = /* @__PURE__ */function () {
1177
- "use strict";
1178
-
1179
- function ScopeTracker2() {
1180
- _class_call_check(this, ScopeTracker2);
1181
- _define_property(this, "stack", [/* @__PURE__ */new Set()]);
1182
- }
1183
- _create_class(ScopeTracker2, [{
1184
- key: "enter",
1185
- value: function enter(initialBindings) {
1186
- this.stack.push(new Set(initialBindings));
1187
- }
1188
- }, {
1189
- key: "exit",
1190
- value: function exit() {
1191
- if (this.stack.length > 1) {
1192
- this.stack.pop();
1193
- }
1194
- }
1195
- }, {
1196
- key: "add",
1197
- value: function add(name) {
1198
- this.stack[this.stack.length - 1].add(name);
1199
- }
1200
- }, {
1201
- key: "currentScope",
1202
- value: function currentScope() {
1203
- return this.stack[this.stack.length - 1];
1204
- }
1205
- }, {
1206
- key: "addPattern",
1207
- value: function addPattern(pattern) {
1208
- collectPatternNames(pattern, this.currentScope());
1209
- }
1210
- }, {
1211
- key: "isShadowed",
1212
- value: function isShadowed(name) {
1213
- for (var i = this.stack.length - 1; i >= 0; i--) {
1214
- if (this.stack[i].has(name)) return true;
1215
- }
1216
- return false;
1217
- }
1218
- }]);
1219
- return ScopeTracker2;
1220
- }();
1114
+ var ScopeTracker = /* @__PURE__ */ (function() {
1115
+ "use strict";
1116
+ function ScopeTracker2() {
1117
+ _class_call_check(this, ScopeTracker2);
1118
+ _define_property(this, "stack", [/* @__PURE__ */ new Set()]);
1119
+ }
1120
+ _create_class(ScopeTracker2, [
1121
+ {
1122
+ key: "enter",
1123
+ value: function enter(initialBindings) {
1124
+ this.stack.push(new Set(initialBindings));
1125
+ }
1126
+ },
1127
+ {
1128
+ key: "exit",
1129
+ value: function exit() {
1130
+ if (this.stack.length > 1) {
1131
+ this.stack.pop();
1132
+ }
1133
+ }
1134
+ },
1135
+ {
1136
+ key: "add",
1137
+ value: function add(name) {
1138
+ this.stack[this.stack.length - 1].add(name);
1139
+ }
1140
+ },
1141
+ {
1142
+ key: "currentScope",
1143
+ value: function currentScope() {
1144
+ return this.stack[this.stack.length - 1];
1145
+ }
1146
+ },
1147
+ {
1148
+ key: "addPattern",
1149
+ value: function addPattern(pattern) {
1150
+ collectPatternNames(pattern, this.currentScope());
1151
+ }
1152
+ },
1153
+ {
1154
+ key: "isShadowed",
1155
+ value: function isShadowed(name) {
1156
+ for (var i = this.stack.length - 1; i >= 0; i--) {
1157
+ if (this.stack[i].has(name)) return true;
1158
+ }
1159
+ return false;
1160
+ }
1161
+ }
1162
+ ]);
1163
+ return ScopeTracker2;
1164
+ })();
1221
1165
  function getCacheKey() {
1222
- var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
1223
- opts = arguments.length > 1 ? arguments[1] : void 0;
1224
- var hash = crypto.createHash("sha256");
1225
- hash.update("metroNativeWorker");
1226
- hash.update(WORKER_CACHE_KEY_VERSION);
1227
- if (config.globalPrefix) {
1228
- hash.update(config.globalPrefix);
1229
- }
1230
- if (config.unstable_dependencyMapReservedName) {
1231
- hash.update(config.unstable_dependencyMapReservedName);
1232
- }
1233
- if (config.minifierPath) {
1234
- hash.update(config.minifierPath);
1235
- }
1236
- if (opts === null || opts === void 0 ? void 0 : opts.projectRoot) {
1237
- hash.update(opts.projectRoot);
1238
- }
1239
- return hash.digest("hex");
1166
+ var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, opts = arguments.length > 1 ? arguments[1] : void 0;
1167
+ var hash = crypto.createHash("sha256");
1168
+ hash.update("metroNativeWorker");
1169
+ hash.update(WORKER_CACHE_KEY_VERSION);
1170
+ if (config.globalPrefix) {
1171
+ hash.update(config.globalPrefix);
1172
+ }
1173
+ if (config.unstable_dependencyMapReservedName) {
1174
+ hash.update(config.unstable_dependencyMapReservedName);
1175
+ }
1176
+ if (config.minifierPath) {
1177
+ hash.update(config.minifierPath);
1178
+ }
1179
+ if (opts === null || opts === void 0 ? void 0 : opts.projectRoot) {
1180
+ hash.update(opts.projectRoot);
1181
+ }
1182
+ return hash.digest("hex");
1240
1183
  }
1241
1184
  function convertSourceMapToMetroRawMappings(composedMap) {
1242
- if (!composedMap) return [];
1243
- var tracer = new TraceMap(composedMap);
1244
- var rawMappings = [];
1245
- eachMapping(tracer, function (m) {
1246
- if (m.originalLine == null) {
1247
- rawMappings.push([m.generatedLine, m.generatedColumn]);
1248
- } else if (m.name == null) {
1249
- rawMappings.push([m.generatedLine, m.generatedColumn, m.originalLine, m.originalColumn]);
1250
- } else {
1251
- rawMappings.push([m.generatedLine, m.generatedColumn, m.originalLine, m.originalColumn, m.name]);
1252
- }
1253
- });
1254
- rawMappings.sort(function (a, b) {
1255
- if (a[0] !== b[0]) return a[0] - b[0];
1256
- return a[1] - b[1];
1257
- });
1258
- var deduped = [];
1259
- var _iteratorNormalCompletion = true,
1260
- _didIteratorError = false,
1261
- _iteratorError = void 0;
1262
- try {
1263
- for (var _iterator = rawMappings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1264
- var mapping = _step.value;
1265
- var prev = deduped[deduped.length - 1];
1266
- if (prev && prev[0] === mapping[0] && prev[1] === mapping[1]) {
1267
- continue;
1268
- }
1269
- deduped.push(mapping);
1270
- }
1271
- } catch (err) {
1272
- _didIteratorError = true;
1273
- _iteratorError = err;
1274
- } finally {
1275
- try {
1276
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1277
- _iterator.return();
1278
- }
1279
- } finally {
1280
- if (_didIteratorError) {
1281
- throw _iteratorError;
1282
- }
1283
- }
1284
- }
1285
- return deduped;
1185
+ if (!composedMap) return [];
1186
+ var tracer = new TraceMap(composedMap);
1187
+ var rawMappings = [];
1188
+ eachMapping(tracer, function(m) {
1189
+ if (m.originalLine == null) {
1190
+ rawMappings.push([m.generatedLine, m.generatedColumn]);
1191
+ } else if (m.name == null) {
1192
+ rawMappings.push([
1193
+ m.generatedLine,
1194
+ m.generatedColumn,
1195
+ m.originalLine,
1196
+ m.originalColumn
1197
+ ]);
1198
+ } else {
1199
+ rawMappings.push([
1200
+ m.generatedLine,
1201
+ m.generatedColumn,
1202
+ m.originalLine,
1203
+ m.originalColumn,
1204
+ m.name
1205
+ ]);
1206
+ }
1207
+ });
1208
+ rawMappings.sort(function(a, b) {
1209
+ if (a[0] !== b[0]) return a[0] - b[0];
1210
+ return a[1] - b[1];
1211
+ });
1212
+ var deduped = [];
1213
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1214
+ try {
1215
+ for (var _iterator = rawMappings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1216
+ var mapping = _step.value;
1217
+ var prev = deduped[deduped.length - 1];
1218
+ if (prev && prev[0] === mapping[0] && prev[1] === mapping[1]) {
1219
+ continue;
1220
+ }
1221
+ deduped.push(mapping);
1222
+ }
1223
+ } catch (err) {
1224
+ _didIteratorError = true;
1225
+ _iteratorError = err;
1226
+ } finally {
1227
+ try {
1228
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1229
+ _iterator.return();
1230
+ }
1231
+ } finally {
1232
+ if (_didIteratorError) {
1233
+ throw _iteratorError;
1234
+ }
1235
+ }
1236
+ }
1237
+ return deduped;
1286
1238
  }
1287
1239
  function countLinesAndTerminateMap(code) {
1288
- var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
1289
- var NEWLINE = /\r\n?|\n|\u2028|\u2029/g;
1290
- var lineCount = 1;
1291
- var lastLineStart = 0;
1292
- var _iteratorNormalCompletion = true,
1293
- _didIteratorError = false,
1294
- _iteratorError = void 0;
1295
- try {
1296
- for (var _iterator = code.matchAll(NEWLINE)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1297
- var match = _step.value;
1298
- lineCount++;
1299
- lastLineStart = match.index + match[0].length;
1300
- }
1301
- } catch (err) {
1302
- _didIteratorError = true;
1303
- _iteratorError = err;
1304
- } finally {
1305
- try {
1306
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1307
- _iterator.return();
1308
- }
1309
- } finally {
1310
- if (_didIteratorError) {
1311
- throw _iteratorError;
1312
- }
1313
- }
1314
- }
1315
- var lastLineLength = code.length - lastLineStart;
1316
- var lastLineIndex1Based = lineCount;
1317
- var lastLineNextColumn0Based = lastLineLength;
1318
- var lastMapping = map[map.length - 1];
1319
- var terminatingMapping = [lastLineIndex1Based, lastLineNextColumn0Based];
1320
- if (!lastMapping || lastMapping[0] !== terminatingMapping[0] || lastMapping[1] !== terminatingMapping[1]) {
1321
- return {
1322
- lineCount,
1323
- map: map.concat([terminatingMapping])
1324
- };
1325
- }
1326
- return {
1327
- lineCount,
1328
- map: [...map]
1329
- };
1240
+ var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
1241
+ var NEWLINE = /\r\n?|\n|\u2028|\u2029/g;
1242
+ var lineCount = 1;
1243
+ var lastLineStart = 0;
1244
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1245
+ try {
1246
+ for (var _iterator = code.matchAll(NEWLINE)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1247
+ var match = _step.value;
1248
+ lineCount++;
1249
+ lastLineStart = match.index + match[0].length;
1250
+ }
1251
+ } catch (err) {
1252
+ _didIteratorError = true;
1253
+ _iteratorError = err;
1254
+ } finally {
1255
+ try {
1256
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1257
+ _iterator.return();
1258
+ }
1259
+ } finally {
1260
+ if (_didIteratorError) {
1261
+ throw _iteratorError;
1262
+ }
1263
+ }
1264
+ }
1265
+ var lastLineLength = code.length - lastLineStart;
1266
+ var lastLineIndex1Based = lineCount;
1267
+ var lastLineNextColumn0Based = lastLineLength;
1268
+ var lastMapping = map[map.length - 1];
1269
+ var terminatingMapping = [lastLineIndex1Based, lastLineNextColumn0Based];
1270
+ if (!lastMapping || lastMapping[0] !== terminatingMapping[0] || lastMapping[1] !== terminatingMapping[1]) {
1271
+ return {
1272
+ lineCount,
1273
+ map: map.concat([terminatingMapping])
1274
+ };
1275
+ }
1276
+ return {
1277
+ lineCount,
1278
+ map: [...map]
1279
+ };
1330
1280
  }
1331
1281
  function wrapJson(source, options) {
1332
- var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
1333
- var factory = ["function (global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {", ` module.exports = ${source};`, "}"].join("\n");
1334
- if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
1335
- var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
1336
- return `${globalPrefix}__d(${factory}, ${JSON.stringify(options.moduleId)}, ${depIds});`;
1337
- }
1338
- return `${globalPrefix}__d(${factory});`;
1282
+ var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
1283
+ var factory = [
1284
+ "function (global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {",
1285
+ ` module.exports = ${source};`,
1286
+ "}"
1287
+ ].join("\n");
1288
+ if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
1289
+ var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
1290
+ return `${globalPrefix}__d(${factory}, ${JSON.stringify(options.moduleId)}, ${depIds});`;
1291
+ }
1292
+ return `${globalPrefix}__d(${factory});`;
1339
1293
  }
1340
1294
  function wrapModule(code, options) {
1341
- var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
1342
- var depMap = (options === null || options === void 0 ? void 0 : options.dependencyMapName) || "_dependencyMap";
1343
- var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMap}) {`;
1344
- var requireAlias = (options === null || options === void 0 ? void 0 : options.requireAlias) !== false ? "var require = _$$_REQUIRE;\n" : "";
1345
- var footer = `}`;
1346
- if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
1347
- var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
1348
- return `${globalPrefix}__d(${header}
1295
+ var globalPrefix = (options === null || options === void 0 ? void 0 : options.globalPrefix) || "";
1296
+ var depMap = (options === null || options === void 0 ? void 0 : options.dependencyMapName) || "_dependencyMap";
1297
+ var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMap}) {`;
1298
+ var requireAlias = (options === null || options === void 0 ? void 0 : options.requireAlias) !== false ? "var require = _$$_REQUIRE;\n" : "";
1299
+ var footer = `}`;
1300
+ if ((options === null || options === void 0 ? void 0 : options.moduleId) !== void 0) {
1301
+ var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
1302
+ return `${globalPrefix}__d(${header}
1349
1303
  ${requireAlias}${code}
1350
1304
  ${footer}, ${JSON.stringify(options.moduleId)}, ${depIds});`;
1351
- }
1352
- return `${globalPrefix}__d(${header}
1305
+ }
1306
+ return `${globalPrefix}__d(${header}
1353
1307
  ${requireAlias}${code}
1354
1308
  ${footer});`;
1355
1309
  }
1356
1310
  function getDependencyKey(name, isESM) {
1357
- var asyncType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null,
1358
- contextParams = arguments.length > 3 ? arguments[3] : void 0;
1359
- var key = `${name}\0${isESM ? "import" : "require"}`;
1360
- if (asyncType != null) {
1361
- key += `\0${asyncType}`;
1362
- }
1363
- if (contextParams) {
1364
- key += ["", "context", String(contextParams.recursive), String(contextParams.filter.pattern), String(contextParams.filter.flags), contextParams.mode].join("\0");
1365
- }
1366
- return key;
1311
+ var asyncType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, contextParams = arguments.length > 3 ? arguments[3] : void 0;
1312
+ var key = `${name}\0${isESM ? "import" : "require"}`;
1313
+ if (asyncType != null) {
1314
+ key += `\0${asyncType}`;
1315
+ }
1316
+ if (contextParams) {
1317
+ key += [
1318
+ "",
1319
+ "context",
1320
+ String(contextParams.recursive),
1321
+ String(contextParams.filter.pattern),
1322
+ String(contextParams.filter.flags),
1323
+ contextParams.mode
1324
+ ].join("\0");
1325
+ }
1326
+ return key;
1367
1327
  }
1368
1328
  function rewriteDependencyCalls(code, dependencies) {
1369
- var depMapName = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "_dependencyMap",
1370
- filename = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "module.js",
1371
- asyncRequirePath = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "metro-runtime/src/modules/asyncRequire";
1372
- var _parsed_errors;
1373
- var ms = new MagicString(code);
1374
- var emptyResult = {
1375
- code,
1376
- map: ms.generateMap({
1377
- source: filename,
1378
- hires: true,
1379
- includeContent: true
1380
- }),
1381
- toString() {
1382
- return code;
1383
- }
1384
- };
1385
- if (dependencies.length === 0) return emptyResult;
1386
- var parsed;
1387
- try {
1388
- parsed = parseSync(filename, code, {
1389
- lang: langForFilename(filename)
1390
- });
1391
- } catch (err) {
1392
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${err.message || err}`);
1393
- }
1394
- if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
1395
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${parsed.errors[0].message}`);
1396
- }
1397
- if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return emptyResult;
1398
- var contextLiteralBindings = collectModuleLiteralBindings(parsed.program);
1399
- var scopeTracker = new ScopeTracker();
1400
- collectHoistedBindings(parsed.program, scopeTracker.currentScope());
1401
- collectBlockBindings(parsed.program.body, scopeTracker.currentScope());
1402
- var _iteratorNormalCompletion = true,
1403
- _didIteratorError = false,
1404
- _iteratorError = void 0;
1405
- try {
1406
- for (var _iterator = (parsed.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1407
- var stmt = _step.value;
1408
- if (stmt.type === "ImportDeclaration") {
1409
- var _iteratorNormalCompletion1 = true,
1410
- _didIteratorError1 = false,
1411
- _iteratorError1 = void 0;
1412
- try {
1413
- for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1414
- var spec = _step1.value;
1415
- var _spec_local;
1416
- if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
1417
- scopeTracker.add(spec.local.name);
1418
- }
1419
- }
1420
- } catch (err) {
1421
- _didIteratorError1 = true;
1422
- _iteratorError1 = err;
1423
- } finally {
1424
- try {
1425
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1426
- _iterator1.return();
1427
- }
1428
- } finally {
1429
- if (_didIteratorError1) {
1430
- throw _iteratorError1;
1431
- }
1432
- }
1433
- }
1434
- }
1435
- }
1436
- } catch (err) {
1437
- _didIteratorError = true;
1438
- _iteratorError = err;
1439
- } finally {
1440
- try {
1441
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1442
- _iterator.return();
1443
- }
1444
- } finally {
1445
- if (_didIteratorError) {
1446
- throw _iteratorError;
1447
- }
1448
- }
1449
- }
1450
- function walk(node) {
1451
- var _node_source, _node_callee, _node_arguments, _node_callee1, _node_callee_object, _node_callee_property, _node_arguments1;
1452
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
1453
- var pushedScope = false;
1454
- if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
1455
- var _node_id;
1456
- scopeTracker.enter();
1457
- pushedScope = true;
1458
- var _iteratorNormalCompletion2 = true,
1459
- _didIteratorError2 = false,
1460
- _iteratorError2 = void 0;
1461
- try {
1462
- for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1463
- var param = _step2.value;
1464
- scopeTracker.addPattern(param);
1465
- }
1466
- } catch (err) {
1467
- _didIteratorError2 = true;
1468
- _iteratorError2 = err;
1469
- } finally {
1470
- try {
1471
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1472
- _iterator2.return();
1473
- }
1474
- } finally {
1475
- if (_didIteratorError2) {
1476
- throw _iteratorError2;
1477
- }
1478
- }
1479
- }
1480
- if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
1481
- scopeTracker.add(node.id.name);
1482
- }
1483
- if (node.body) {
1484
- collectHoistedBindings(node.body, scopeTracker.currentScope());
1485
- }
1486
- } else if (node.type === "BlockStatement") {
1487
- scopeTracker.enter();
1488
- pushedScope = true;
1489
- collectBlockBindings(node.body, scopeTracker.currentScope());
1490
- } else if (node.type === "CatchClause") {
1491
- scopeTracker.enter();
1492
- pushedScope = true;
1493
- if (node.param) {
1494
- scopeTracker.addPattern(node.param);
1495
- }
1496
- } else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
1497
- var decl = node.type === "ForStatement" ? node.init : node.left;
1498
- if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
1499
- scopeTracker.enter();
1500
- pushedScope = true;
1501
- var _iteratorNormalCompletion12 = true,
1502
- _didIteratorError12 = false,
1503
- _iteratorError12 = void 0;
1504
- try {
1505
- for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1506
- var d = _step12.value;
1507
- scopeTracker.addPattern(d.id);
1508
- }
1509
- } catch (err) {
1510
- _didIteratorError12 = true;
1511
- _iteratorError12 = err;
1512
- } finally {
1513
- try {
1514
- if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
1515
- _iterator12.return();
1516
- }
1517
- } finally {
1518
- if (_didIteratorError12) {
1519
- throw _iteratorError12;
1520
- }
1521
- }
1522
- }
1523
- }
1524
- }
1525
- if (node.type === "ImportExpression" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.type) === "Literal" && typeof node.source.value === "string") {
1526
- var depName = node.source.value;
1527
- var depKey = getDependencyKey(depName, true, "async");
1528
- var dep = dependencies.find(function (d2) {
1529
- return d2.data.key === depKey;
1530
- }) || dependencies.find(function (d2) {
1531
- return d2.name === depName && d2.data.asyncType === "async";
1532
- });
1533
- var asyncKey = getDependencyKey(asyncRequirePath, false, null);
1534
- var asyncDep = dependencies.find(function (d2) {
1535
- return d2.data.key === asyncKey;
1536
- }) || dependencies.find(function (d2) {
1537
- return d2.name === asyncRequirePath && d2.data.asyncType == null;
1538
- });
1539
- if (dep && asyncDep) {
1540
- var _dep_data_index, _asyncDep_data_index;
1541
- var depIndex = (_dep_data_index = dep.data.index) !== null && _dep_data_index !== void 0 ? _dep_data_index : dependencies.indexOf(dep);
1542
- var asyncIndex = (_asyncDep_data_index = asyncDep.data.index) !== null && _asyncDep_data_index !== void 0 ? _asyncDep_data_index : dependencies.indexOf(asyncDep);
1543
- ms.overwrite(node.start, node.end, `require(${depMapName}[${asyncIndex}], ${JSON.stringify(asyncRequirePath)})(${depMapName}[${depIndex}], ${depMapName}.paths, ${JSON.stringify(depName)})`);
1544
- }
1545
- } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require") && ((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments.length) >= 1) {
1546
- var arg = node.arguments[0];
1547
- if (arg.type === "Literal" && typeof arg.value === "string") {
1548
- var depKey1 = getDependencyKey(arg.value, false, null);
1549
- var dep1 = dependencies.find(function (d2) {
1550
- return d2.data.key === depKey1;
1551
- }) || dependencies.find(function (d2) {
1552
- return d2.name === arg.value && d2.data.asyncType == null;
1553
- });
1554
- if (dep1) {
1555
- var _dep_data_index1;
1556
- var index = (_dep_data_index1 = dep1.data.index) !== null && _dep_data_index1 !== void 0 ? _dep_data_index1 : dependencies.indexOf(dep1);
1557
- ms.overwrite(arg.start, arg.end, `${depMapName}[${index}], ${JSON.stringify(arg.value)}`);
1558
- }
1559
- }
1560
- } else if (
1561
- // metro rewrites require.context(dir, ...) down to a plain require of the
1562
- // single context module it registered for that directory.
1563
- node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require") && ((_node_arguments1 = node.arguments) === null || _node_arguments1 === void 0 ? void 0 : _node_arguments1.length) >= 1) {
1564
- var _node_arguments_;
1565
- var arg1 = ((_node_arguments_ = node.arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Identifier" ? contextLiteralBindings.get(node.arguments[0].name) : node.arguments[0];
1566
- if ((arg1 === null || arg1 === void 0 ? void 0 : arg1.type) === "Literal" && typeof arg1.value === "string") {
1567
- var dep2 = dependencies.find(function (d2) {
1568
- return d2.name === arg1.value && d2.data.contextParams != null;
1569
- });
1570
- if (dep2) {
1571
- var _dep_data_index2;
1572
- var index1 = (_dep_data_index2 = dep2.data.index) !== null && _dep_data_index2 !== void 0 ? _dep_data_index2 : dependencies.indexOf(dep2);
1573
- ms.overwrite(node.start, node.end, `require(${depMapName}[${index1}], ${JSON.stringify(arg1.value)})`);
1574
- }
1575
- }
1576
- }
1577
- var _iteratorNormalCompletion22 = true,
1578
- _didIteratorError22 = false,
1579
- _iteratorError22 = void 0;
1580
- try {
1581
- for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
1582
- var key = _step22.value;
1583
- if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1584
- var child = node[key];
1585
- if (Array.isArray(child)) {
1586
- var _iteratorNormalCompletion3 = true,
1587
- _didIteratorError3 = false,
1588
- _iteratorError3 = void 0;
1589
- try {
1590
- for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1591
- var item = _step3.value;
1592
- walk(item);
1593
- }
1594
- } catch (err) {
1595
- _didIteratorError3 = true;
1596
- _iteratorError3 = err;
1597
- } finally {
1598
- try {
1599
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1600
- _iterator3.return();
1601
- }
1602
- } finally {
1603
- if (_didIteratorError3) {
1604
- throw _iteratorError3;
1605
- }
1606
- }
1607
- }
1608
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
1609
- walk(child);
1610
- }
1611
- }
1612
- } catch (err) {
1613
- _didIteratorError22 = true;
1614
- _iteratorError22 = err;
1615
- } finally {
1616
- try {
1617
- if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
1618
- _iterator22.return();
1619
- }
1620
- } finally {
1621
- if (_didIteratorError22) {
1622
- throw _iteratorError22;
1623
- }
1624
- }
1625
- }
1626
- if (pushedScope) {
1627
- scopeTracker.exit();
1628
- }
1629
- }
1630
- walk(parsed.program);
1631
- var resultString = ms.toString();
1632
- var map = ms.generateMap({
1633
- source: filename,
1634
- hires: true,
1635
- includeContent: true
1636
- });
1637
- return {
1638
- code: resultString,
1639
- map,
1640
- toString() {
1641
- return resultString;
1642
- }
1643
- };
1329
+ var depMapName = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "_dependencyMap", filename = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "module.js", asyncRequirePath = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "metro-runtime/src/modules/asyncRequire";
1330
+ var _parsed_errors;
1331
+ var ms = new MagicString(code);
1332
+ var emptyResult = {
1333
+ code,
1334
+ map: ms.generateMap({
1335
+ source: filename,
1336
+ hires: true,
1337
+ includeContent: true
1338
+ }),
1339
+ toString() {
1340
+ return code;
1341
+ }
1342
+ };
1343
+ if (dependencies.length === 0) return emptyResult;
1344
+ var parsed;
1345
+ try {
1346
+ parsed = parseSync(filename, code, { lang: langForFilename(filename) });
1347
+ } catch (err) {
1348
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${err.message || err}`);
1349
+ }
1350
+ if (parsed === null || parsed === void 0 ? void 0 : (_parsed_errors = parsed.errors) === null || _parsed_errors === void 0 ? void 0 : _parsed_errors.length) {
1351
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency rewriting: ${parsed.errors[0].message}`);
1352
+ }
1353
+ if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return emptyResult;
1354
+ var contextLiteralBindings = collectModuleLiteralBindings(parsed.program);
1355
+ var scopeTracker = new ScopeTracker();
1356
+ collectHoistedBindings(parsed.program, scopeTracker.currentScope());
1357
+ collectBlockBindings(parsed.program.body, scopeTracker.currentScope());
1358
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1359
+ try {
1360
+ for (var _iterator = (parsed.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1361
+ var stmt = _step.value;
1362
+ if (stmt.type === "ImportDeclaration") {
1363
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
1364
+ try {
1365
+ for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1366
+ var spec = _step1.value;
1367
+ var _spec_local;
1368
+ if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
1369
+ scopeTracker.add(spec.local.name);
1370
+ }
1371
+ }
1372
+ } catch (err) {
1373
+ _didIteratorError1 = true;
1374
+ _iteratorError1 = err;
1375
+ } finally {
1376
+ try {
1377
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1378
+ _iterator1.return();
1379
+ }
1380
+ } finally {
1381
+ if (_didIteratorError1) {
1382
+ throw _iteratorError1;
1383
+ }
1384
+ }
1385
+ }
1386
+ }
1387
+ }
1388
+ } catch (err) {
1389
+ _didIteratorError = true;
1390
+ _iteratorError = err;
1391
+ } finally {
1392
+ try {
1393
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1394
+ _iterator.return();
1395
+ }
1396
+ } finally {
1397
+ if (_didIteratorError) {
1398
+ throw _iteratorError;
1399
+ }
1400
+ }
1401
+ }
1402
+ function walk(node) {
1403
+ var _node_source, _node_callee, _node_arguments, _node_callee1, _node_callee_object, _node_callee_property, _node_arguments1;
1404
+ if (!node || typeof node !== "object") return;
1405
+ var pushedScope = false;
1406
+ if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
1407
+ var _node_id;
1408
+ scopeTracker.enter();
1409
+ pushedScope = true;
1410
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
1411
+ try {
1412
+ for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1413
+ var param = _step2.value;
1414
+ scopeTracker.addPattern(param);
1415
+ }
1416
+ } catch (err) {
1417
+ _didIteratorError2 = true;
1418
+ _iteratorError2 = err;
1419
+ } finally {
1420
+ try {
1421
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1422
+ _iterator2.return();
1423
+ }
1424
+ } finally {
1425
+ if (_didIteratorError2) {
1426
+ throw _iteratorError2;
1427
+ }
1428
+ }
1429
+ }
1430
+ if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
1431
+ scopeTracker.add(node.id.name);
1432
+ }
1433
+ if (node.body) {
1434
+ collectHoistedBindings(node.body, scopeTracker.currentScope());
1435
+ }
1436
+ } else if (node.type === "BlockStatement") {
1437
+ scopeTracker.enter();
1438
+ pushedScope = true;
1439
+ collectBlockBindings(node.body, scopeTracker.currentScope());
1440
+ } else if (node.type === "CatchClause") {
1441
+ scopeTracker.enter();
1442
+ pushedScope = true;
1443
+ if (node.param) {
1444
+ scopeTracker.addPattern(node.param);
1445
+ }
1446
+ } else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
1447
+ var decl = node.type === "ForStatement" ? node.init : node.left;
1448
+ if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
1449
+ scopeTracker.enter();
1450
+ pushedScope = true;
1451
+ var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
1452
+ try {
1453
+ for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1454
+ var d = _step12.value;
1455
+ scopeTracker.addPattern(d.id);
1456
+ }
1457
+ } catch (err) {
1458
+ _didIteratorError12 = true;
1459
+ _iteratorError12 = err;
1460
+ } finally {
1461
+ try {
1462
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
1463
+ _iterator12.return();
1464
+ }
1465
+ } finally {
1466
+ if (_didIteratorError12) {
1467
+ throw _iteratorError12;
1468
+ }
1469
+ }
1470
+ }
1471
+ }
1472
+ }
1473
+ if (node.type === "ImportExpression" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.type) === "Literal" && typeof node.source.value === "string") {
1474
+ var depName = node.source.value;
1475
+ var depKey = getDependencyKey(depName, true, "async");
1476
+ var dep = dependencies.find(function(d2) {
1477
+ return d2.data.key === depKey;
1478
+ }) || dependencies.find(function(d2) {
1479
+ return d2.name === depName && d2.data.asyncType === "async";
1480
+ });
1481
+ var asyncKey = getDependencyKey(asyncRequirePath, false, null);
1482
+ var asyncDep = dependencies.find(function(d2) {
1483
+ return d2.data.key === asyncKey;
1484
+ }) || dependencies.find(function(d2) {
1485
+ return d2.name === asyncRequirePath && d2.data.asyncType == null;
1486
+ });
1487
+ if (dep && asyncDep) {
1488
+ var _dep_data_index, _asyncDep_data_index;
1489
+ var depIndex = (_dep_data_index = dep.data.index) !== null && _dep_data_index !== void 0 ? _dep_data_index : dependencies.indexOf(dep);
1490
+ var asyncIndex = (_asyncDep_data_index = asyncDep.data.index) !== null && _asyncDep_data_index !== void 0 ? _asyncDep_data_index : dependencies.indexOf(asyncDep);
1491
+ ms.overwrite(node.start, node.end, `require(${depMapName}[${asyncIndex}], ${JSON.stringify(asyncRequirePath)})(${depMapName}[${depIndex}], ${depMapName}.paths, ${JSON.stringify(depName)})`);
1492
+ }
1493
+ } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require") && ((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments.length) >= 1) {
1494
+ var arg = node.arguments[0];
1495
+ if (arg.type === "Literal" && typeof arg.value === "string") {
1496
+ var depKey1 = getDependencyKey(arg.value, false, null);
1497
+ var dep1 = dependencies.find(function(d2) {
1498
+ return d2.data.key === depKey1;
1499
+ }) || dependencies.find(function(d2) {
1500
+ return d2.name === arg.value && d2.data.asyncType == null;
1501
+ });
1502
+ if (dep1) {
1503
+ var _dep_data_index1;
1504
+ var index = (_dep_data_index1 = dep1.data.index) !== null && _dep_data_index1 !== void 0 ? _dep_data_index1 : dependencies.indexOf(dep1);
1505
+ ms.overwrite(arg.start, arg.end, `${depMapName}[${index}], ${JSON.stringify(arg.value)}`);
1506
+ }
1507
+ }
1508
+ } else if (node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require") && ((_node_arguments1 = node.arguments) === null || _node_arguments1 === void 0 ? void 0 : _node_arguments1.length) >= 1) {
1509
+ var _node_arguments_;
1510
+ var arg1 = ((_node_arguments_ = node.arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Identifier" ? contextLiteralBindings.get(node.arguments[0].name) : node.arguments[0];
1511
+ if ((arg1 === null || arg1 === void 0 ? void 0 : arg1.type) === "Literal" && typeof arg1.value === "string") {
1512
+ var dep2 = dependencies.find(function(d2) {
1513
+ return d2.name === arg1.value && d2.data.contextParams != null;
1514
+ });
1515
+ if (dep2) {
1516
+ var _dep_data_index2;
1517
+ var index1 = (_dep_data_index2 = dep2.data.index) !== null && _dep_data_index2 !== void 0 ? _dep_data_index2 : dependencies.indexOf(dep2);
1518
+ ms.overwrite(node.start, node.end, `require(${depMapName}[${index1}], ${JSON.stringify(arg1.value)})`);
1519
+ }
1520
+ }
1521
+ }
1522
+ var _iteratorNormalCompletion22 = true, _didIteratorError22 = false, _iteratorError22 = void 0;
1523
+ try {
1524
+ for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
1525
+ var key = _step22.value;
1526
+ if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1527
+ var child = node[key];
1528
+ if (Array.isArray(child)) {
1529
+ var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
1530
+ try {
1531
+ for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1532
+ var item = _step3.value;
1533
+ walk(item);
1534
+ }
1535
+ } catch (err) {
1536
+ _didIteratorError3 = true;
1537
+ _iteratorError3 = err;
1538
+ } finally {
1539
+ try {
1540
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1541
+ _iterator3.return();
1542
+ }
1543
+ } finally {
1544
+ if (_didIteratorError3) {
1545
+ throw _iteratorError3;
1546
+ }
1547
+ }
1548
+ }
1549
+ } else if (child && typeof child === "object") {
1550
+ walk(child);
1551
+ }
1552
+ }
1553
+ } catch (err) {
1554
+ _didIteratorError22 = true;
1555
+ _iteratorError22 = err;
1556
+ } finally {
1557
+ try {
1558
+ if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
1559
+ _iterator22.return();
1560
+ }
1561
+ } finally {
1562
+ if (_didIteratorError22) {
1563
+ throw _iteratorError22;
1564
+ }
1565
+ }
1566
+ }
1567
+ if (pushedScope) {
1568
+ scopeTracker.exit();
1569
+ }
1570
+ }
1571
+ walk(parsed.program);
1572
+ var resultString = ms.toString();
1573
+ var map = ms.generateMap({
1574
+ source: filename,
1575
+ hires: true,
1576
+ includeContent: true
1577
+ });
1578
+ return {
1579
+ code: resultString,
1580
+ map,
1581
+ toString() {
1582
+ return resultString;
1583
+ }
1584
+ };
1644
1585
  }
1645
1586
  function extractDependencies(code, filename, options) {
1646
- var _parseResult_errors;
1647
- var asyncRequirePath = (options === null || options === void 0 ? void 0 : options.asyncRequireModulePath) || "metro-runtime/src/modules/asyncRequire";
1648
- var allowOptionalDependencies = options === null || options === void 0 ? void 0 : options.allowOptionalDependencies;
1649
- var lineOffsets = [0];
1650
- for (var i = 0; i < code.length; i++) {
1651
- if (code[i] === "\n") {
1652
- lineOffsets.push(i + 1);
1653
- }
1654
- }
1655
- function offsetToLoc(pos) {
1656
- var low = 0;
1657
- var high = lineOffsets.length - 1;
1658
- while (low <= high) {
1659
- var mid = low + high >> 1;
1660
- if (lineOffsets[mid] <= pos) {
1661
- low = mid + 1;
1662
- } else {
1663
- high = mid - 1;
1664
- }
1665
- }
1666
- var line = high + 1;
1667
- var column = pos - lineOffsets[high];
1668
- return {
1669
- line,
1670
- column
1671
- };
1672
- }
1673
- var parseResult;
1674
- try {
1675
- parseResult = parseSync(filename, code, {
1676
- lang: langForFilename(filename)
1677
- });
1678
- } catch (err) {
1679
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${err.message || err}`);
1680
- }
1681
- if (parseResult === null || parseResult === void 0 ? void 0 : (_parseResult_errors = parseResult.errors) === null || _parseResult_errors === void 0 ? void 0 : _parseResult_errors.length) {
1682
- throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${parseResult.errors[0].message}`);
1683
- }
1684
- if (!(parseResult === null || parseResult === void 0 ? void 0 : parseResult.program)) {
1685
- return [];
1686
- }
1687
- var depMap = /* @__PURE__ */new Map();
1688
- function addDep(name, isESM, asyncType, start, end, contextParams, isOptional) {
1689
- var key = getDependencyKey(name, isESM, asyncType, contextParams);
1690
- var entry = depMap.get(key);
1691
- var loc = {
1692
- start: offsetToLoc(start),
1693
- end: offsetToLoc(end)
1694
- };
1695
- if (!entry) {
1696
- entry = {
1697
- name,
1698
- data: {
1699
- key,
1700
- asyncType,
1701
- locs: [loc],
1702
- isESMImportAtSource: isESM,
1703
- isESMImport: isESM,
1704
- index: depMap.size,
1705
- ...(contextParams ? {
1706
- contextParams
1707
- } : {}),
1708
- ...(isOptional ? {
1709
- isOptional: true
1710
- } : {})
1711
- }
1712
- };
1713
- depMap.set(key, entry);
1714
- } else {
1715
- entry.data.locs.push(loc);
1716
- }
1717
- }
1718
- var moduleConsts = collectModuleLiteralBindings(parseResult.program);
1719
- function resolveConst(node) {
1720
- if ((node === null || node === void 0 ? void 0 : node.type) === "Identifier") return moduleConsts.get(node.name);
1721
- return node;
1722
- }
1723
- var ancestors = [];
1724
- function isOptionalHere(name) {
1725
- if (!allowOptionalDependencies) return false;
1726
- if (Array.isArray(allowOptionalDependencies.exclude)) {
1727
- if (allowOptionalDependencies.exclude.includes(name)) return false;
1728
- }
1729
- var sCount = 0;
1730
- for (var i2 = ancestors.length - 1; i2 >= 0 && sCount < 3; i2--) {
1731
- var n = ancestors[i2];
1732
- var isStatement = /(?:Statement|Declaration)$/.test(n.type);
1733
- if (!isStatement) continue;
1734
- if (n.type === "BlockStatement") {
1735
- var parent = ancestors[i2 - 1];
1736
- return (parent === null || parent === void 0 ? void 0 : parent.type) === "TryStatement" && parent.block === n;
1737
- }
1738
- sCount += 1;
1739
- }
1740
- return false;
1741
- }
1742
- var scopeTracker = new ScopeTracker();
1743
- collectHoistedBindings(parseResult.program, scopeTracker.currentScope());
1744
- collectBlockBindings(parseResult.program.body, scopeTracker.currentScope());
1745
- var _iteratorNormalCompletion = true,
1746
- _didIteratorError = false,
1747
- _iteratorError = void 0;
1748
- try {
1749
- for (var _iterator = (parseResult.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1750
- var stmt = _step.value;
1751
- if (stmt.type === "ImportDeclaration") {
1752
- var _iteratorNormalCompletion1 = true,
1753
- _didIteratorError1 = false,
1754
- _iteratorError1 = void 0;
1755
- try {
1756
- for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1757
- var spec = _step1.value;
1758
- var _spec_local;
1759
- if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
1760
- scopeTracker.add(spec.local.name);
1761
- }
1762
- }
1763
- } catch (err) {
1764
- _didIteratorError1 = true;
1765
- _iteratorError1 = err;
1766
- } finally {
1767
- try {
1768
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1769
- _iterator1.return();
1770
- }
1771
- } finally {
1772
- if (_didIteratorError1) {
1773
- throw _iteratorError1;
1774
- }
1775
- }
1776
- }
1777
- }
1778
- }
1779
- } catch (err) {
1780
- _didIteratorError = true;
1781
- _iteratorError = err;
1782
- } finally {
1783
- try {
1784
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1785
- _iterator.return();
1786
- }
1787
- } finally {
1788
- if (_didIteratorError) {
1789
- throw _iteratorError;
1790
- }
1791
- }
1792
- }
1793
- function walk(node) {
1794
- var _node_source, _node_source1, _node_callee, _node_callee1, _node_callee_object, _node_callee_property;
1795
- if (!node || (typeof node === "undefined" ? "undefined" : _type_of(node)) !== "object") return;
1796
- var pushedScope = false;
1797
- ancestors.push(node);
1798
- if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
1799
- var _node_id;
1800
- scopeTracker.enter();
1801
- pushedScope = true;
1802
- var _iteratorNormalCompletion2 = true,
1803
- _didIteratorError2 = false,
1804
- _iteratorError2 = void 0;
1805
- try {
1806
- for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1807
- var param = _step2.value;
1808
- scopeTracker.addPattern(param);
1809
- }
1810
- } catch (err) {
1811
- _didIteratorError2 = true;
1812
- _iteratorError2 = err;
1813
- } finally {
1814
- try {
1815
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1816
- _iterator2.return();
1817
- }
1818
- } finally {
1819
- if (_didIteratorError2) {
1820
- throw _iteratorError2;
1821
- }
1822
- }
1823
- }
1824
- if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
1825
- scopeTracker.add(node.id.name);
1826
- }
1827
- if (node.body) {
1828
- collectHoistedBindings(node.body, scopeTracker.currentScope());
1829
- }
1830
- } else if (node.type === "BlockStatement") {
1831
- scopeTracker.enter();
1832
- pushedScope = true;
1833
- collectBlockBindings(node.body, scopeTracker.currentScope());
1834
- } else if (node.type === "CatchClause") {
1835
- scopeTracker.enter();
1836
- pushedScope = true;
1837
- if (node.param) {
1838
- scopeTracker.addPattern(node.param);
1839
- }
1840
- } else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
1841
- var decl = node.type === "ForStatement" ? node.init : node.left;
1842
- if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
1843
- scopeTracker.enter();
1844
- pushedScope = true;
1845
- var _iteratorNormalCompletion12 = true,
1846
- _didIteratorError12 = false,
1847
- _iteratorError12 = void 0;
1848
- try {
1849
- for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1850
- var d = _step12.value;
1851
- scopeTracker.addPattern(d.id);
1852
- }
1853
- } catch (err) {
1854
- _didIteratorError12 = true;
1855
- _iteratorError12 = err;
1856
- } finally {
1857
- try {
1858
- if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
1859
- _iterator12.return();
1860
- }
1861
- } finally {
1862
- if (_didIteratorError12) {
1863
- throw _iteratorError12;
1864
- }
1865
- }
1866
- }
1867
- }
1868
- }
1869
- if (node.type === "ImportDeclaration" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value)) {
1870
- if (node.importKind !== "type") {
1871
- var _node_specifiers;
1872
- var hasValueSpecifier = !((_node_specifiers = node.specifiers) === null || _node_specifiers === void 0 ? void 0 : _node_specifiers.length) || node.specifiers.some(function (s) {
1873
- return s.importKind !== "type";
1874
- });
1875
- if (hasValueSpecifier) {
1876
- addDep(node.source.value, true, null, node.start, node.end);
1877
- }
1878
- }
1879
- } else if ((node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") && ((_node_source1 = node.source) === null || _node_source1 === void 0 ? void 0 : _node_source1.value)) {
1880
- if (node.exportKind !== "type") {
1881
- addDep(node.source.value, true, null, node.start, node.end);
1882
- }
1883
- } else if (node.type === "ImportExpression") {
1884
- var _node_source2;
1885
- if (((_node_source2 = node.source) === null || _node_source2 === void 0 ? void 0 : _node_source2.type) === "Literal" && typeof node.source.value === "string") {
1886
- addDep(node.source.value, true, "async", node.start, node.end);
1887
- addDep(asyncRequirePath, false, null, node.start, node.end);
1888
- } else {
1889
- throw new Error(`[vxrn/metro] Dynamic import with non-string literal is not supported by Metro in ${filename}`);
1890
- }
1891
- } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require")) {
1892
- var _node_arguments_, _node_arguments;
1893
- if (((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : (_node_arguments_ = _node_arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Literal" && typeof node.arguments[0].value === "string") {
1894
- addDep(node.arguments[0].value, false, null, node.start, node.end, void 0, node.arguments[0].value !== asyncRequirePath && isOptionalHere(node.arguments[0].value));
1895
- }
1896
- } else if (
1897
- // require.context(dir, recursive?, filter?, mode?) registers a whole
1898
- // directory as one dependency. one's router entry uses it for the route
1899
- // tree, so dropping it silently omits every route from the bundle.
1900
- node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require")) {
1901
- var args = node.arguments || [];
1902
- var dir = resolveConst(args[0]);
1903
- if ((dir === null || dir === void 0 ? void 0 : dir.type) !== "Literal" || typeof dir.value !== "string") {
1904
- throw new Error(`[vxrn/metro] First argument of require.context must be a string literal in ${filename}`);
1905
- }
1906
- if (args.length > 4) {
1907
- throw new Error(`[vxrn/metro] Too many arguments provided to require.context in ${filename}. Expected 4, got: ${args.length}`);
1908
- }
1909
- var recursive = true;
1910
- var recursiveArg = resolveConst(args[1]);
1911
- if (recursiveArg) {
1912
- if (recursiveArg.type !== "Literal" || typeof recursiveArg.value !== "boolean") {
1913
- throw new Error(`[vxrn/metro] Second argument of require.context must be an optional boolean literal in ${filename}`);
1914
- }
1915
- recursive = recursiveArg.value;
1916
- }
1917
- var filter = {
1918
- pattern: ".*",
1919
- flags: ""
1920
- };
1921
- var filterArg = resolveConst(args[2]);
1922
- if (filterArg) {
1923
- if (filterArg.type !== "Literal" || !filterArg.regex) {
1924
- throw new Error(`[vxrn/metro] Third argument of require.context must be an optional RegExp literal in ${filename}, instead found node of type: ${filterArg.type}`);
1925
- }
1926
- filter = {
1927
- pattern: filterArg.regex.pattern,
1928
- flags: filterArg.regex.flags || ""
1929
- };
1930
- }
1931
- var mode = "sync";
1932
- var modeArg = resolveConst(args[3]);
1933
- if (modeArg) {
1934
- var m = modeArg.type === "Literal" ? modeArg.value : void 0;
1935
- if (m !== "sync" && m !== "eager" && m !== "lazy" && m !== "lazy-once") {
1936
- throw new Error(`[vxrn/metro] require.context mode must be one of sync, eager, lazy, lazy-once in ${filename}`);
1937
- }
1938
- mode = m;
1939
- }
1940
- addDep(dir.value, false, null, node.start, node.end, {
1941
- recursive,
1942
- filter,
1943
- mode
1944
- });
1945
- }
1946
- var _iteratorNormalCompletion22 = true,
1947
- _didIteratorError22 = false,
1948
- _iteratorError22 = void 0;
1949
- try {
1950
- for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
1951
- var key = _step22.value;
1952
- if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1953
- var child = node[key];
1954
- if (Array.isArray(child)) {
1955
- var _iteratorNormalCompletion3 = true,
1956
- _didIteratorError3 = false,
1957
- _iteratorError3 = void 0;
1958
- try {
1959
- for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1960
- var item = _step3.value;
1961
- walk(item);
1962
- }
1963
- } catch (err) {
1964
- _didIteratorError3 = true;
1965
- _iteratorError3 = err;
1966
- } finally {
1967
- try {
1968
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1969
- _iterator3.return();
1970
- }
1971
- } finally {
1972
- if (_didIteratorError3) {
1973
- throw _iteratorError3;
1974
- }
1975
- }
1976
- }
1977
- } else if (child && (typeof child === "undefined" ? "undefined" : _type_of(child)) === "object") {
1978
- walk(child);
1979
- }
1980
- }
1981
- } catch (err) {
1982
- _didIteratorError22 = true;
1983
- _iteratorError22 = err;
1984
- } finally {
1985
- try {
1986
- if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
1987
- _iterator22.return();
1988
- }
1989
- } finally {
1990
- if (_didIteratorError22) {
1991
- throw _iteratorError22;
1992
- }
1993
- }
1994
- }
1995
- ancestors.pop();
1996
- if (pushedScope) {
1997
- scopeTracker.exit();
1998
- }
1999
- }
2000
- walk(parseResult.program);
2001
- return Array.from(depMap.values());
1587
+ var _parseResult_errors;
1588
+ var asyncRequirePath = (options === null || options === void 0 ? void 0 : options.asyncRequireModulePath) || "metro-runtime/src/modules/asyncRequire";
1589
+ var allowOptionalDependencies = options === null || options === void 0 ? void 0 : options.allowOptionalDependencies;
1590
+ var lineOffsets = [0];
1591
+ for (var i = 0; i < code.length; i++) {
1592
+ if (code[i] === "\n") {
1593
+ lineOffsets.push(i + 1);
1594
+ }
1595
+ }
1596
+ function offsetToLoc(pos) {
1597
+ var low = 0;
1598
+ var high = lineOffsets.length - 1;
1599
+ while (low <= high) {
1600
+ var mid = low + high >> 1;
1601
+ if (lineOffsets[mid] <= pos) {
1602
+ low = mid + 1;
1603
+ } else {
1604
+ high = mid - 1;
1605
+ }
1606
+ }
1607
+ var line = high + 1;
1608
+ var column = pos - lineOffsets[high];
1609
+ return {
1610
+ line,
1611
+ column
1612
+ };
1613
+ }
1614
+ var parseResult;
1615
+ try {
1616
+ parseResult = parseSync(filename, code, { lang: langForFilename(filename) });
1617
+ } catch (err) {
1618
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${err.message || err}`);
1619
+ }
1620
+ if (parseResult === null || parseResult === void 0 ? void 0 : (_parseResult_errors = parseResult.errors) === null || _parseResult_errors === void 0 ? void 0 : _parseResult_errors.length) {
1621
+ throw new Error(`[vxrn/metro] Failed to parse ${filename} for dependency extraction: ${parseResult.errors[0].message}`);
1622
+ }
1623
+ if (!(parseResult === null || parseResult === void 0 ? void 0 : parseResult.program)) {
1624
+ return [];
1625
+ }
1626
+ var depMap = /* @__PURE__ */ new Map();
1627
+ function addDep(name, isESM, asyncType, start, end, contextParams, isOptional) {
1628
+ var key = getDependencyKey(name, isESM, asyncType, contextParams);
1629
+ var entry = depMap.get(key);
1630
+ var loc = {
1631
+ start: offsetToLoc(start),
1632
+ end: offsetToLoc(end)
1633
+ };
1634
+ if (!entry) {
1635
+ entry = {
1636
+ name,
1637
+ data: {
1638
+ key,
1639
+ asyncType,
1640
+ locs: [loc],
1641
+ isESMImportAtSource: isESM,
1642
+ isESMImport: isESM,
1643
+ index: depMap.size,
1644
+ ...contextParams ? { contextParams } : {},
1645
+ ...isOptional ? { isOptional: true } : {}
1646
+ }
1647
+ };
1648
+ depMap.set(key, entry);
1649
+ } else {
1650
+ entry.data.locs.push(loc);
1651
+ }
1652
+ }
1653
+ var moduleConsts = collectModuleLiteralBindings(parseResult.program);
1654
+ function resolveConst(node) {
1655
+ if ((node === null || node === void 0 ? void 0 : node.type) === "Identifier") return moduleConsts.get(node.name);
1656
+ return node;
1657
+ }
1658
+ var ancestors = [];
1659
+ function isOptionalHere(name) {
1660
+ if (!allowOptionalDependencies) return false;
1661
+ if (Array.isArray(allowOptionalDependencies.exclude)) {
1662
+ if (allowOptionalDependencies.exclude.includes(name)) return false;
1663
+ }
1664
+ var sCount = 0;
1665
+ for (var i2 = ancestors.length - 1; i2 >= 0 && sCount < 3; i2--) {
1666
+ var n = ancestors[i2];
1667
+ var isStatement = /(?:Statement|Declaration)$/.test(n.type);
1668
+ if (!isStatement) continue;
1669
+ if (n.type === "BlockStatement") {
1670
+ var parent = ancestors[i2 - 1];
1671
+ return (parent === null || parent === void 0 ? void 0 : parent.type) === "TryStatement" && parent.block === n;
1672
+ }
1673
+ sCount += 1;
1674
+ }
1675
+ return false;
1676
+ }
1677
+ var scopeTracker = new ScopeTracker();
1678
+ collectHoistedBindings(parseResult.program, scopeTracker.currentScope());
1679
+ collectBlockBindings(parseResult.program.body, scopeTracker.currentScope());
1680
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1681
+ try {
1682
+ for (var _iterator = (parseResult.program.body || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1683
+ var stmt = _step.value;
1684
+ if (stmt.type === "ImportDeclaration") {
1685
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
1686
+ try {
1687
+ for (var _iterator1 = (stmt.specifiers || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1688
+ var spec = _step1.value;
1689
+ var _spec_local;
1690
+ if ((_spec_local = spec.local) === null || _spec_local === void 0 ? void 0 : _spec_local.name) {
1691
+ scopeTracker.add(spec.local.name);
1692
+ }
1693
+ }
1694
+ } catch (err) {
1695
+ _didIteratorError1 = true;
1696
+ _iteratorError1 = err;
1697
+ } finally {
1698
+ try {
1699
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1700
+ _iterator1.return();
1701
+ }
1702
+ } finally {
1703
+ if (_didIteratorError1) {
1704
+ throw _iteratorError1;
1705
+ }
1706
+ }
1707
+ }
1708
+ }
1709
+ }
1710
+ } catch (err) {
1711
+ _didIteratorError = true;
1712
+ _iteratorError = err;
1713
+ } finally {
1714
+ try {
1715
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1716
+ _iterator.return();
1717
+ }
1718
+ } finally {
1719
+ if (_didIteratorError) {
1720
+ throw _iteratorError;
1721
+ }
1722
+ }
1723
+ }
1724
+ function walk(node) {
1725
+ var _node_source, _node_source1, _node_callee, _node_callee1, _node_callee_object, _node_callee_property;
1726
+ if (!node || typeof node !== "object") return;
1727
+ var pushedScope = false;
1728
+ ancestors.push(node);
1729
+ if (node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
1730
+ var _node_id;
1731
+ scopeTracker.enter();
1732
+ pushedScope = true;
1733
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
1734
+ try {
1735
+ for (var _iterator2 = (node.params || [])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1736
+ var param = _step2.value;
1737
+ scopeTracker.addPattern(param);
1738
+ }
1739
+ } catch (err) {
1740
+ _didIteratorError2 = true;
1741
+ _iteratorError2 = err;
1742
+ } finally {
1743
+ try {
1744
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1745
+ _iterator2.return();
1746
+ }
1747
+ } finally {
1748
+ if (_didIteratorError2) {
1749
+ throw _iteratorError2;
1750
+ }
1751
+ }
1752
+ }
1753
+ if (node.type === "FunctionExpression" && ((_node_id = node.id) === null || _node_id === void 0 ? void 0 : _node_id.name)) {
1754
+ scopeTracker.add(node.id.name);
1755
+ }
1756
+ if (node.body) {
1757
+ collectHoistedBindings(node.body, scopeTracker.currentScope());
1758
+ }
1759
+ } else if (node.type === "BlockStatement") {
1760
+ scopeTracker.enter();
1761
+ pushedScope = true;
1762
+ collectBlockBindings(node.body, scopeTracker.currentScope());
1763
+ } else if (node.type === "CatchClause") {
1764
+ scopeTracker.enter();
1765
+ pushedScope = true;
1766
+ if (node.param) {
1767
+ scopeTracker.addPattern(node.param);
1768
+ }
1769
+ } else if (node.type === "ForStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement") {
1770
+ var decl = node.type === "ForStatement" ? node.init : node.left;
1771
+ if ((decl === null || decl === void 0 ? void 0 : decl.type) === "VariableDeclaration" && decl.kind !== "var") {
1772
+ scopeTracker.enter();
1773
+ pushedScope = true;
1774
+ var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
1775
+ try {
1776
+ for (var _iterator12 = (decl.declarations || [])[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
1777
+ var d = _step12.value;
1778
+ scopeTracker.addPattern(d.id);
1779
+ }
1780
+ } catch (err) {
1781
+ _didIteratorError12 = true;
1782
+ _iteratorError12 = err;
1783
+ } finally {
1784
+ try {
1785
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
1786
+ _iterator12.return();
1787
+ }
1788
+ } finally {
1789
+ if (_didIteratorError12) {
1790
+ throw _iteratorError12;
1791
+ }
1792
+ }
1793
+ }
1794
+ }
1795
+ }
1796
+ if (node.type === "ImportDeclaration" && ((_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value)) {
1797
+ if (node.importKind !== "type") {
1798
+ var _node_specifiers;
1799
+ var hasValueSpecifier = !((_node_specifiers = node.specifiers) === null || _node_specifiers === void 0 ? void 0 : _node_specifiers.length) || node.specifiers.some(function(s) {
1800
+ return s.importKind !== "type";
1801
+ });
1802
+ if (hasValueSpecifier) {
1803
+ addDep(node.source.value, true, null, node.start, node.end);
1804
+ }
1805
+ }
1806
+ } else if ((node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") && ((_node_source1 = node.source) === null || _node_source1 === void 0 ? void 0 : _node_source1.value)) {
1807
+ if (node.exportKind !== "type") {
1808
+ addDep(node.source.value, true, null, node.start, node.end);
1809
+ }
1810
+ } else if (node.type === "ImportExpression") {
1811
+ var _node_source2;
1812
+ if (((_node_source2 = node.source) === null || _node_source2 === void 0 ? void 0 : _node_source2.type) === "Literal" && typeof node.source.value === "string") {
1813
+ addDep(node.source.value, true, "async", node.start, node.end);
1814
+ addDep(asyncRequirePath, false, null, node.start, node.end);
1815
+ } else {
1816
+ throw new Error(`[vxrn/metro] Dynamic import with non-string literal is not supported by Metro in ${filename}`);
1817
+ }
1818
+ } else if (node.type === "CallExpression" && ((_node_callee = node.callee) === null || _node_callee === void 0 ? void 0 : _node_callee.type) === "Identifier" && node.callee.name === "require" && !scopeTracker.isShadowed("require")) {
1819
+ var _node_arguments_, _node_arguments;
1820
+ if (((_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : (_node_arguments_ = _node_arguments[0]) === null || _node_arguments_ === void 0 ? void 0 : _node_arguments_.type) === "Literal" && typeof node.arguments[0].value === "string") {
1821
+ addDep(node.arguments[0].value, false, null, node.start, node.end, void 0, node.arguments[0].value !== asyncRequirePath && isOptionalHere(node.arguments[0].value));
1822
+ }
1823
+ } else if (node.type === "CallExpression" && ((_node_callee1 = node.callee) === null || _node_callee1 === void 0 ? void 0 : _node_callee1.type) === "MemberExpression" && !node.callee.computed && ((_node_callee_object = node.callee.object) === null || _node_callee_object === void 0 ? void 0 : _node_callee_object.type) === "Identifier" && node.callee.object.name === "require" && ((_node_callee_property = node.callee.property) === null || _node_callee_property === void 0 ? void 0 : _node_callee_property.type) === "Identifier" && node.callee.property.name === "context" && !scopeTracker.isShadowed("require")) {
1824
+ var args = node.arguments || [];
1825
+ var dir = resolveConst(args[0]);
1826
+ if ((dir === null || dir === void 0 ? void 0 : dir.type) !== "Literal" || typeof dir.value !== "string") {
1827
+ throw new Error(`[vxrn/metro] First argument of require.context must be a string literal in ${filename}`);
1828
+ }
1829
+ if (args.length > 4) {
1830
+ throw new Error(`[vxrn/metro] Too many arguments provided to require.context in ${filename}. Expected 4, got: ${args.length}`);
1831
+ }
1832
+ var recursive = true;
1833
+ var recursiveArg = resolveConst(args[1]);
1834
+ if (recursiveArg) {
1835
+ if (recursiveArg.type !== "Literal" || typeof recursiveArg.value !== "boolean") {
1836
+ throw new Error(`[vxrn/metro] Second argument of require.context must be an optional boolean literal in ${filename}`);
1837
+ }
1838
+ recursive = recursiveArg.value;
1839
+ }
1840
+ var filter = {
1841
+ pattern: ".*",
1842
+ flags: ""
1843
+ };
1844
+ var filterArg = resolveConst(args[2]);
1845
+ if (filterArg) {
1846
+ if (filterArg.type !== "Literal" || !filterArg.regex) {
1847
+ throw new Error(`[vxrn/metro] Third argument of require.context must be an optional RegExp literal in ${filename}, instead found node of type: ${filterArg.type}`);
1848
+ }
1849
+ filter = {
1850
+ pattern: filterArg.regex.pattern,
1851
+ flags: filterArg.regex.flags || ""
1852
+ };
1853
+ }
1854
+ var mode = "sync";
1855
+ var modeArg = resolveConst(args[3]);
1856
+ if (modeArg) {
1857
+ var m = modeArg.type === "Literal" ? modeArg.value : void 0;
1858
+ if (m !== "sync" && m !== "eager" && m !== "lazy" && m !== "lazy-once") {
1859
+ throw new Error(`[vxrn/metro] require.context mode must be one of sync, eager, lazy, lazy-once in ${filename}`);
1860
+ }
1861
+ mode = m;
1862
+ }
1863
+ addDep(dir.value, false, null, node.start, node.end, {
1864
+ recursive,
1865
+ filter,
1866
+ mode
1867
+ });
1868
+ }
1869
+ var _iteratorNormalCompletion22 = true, _didIteratorError22 = false, _iteratorError22 = void 0;
1870
+ try {
1871
+ for (var _iterator22 = Object.keys(node)[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
1872
+ var key = _step22.value;
1873
+ if (key === "start" || key === "end" || key === "loc" || key === "range" || key === "parent" || key === "comments") continue;
1874
+ var child = node[key];
1875
+ if (Array.isArray(child)) {
1876
+ var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
1877
+ try {
1878
+ for (var _iterator3 = child[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
1879
+ var item = _step3.value;
1880
+ walk(item);
1881
+ }
1882
+ } catch (err) {
1883
+ _didIteratorError3 = true;
1884
+ _iteratorError3 = err;
1885
+ } finally {
1886
+ try {
1887
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1888
+ _iterator3.return();
1889
+ }
1890
+ } finally {
1891
+ if (_didIteratorError3) {
1892
+ throw _iteratorError3;
1893
+ }
1894
+ }
1895
+ }
1896
+ } else if (child && typeof child === "object") {
1897
+ walk(child);
1898
+ }
1899
+ }
1900
+ } catch (err) {
1901
+ _didIteratorError22 = true;
1902
+ _iteratorError22 = err;
1903
+ } finally {
1904
+ try {
1905
+ if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
1906
+ _iterator22.return();
1907
+ }
1908
+ } finally {
1909
+ if (_didIteratorError22) {
1910
+ throw _iteratorError22;
1911
+ }
1912
+ }
1913
+ }
1914
+ ancestors.pop();
1915
+ if (pushedScope) {
1916
+ scopeTracker.exit();
1917
+ }
1918
+ }
1919
+ walk(parseResult.program);
1920
+ return Array.from(depMap.values());
2002
1921
  }
2003
1922
  function checkReservedStrings(sourceCode, config, options) {
2004
- var _options_customTransformOptions;
2005
- var reservedStrings = [];
2006
- if (((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.unstable_staticHermesOptimizedRequire) === true) {
2007
- reservedStrings.push("_$$_METRO_MODULE_ID");
2008
- }
2009
- if (config.unstable_dependencyMapReservedName != null) {
2010
- reservedStrings.push(config.unstable_dependencyMapReservedName);
2011
- }
2012
- var _iteratorNormalCompletion = true,
2013
- _didIteratorError = false,
2014
- _iteratorError = void 0;
2015
- try {
2016
- for (var _iterator = reservedStrings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
2017
- var reservedString = _step.value;
2018
- var position = sourceCode.indexOf(reservedString);
2019
- if (position > -1) {
2020
- throw new SyntaxError("Source code contains the reserved string `" + reservedString + "` at character offset " + position);
2021
- }
2022
- }
2023
- } catch (err) {
2024
- _didIteratorError = true;
2025
- _iteratorError = err;
2026
- } finally {
2027
- try {
2028
- if (!_iteratorNormalCompletion && _iterator.return != null) {
2029
- _iterator.return();
2030
- }
2031
- } finally {
2032
- if (_didIteratorError) {
2033
- throw _iteratorError;
2034
- }
2035
- }
2036
- }
1923
+ var _options_customTransformOptions;
1924
+ var reservedStrings = [];
1925
+ if (((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.unstable_staticHermesOptimizedRequire) === true) {
1926
+ reservedStrings.push("_$$_METRO_MODULE_ID");
1927
+ }
1928
+ if (config.unstable_dependencyMapReservedName != null) {
1929
+ reservedStrings.push(config.unstable_dependencyMapReservedName);
1930
+ }
1931
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
1932
+ try {
1933
+ for (var _iterator = reservedStrings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1934
+ var reservedString = _step.value;
1935
+ var position = sourceCode.indexOf(reservedString);
1936
+ if (position > -1) {
1937
+ throw new SyntaxError("Source code contains the reserved string `" + reservedString + "` at character offset " + position);
1938
+ }
1939
+ }
1940
+ } catch (err) {
1941
+ _didIteratorError = true;
1942
+ _iteratorError = err;
1943
+ } finally {
1944
+ try {
1945
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1946
+ _iterator.return();
1947
+ }
1948
+ } finally {
1949
+ if (_didIteratorError) {
1950
+ throw _iteratorError;
1951
+ }
1952
+ }
1953
+ }
2037
1954
  }
2038
1955
  var workletsConfigured = false;
2039
1956
  var oneNativeTransforms;
2040
1957
  function loadOneNativeTransforms(projectRoot) {
2041
- if (oneNativeTransforms !== void 0) return oneNativeTransforms;
2042
- try {
2043
- var req = createRequire(path.resolve(projectRoot, "package.json"));
2044
- oneNativeTransforms = req("one/native-transforms");
2045
- } catch (unused) {
2046
- oneNativeTransforms = null;
2047
- }
2048
- return oneNativeTransforms;
1958
+ if (oneNativeTransforms !== void 0) return oneNativeTransforms;
1959
+ try {
1960
+ var req = createRequire(path.resolve(projectRoot, "package.json"));
1961
+ oneNativeTransforms = req("one/native-transforms");
1962
+ } catch (unused) {
1963
+ oneNativeTransforms = null;
1964
+ }
1965
+ return oneNativeTransforms;
2049
1966
  }
2050
1967
  async function configureWorkletsForWorker(projectRoot) {
2051
- if (workletsConfigured) return;
2052
- workletsConfigured = true;
2053
- if (!projectRoot) return;
2054
- var req = createRequire(path.resolve(projectRoot, "package.json"));
2055
- var hasReanimated = false;
2056
- try {
2057
- req.resolve("react-native-reanimated/package.json");
2058
- hasReanimated = true;
2059
- } catch (unused) {
2060
- try {
2061
- req.resolve("react-native-worklets/package.json");
2062
- hasReanimated = true;
2063
- } catch (unused2) {}
2064
- }
2065
- var {
2066
- configureVXRNCompilerPlugin
2067
- } = await import("@vxrn/compiler");
2068
- configureVXRNCompilerPlugin({
2069
- enableReanimated: hasReanimated
2070
- });
1968
+ if (workletsConfigured) return;
1969
+ workletsConfigured = true;
1970
+ if (!projectRoot) return;
1971
+ var req = createRequire(path.resolve(projectRoot, "package.json"));
1972
+ var hasReanimated = false;
1973
+ try {
1974
+ req.resolve("react-native-reanimated/package.json");
1975
+ hasReanimated = true;
1976
+ } catch (unused) {
1977
+ try {
1978
+ req.resolve("react-native-worklets/package.json");
1979
+ hasReanimated = true;
1980
+ } catch (unused2) {}
1981
+ }
1982
+ var { configureVXRNCompilerPlugin } = await import("@vxrn/compiler");
1983
+ configureVXRNCompilerPlugin({ enableReanimated: hasReanimated });
2071
1984
  }
2072
1985
  async function transform(config, projectRoot, filename, data, options) {
2073
- var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
2074
- assertNoUnportedBabelPlugins(options);
2075
- var sourceCode = typeof data === "string" ? data : data.toString("utf8");
2076
- var environment = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment;
2077
- var isClientEnvironment = environment !== "node" && environment !== "react-server";
2078
- if (isClientEnvironment && /[\\/]expo[\\/]virtual[\\/]env\.js$/.test(filename)) {
2079
- if (options.dev) {
2080
- var rel = path.relative(path.dirname(filename), projectRoot).split(path.sep).join("/");
2081
- sourceCode = `const dotEnvModules = require.context(${JSON.stringify(rel)},false,/^\\.\\/\\.env/);
2082
- export const env = !dotEnvModules.keys().length ? process.env : { ...process.env, ...['.env', '.env.development', '.env.local', '.env.development.local'].reduce((acc, file) => {
2083
- return { ...acc, ...(dotEnvModules(file)?.default ?? {}) };
2084
- }, {}) };`;
2085
- } else {
2086
- sourceCode = `export const env = new Proxy({}, {
2087
- get(target, key) {
2088
- throw new Error(\`Attempting to access internal environment variable "\${String(key)}" is not supported in production bundles.\`);
2089
- },
2090
- });`;
2091
- }
2092
- } else if (/(^|[\\/])\.env(\.(local|(development|production)(\.local)?))?$/.test(filename)) {
2093
- var {
2094
- parseEnvFile
2095
- } = await import("@expo/metro-config/build/transform-worker/dot-env-development");
2096
- sourceCode = `export default ${JSON.stringify(parseEnvFile(sourceCode, isClientEnvironment))};`;
2097
- }
2098
- checkReservedStrings(sourceCode, config, options);
2099
- if (filename.endsWith(".json")) {
2100
- try {
2101
- JSON.parse(sourceCode);
2102
- } catch (err) {
2103
- throw new Error(`[vxrn/metro] JSON parse error in ${filename}: ${err.message || err}`);
2104
- }
2105
- var code = config.unstable_disableModuleWrapping === true ? `module.exports = ${sourceCode};` : wrapJson(sourceCode, {
2106
- globalPrefix: config.globalPrefix,
2107
- moduleId: options.moduleId,
2108
- dependencyIds: options.dependencyIds
2109
- });
2110
- if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
2111
- try {
2112
- var minifier = require(config.minifierPath);
2113
- var minified = await minifier({
2114
- code,
2115
- config: config.minifierConfig,
2116
- filename
2117
- });
2118
- code = minified.code;
2119
- } catch (err) {
2120
- throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2121
- }
2122
- }
2123
- var {
2124
- lineCount,
2125
- map
2126
- } = countLinesAndTerminateMap(code, []);
2127
- var outputType = options.type === "asset" ? "js/module/asset" : options.type === "script" ? "js/script" : "js/module";
2128
- return {
2129
- dependencies: [],
2130
- output: [{
2131
- data: {
2132
- code,
2133
- lineCount,
2134
- map,
2135
- functionMap: null
2136
- },
2137
- type: outputType
2138
- }]
2139
- };
2140
- }
2141
- if (options.type === "asset") {
2142
- var assetRegistryPath = config.assetRegistryPath || "react-native/Libraries/Image/AssetRegistry";
2143
- var properDescriptor = null;
2144
- var absolutePath = path.resolve(projectRoot, filename);
2145
- if (fs.existsSync(absolutePath)) {
2146
- try {
2147
- var getAssetData;
2148
- try {
2149
- getAssetData = require("metro/private/Assets").getAssetData;
2150
- } catch (unused) {
2151
- getAssetData = require("metro/src/Assets").getAssetData;
2152
- }
2153
- if (typeof getAssetData === "function") {
2154
- var rawData = await getAssetData(absolutePath, filename, config.assetPlugins || [], options.platform || "", config.publicPath || "/assets");
2155
- var copied = {
2156
- ...rawData
2157
- };
2158
- delete copied.files;
2159
- delete copied.fileSystemLocation;
2160
- delete copied.path;
2161
- properDescriptor = copied;
2162
- }
2163
- } catch (err) {
2164
- throw new Error(`[vxrn/metro] Asset resolution failed for ${filename}: ${err.message || err}`);
2165
- }
2166
- }
2167
- if (!properDescriptor) {
2168
- var ext = path.extname(filename).slice(1);
2169
- var name = path.basename(filename, "." + ext);
2170
- properDescriptor = {
2171
- __packager_asset: true,
2172
- httpServerLocation: config.publicPath || "/assets",
2173
- width: void 0,
2174
- height: void 0,
2175
- scales: [1],
2176
- hash: crypto.createHash("md5").update(sourceCode).digest("hex"),
2177
- name,
2178
- type: ext
2179
- };
2180
- }
2181
- var assetDepMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
2182
- var assetCode = `module.exports = require(${assetDepMapName}[0], ${JSON.stringify(assetRegistryPath)}).registerAsset(${JSON.stringify(properDescriptor)});`;
2183
- var code1 = config.unstable_disableModuleWrapping === true ? assetCode : wrapModule(assetCode, {
2184
- globalPrefix: config.globalPrefix,
2185
- moduleId: options.moduleId,
2186
- dependencyIds: options.dependencyIds,
2187
- dependencyMapName: config.unstable_dependencyMapReservedName
2188
- });
2189
- var dependencies = [{
2190
- name: assetRegistryPath,
2191
- data: {
2192
- key: getDependencyKey(assetRegistryPath, false, null),
2193
- asyncType: null,
2194
- locs: [],
2195
- isESMImportAtSource: false,
2196
- isESMImport: false,
2197
- index: 0
2198
- }
2199
- }];
2200
- var {
2201
- lineCount: lineCount1,
2202
- map: map1
2203
- } = countLinesAndTerminateMap(code1, []);
2204
- return {
2205
- dependencies,
2206
- output: [{
2207
- data: {
2208
- code: code1,
2209
- lineCount: lineCount1,
2210
- map: map1,
2211
- functionMap: null
2212
- },
2213
- type: "js/module/asset"
2214
- }]
2215
- };
2216
- }
2217
- var code2 = sourceCode;
2218
- var intermediateMaps = [];
2219
- var _iteratorNormalCompletion = true,
2220
- _didIteratorError = false,
2221
- _iteratorError = void 0;
2222
- try {
2223
- for (var _iterator = getNativeTransforms(options, projectRoot)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
2224
- var nativeTransform = _step.value;
2225
- var out = nativeTransform(code2, {
2226
- // absolute, unlike metro's own project-relative name. a transform that
2227
- // matches on paths (include/exclude lists, node_modules skips) or stamps
2228
- // a location into the output would otherwise get a different answer here
2229
- // than the babel plugin it replaced, which is handed an absolute path.
2230
- filename: path.isAbsolute(filename) ? filename : path.resolve(projectRoot, filename),
2231
- platform: options.platform,
2232
- dev: options.dev,
2233
- projectRoot
2234
- });
2235
- if (typeof out === "string") code2 = out;
2236
- }
2237
- } catch (err) {
2238
- _didIteratorError = true;
2239
- _iteratorError = err;
2240
- } finally {
2241
- try {
2242
- if (!_iteratorNormalCompletion && _iterator.return != null) {
2243
- _iterator.return();
2244
- }
2245
- } finally {
2246
- if (_didIteratorError) {
2247
- throw _iteratorError;
2248
- }
2249
- }
2250
- }
2251
- var oneRouterOptions = getOneRouterMetroOptions(options);
2252
- if (oneRouterOptions) {
2253
- code2 = applyOneRouterMetro(code2, filename, oneRouterOptions);
2254
- }
2255
- try {
2256
- var codegenRes = transformReactNativeCodegen(code2, filename, projectRoot);
2257
- if (codegenRes === null || codegenRes === void 0 ? void 0 : codegenRes.code) {
2258
- code2 = codegenRes.code;
2259
- if (codegenRes.map) {
2260
- intermediateMaps.push(codegenRes.map);
2261
- }
2262
- }
2263
- } catch (err) {
2264
- throw new Error(`[vxrn/metro] React Native codegen failed for ${filename}: ${err.message || err}`);
2265
- }
2266
- if (shouldStripFlow(filename, code2)) {
2267
- try {
2268
- var fft = await import("fast-flow-transform");
2269
- var flowTransform = fft.default || fft;
2270
- var flowResult = await flowTransform({
2271
- filename,
2272
- source: code2,
2273
- sourcemap: true,
2274
- dialect: "flow",
2275
- format: "pretty"
2276
- });
2277
- if (flowResult === null || flowResult === void 0 ? void 0 : flowResult.code) {
2278
- code2 = flowResult.code;
2279
- if (flowResult.map) {
2280
- intermediateMaps.push(typeof flowResult.map === "string" ? JSON.parse(flowResult.map) : flowResult.map);
2281
- }
2282
- }
2283
- } catch (err) {
2284
- throw new Error(`[vxrn/metro] Flow transform failed for ${filename}: ${err.message || err}`);
2285
- }
2286
- }
2287
- var asyncRequirePath = config.asyncRequireModulePath || "metro-runtime/src/modules/asyncRequire";
2288
- var aliases = getModuleResolverAliases(options);
2289
- if (aliases && projectRoot) {
2290
- var aliasKeys = Object.keys(aliases);
2291
- if (aliasKeys.some(function (k) {
2292
- return code2.includes(k.endsWith("$") ? k.slice(0, -1) : k);
2293
- })) {
2294
- code2 = applyModuleResolverAliases(code2, filename, projectRoot, aliases);
2295
- }
2296
- }
2297
- if (code2.includes("process.env") || code2.includes("import.meta")) {
2298
- code2 = applyInlineEnvVars(code2, filename, !options.dev, getImportMetaEnv(options));
2299
- }
2300
- if (code2.includes("-only")) {
2301
- code2 = applyEnvironmentGuard(code2, filename);
2302
- }
2303
- var serverCodeRouterRoot = getRemoveServerCodeRouterRoot(options);
2304
- if (serverCodeRouterRoot && projectRoot && !filename.includes("node_modules")) {
2305
- var oneNativeTransforms2 = loadOneNativeTransforms(projectRoot);
2306
- if (oneNativeTransforms2) {
2307
- var shaken = await oneNativeTransforms2.transformTreeShakeClient(code2, filename, projectRoot, serverCodeRouterRoot);
2308
- if (shaken === null || shaken === void 0 ? void 0 : shaken.code) {
2309
- code2 = shaken.code;
2310
- }
2311
- }
2312
- }
2313
- var dependencies1 = extractDependencies(code2, filename, {
2314
- asyncRequireModulePath: asyncRequirePath,
2315
- allowOptionalDependencies: config.allowOptionalDependencies
2316
- });
2317
- await configureWorkletsForWorker(projectRoot);
2318
- var shouldRunWorklets = Boolean((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.worklets);
2319
- if (!shouldRunWorklets) {
2320
- var {
2321
- shouldTransformWorklets
2322
- } = await import("@vxrn/compiler");
2323
- shouldRunWorklets = shouldTransformWorklets({
2324
- id: filename,
2325
- code: code2
2326
- });
2327
- }
2328
- var shouldRunReactCompiler = Boolean((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.reactCompiler) || hasBabelPlugin(options, "babel-plugin-react-compiler") && isReactCompilerCandidate(filename) || code2.includes('"use memo"') || code2.includes("'use memo'");
2329
- if (shouldRunReactCompiler) {
2330
- try {
2331
- var {
2332
- prepareWorkletsForReactCompiler,
2333
- transformOxcReactCompiler
2334
- } = await import("@vxrn/compiler");
2335
- if (shouldRunWorklets) {
2336
- var prepared = prepareWorkletsForReactCompiler(filename, code2, true);
2337
- if (prepared) {
2338
- code2 = prepared.code;
2339
- if (prepared.map) intermediateMaps.push(prepared.map);
2340
- }
2341
- }
2342
- var compilerRes = await transformOxcReactCompiler(filename, code2, "19", true);
2343
- if (compilerRes === null || compilerRes === void 0 ? void 0 : compilerRes.code) {
2344
- code2 = compilerRes.code;
2345
- if (compilerRes.map) {
2346
- intermediateMaps.push(typeof compilerRes.map === "string" ? JSON.parse(compilerRes.map) : compilerRes.map);
2347
- }
2348
- }
2349
- } catch (err) {
2350
- throw new Error(`[vxrn/metro] React Compiler failed for ${filename}: ${err.message || err}`);
2351
- }
2352
- }
2353
- if (shouldRunWorklets) {
2354
- try {
2355
- var {
2356
- transformWorklets
2357
- } = await import("@vxrn/compiler");
2358
- var workletRes = await transformWorklets(filename, code2, true, {
2359
- projectRoot
2360
- });
2361
- if (workletRes === null || workletRes === void 0 ? void 0 : workletRes.code) {
2362
- code2 = workletRes.code;
2363
- if (workletRes.map) {
2364
- intermediateMaps.push(typeof workletRes.map === "string" ? JSON.parse(workletRes.map) : workletRes.map);
2365
- }
2366
- }
2367
- } catch (err) {
2368
- throw new Error(`[vxrn/metro] Worklets transform failed for ${filename}: ${err.message || err}`);
2369
- }
2370
- }
2371
- var lang = langForFilename(filename);
2372
- var {
2373
- transformSync: oxcTransform
2374
- } = await import("oxc-transform");
2375
- var oxcRes;
2376
- try {
2377
- oxcRes = oxcTransform(filename, code2, {
2378
- lang,
2379
- target: "es2020",
2380
- assumptions: {
2381
- setPublicClassFields: true
2382
- },
2383
- jsx: {
2384
- runtime: "automatic",
2385
- development: Boolean(options.dev)
2386
- },
2387
- sourcemap: true
2388
- });
2389
- } catch (err) {
2390
- throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${err.message || err}`);
2391
- }
2392
- if ((_oxcRes_errors = oxcRes.errors) === null || _oxcRes_errors === void 0 ? void 0 : _oxcRes_errors.length) {
2393
- throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${oxcRes.errors[0].message || oxcRes.errors[0]}`);
2394
- }
2395
- code2 = oxcRes.code || code2;
2396
- if (oxcRes.map) {
2397
- intermediateMaps.push(typeof oxcRes.map === "string" ? JSON.parse(oxcRes.map) : oxcRes.map);
2398
- }
2399
- try {
2400
- var esbuildRes = await transformHermesAsync(code2, filename, true, options.type === "script" ? void 0 : "cjs");
2401
- if (esbuildRes) {
2402
- code2 = esbuildRes.code;
2403
- if (esbuildRes.map) {
2404
- intermediateMaps.push(esbuildRes.map);
2405
- }
2406
- }
2407
- } catch (err) {
2408
- throw new Error(`[vxrn/metro] native async/CJS lowering failed for ${filename}: ${err.message || err}`);
2409
- }
2410
- try {
2411
- var loopsRes = transformHermesLoops(code2, filename);
2412
- if (loopsRes) {
2413
- code2 = loopsRes.code;
2414
- var _iteratorNormalCompletion1 = true,
2415
- _didIteratorError1 = false,
2416
- _iteratorError1 = void 0;
2417
- try {
2418
- for (var _iterator1 = loopsRes.maps[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
2419
- var map2 = _step1.value;
2420
- intermediateMaps.push(map2);
2421
- }
2422
- } catch (err) {
2423
- _didIteratorError1 = true;
2424
- _iteratorError1 = err;
2425
- } finally {
2426
- try {
2427
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
2428
- _iterator1.return();
2429
- }
2430
- } finally {
2431
- if (_didIteratorError1) {
2432
- throw _iteratorError1;
2433
- }
2434
- }
2435
- }
2436
- }
2437
- } catch (err) {
2438
- throw new Error(`[vxrn/metro] Hermes loop-binding transform failed for ${filename}: ${err.message || err}`);
2439
- }
2440
- var finalDeps = extractDependencies(code2, filename, {
2441
- asyncRequireModulePath: asyncRequirePath,
2442
- allowOptionalDependencies: config.allowOptionalDependencies
2443
- });
2444
- var finalNames = new Set(finalDeps.map(function (d) {
2445
- return d.name;
2446
- }));
2447
- var reconciled = dependencies1.filter(function (d) {
2448
- return finalNames.has(d.name);
2449
- });
2450
- var _iteratorNormalCompletion2 = true,
2451
- _didIteratorError2 = false,
2452
- _iteratorError2 = void 0;
2453
- try {
2454
- var _loop = function () {
2455
- var injected = _step2.value;
2456
- if (reconciled.some(function (d) {
2457
- return d.name === injected.name;
2458
- })) return "continue";
2459
- reconciled.push(injected);
2460
- };
2461
- for (var _iterator2 = finalDeps[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop();
2462
- } catch (err) {
2463
- _didIteratorError2 = true;
2464
- _iteratorError2 = err;
2465
- } finally {
2466
- try {
2467
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
2468
- _iterator2.return();
2469
- }
2470
- } finally {
2471
- if (_didIteratorError2) {
2472
- throw _iteratorError2;
2473
- }
2474
- }
2475
- }
2476
- dependencies1.length = 0;
2477
- var _iteratorNormalCompletion3 = true,
2478
- _didIteratorError3 = false,
2479
- _iteratorError3 = void 0;
2480
- try {
2481
- for (var _iterator3 = reconciled[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
2482
- var dep = _step3.value;
2483
- dependencies1.push({
2484
- ...dep,
2485
- data: {
2486
- ...dep.data,
2487
- index: dependencies1.length
2488
- }
2489
- });
2490
- }
2491
- } catch (err) {
2492
- _didIteratorError3 = true;
2493
- _iteratorError3 = err;
2494
- } finally {
2495
- try {
2496
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
2497
- _iterator3.return();
2498
- }
2499
- } finally {
2500
- if (_didIteratorError3) {
2501
- throw _iteratorError3;
2502
- }
2503
- }
2504
- }
2505
- var depMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
2506
- if (options.type === "script") {
2507
- var msScript = new MagicString(code2);
2508
- msScript.prepend(`(function (global) {
1986
+ var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
1987
+ assertNoUnportedBabelPlugins(options);
1988
+ var sourceCode = typeof data === "string" ? data : data.toString("utf8");
1989
+ sourceCode = substituteExpoVirtualEnvSource({
1990
+ filename,
1991
+ src: sourceCode,
1992
+ projectRoot,
1993
+ dev: options.dev,
1994
+ environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment
1995
+ });
1996
+ checkReservedStrings(sourceCode, config, options);
1997
+ if (filename.endsWith(".json")) {
1998
+ try {
1999
+ JSON.parse(sourceCode);
2000
+ } catch (err) {
2001
+ throw new Error(`[vxrn/metro] JSON parse error in ${filename}: ${err.message || err}`);
2002
+ }
2003
+ var code = config.unstable_disableModuleWrapping === true ? `module.exports = ${sourceCode};` : wrapJson(sourceCode, {
2004
+ globalPrefix: config.globalPrefix,
2005
+ moduleId: options.moduleId,
2006
+ dependencyIds: options.dependencyIds
2007
+ });
2008
+ if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
2009
+ try {
2010
+ var minifier = require(config.minifierPath);
2011
+ var minified = await minifier({
2012
+ code,
2013
+ config: config.minifierConfig,
2014
+ filename
2015
+ });
2016
+ code = minified.code;
2017
+ } catch (err) {
2018
+ throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2019
+ }
2020
+ }
2021
+ var { lineCount, map } = countLinesAndTerminateMap(code, []);
2022
+ var outputType = options.type === "asset" ? "js/module/asset" : options.type === "script" ? "js/script" : "js/module";
2023
+ return {
2024
+ dependencies: [],
2025
+ output: [{
2026
+ data: {
2027
+ code,
2028
+ lineCount,
2029
+ map,
2030
+ functionMap: null
2031
+ },
2032
+ type: outputType
2033
+ }]
2034
+ };
2035
+ }
2036
+ if (options.type === "asset") {
2037
+ var assetRegistryPath = config.assetRegistryPath || "react-native/asset-registry";
2038
+ var properDescriptor = null;
2039
+ var absolutePath = path.resolve(projectRoot, filename);
2040
+ if (fs.existsSync(absolutePath)) {
2041
+ try {
2042
+ var getAssetData;
2043
+ try {
2044
+ getAssetData = require("metro/private/Assets").getAssetData;
2045
+ } catch (unused) {
2046
+ getAssetData = require("metro/src/Assets").getAssetData;
2047
+ }
2048
+ if (typeof getAssetData === "function") {
2049
+ var rawData = await getAssetData(absolutePath, filename, config.assetPlugins || [], options.platform || "", config.publicPath || "/assets");
2050
+ var copied = { ...rawData };
2051
+ delete copied.files;
2052
+ delete copied.fileSystemLocation;
2053
+ delete copied.path;
2054
+ properDescriptor = copied;
2055
+ }
2056
+ } catch (err) {
2057
+ throw new Error(`[vxrn/metro] Asset resolution failed for ${filename}: ${err.message || err}`);
2058
+ }
2059
+ }
2060
+ if (!properDescriptor) {
2061
+ var ext = path.extname(filename).slice(1);
2062
+ var name = path.basename(filename, "." + ext);
2063
+ properDescriptor = {
2064
+ __packager_asset: true,
2065
+ httpServerLocation: config.publicPath || "/assets",
2066
+ width: void 0,
2067
+ height: void 0,
2068
+ scales: [1],
2069
+ hash: crypto.createHash("md5").update(sourceCode).digest("hex"),
2070
+ name,
2071
+ type: ext
2072
+ };
2073
+ }
2074
+ var assetDepMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
2075
+ var assetCode = `module.exports = require(${assetDepMapName}[0], ${JSON.stringify(assetRegistryPath)}).registerAsset(${JSON.stringify(properDescriptor)});`;
2076
+ var code1 = config.unstable_disableModuleWrapping === true ? assetCode : wrapModule(assetCode, {
2077
+ globalPrefix: config.globalPrefix,
2078
+ moduleId: options.moduleId,
2079
+ dependencyIds: options.dependencyIds,
2080
+ dependencyMapName: config.unstable_dependencyMapReservedName
2081
+ });
2082
+ var dependencies = [{
2083
+ name: assetRegistryPath,
2084
+ data: {
2085
+ key: getDependencyKey(assetRegistryPath, false, null),
2086
+ asyncType: null,
2087
+ locs: [],
2088
+ isESMImportAtSource: false,
2089
+ isESMImport: false,
2090
+ index: 0
2091
+ }
2092
+ }];
2093
+ var { lineCount: lineCount1, map: map1 } = countLinesAndTerminateMap(code1, []);
2094
+ return {
2095
+ dependencies,
2096
+ output: [{
2097
+ data: {
2098
+ code: code1,
2099
+ lineCount: lineCount1,
2100
+ map: map1,
2101
+ functionMap: null
2102
+ },
2103
+ type: "js/module/asset"
2104
+ }]
2105
+ };
2106
+ }
2107
+ var code2 = sourceCode;
2108
+ var intermediateMaps = [];
2109
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
2110
+ try {
2111
+ for (var _iterator = getNativeTransforms(options, projectRoot)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
2112
+ var nativeTransform = _step.value;
2113
+ var out = nativeTransform(code2, {
2114
+ filename: path.isAbsolute(filename) ? filename : path.resolve(projectRoot, filename),
2115
+ platform: options.platform,
2116
+ dev: options.dev,
2117
+ projectRoot
2118
+ });
2119
+ if (typeof out === "string") code2 = out;
2120
+ }
2121
+ } catch (err) {
2122
+ _didIteratorError = true;
2123
+ _iteratorError = err;
2124
+ } finally {
2125
+ try {
2126
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
2127
+ _iterator.return();
2128
+ }
2129
+ } finally {
2130
+ if (_didIteratorError) {
2131
+ throw _iteratorError;
2132
+ }
2133
+ }
2134
+ }
2135
+ var oneRouterOptions = getOneRouterMetroOptions(options);
2136
+ if (oneRouterOptions) {
2137
+ code2 = applyOneRouterMetro(code2, filename, oneRouterOptions);
2138
+ }
2139
+ try {
2140
+ var codegenRes = transformReactNativeCodegen(code2, filename, projectRoot);
2141
+ if (codegenRes === null || codegenRes === void 0 ? void 0 : codegenRes.code) {
2142
+ code2 = codegenRes.code;
2143
+ if (codegenRes.map) {
2144
+ intermediateMaps.push(codegenRes.map);
2145
+ }
2146
+ }
2147
+ } catch (err) {
2148
+ throw new Error(`[vxrn/metro] React Native codegen failed for ${filename}: ${err.message || err}`);
2149
+ }
2150
+ if (shouldStripFlow(filename, code2)) {
2151
+ try {
2152
+ var flowResult = await stripFlowTypes(filename, code2);
2153
+ if (flowResult === null || flowResult === void 0 ? void 0 : flowResult.code) {
2154
+ code2 = flowResult.code;
2155
+ if (flowResult.map) {
2156
+ intermediateMaps.push(typeof flowResult.map === "string" ? JSON.parse(flowResult.map) : flowResult.map);
2157
+ }
2158
+ }
2159
+ } catch (err) {
2160
+ throw new Error(`[vxrn/metro] Flow transform failed for ${filename}: ${err.message || err}`);
2161
+ }
2162
+ }
2163
+ var asyncRequirePath = config.asyncRequireModulePath || "metro-runtime/src/modules/asyncRequire";
2164
+ var aliases = getModuleResolverAliases(options);
2165
+ if (aliases && projectRoot) {
2166
+ var aliasKeys = Object.keys(aliases);
2167
+ if (aliasKeys.some(function(k) {
2168
+ return code2.includes(k.endsWith("$") ? k.slice(0, -1) : k);
2169
+ })) {
2170
+ code2 = applyModuleResolverAliases(code2, filename, projectRoot, aliases);
2171
+ }
2172
+ }
2173
+ if (code2.includes("process.env") || code2.includes("import.meta")) {
2174
+ code2 = applyInlineEnvVars(code2, filename, !options.dev, getImportMetaEnv(options));
2175
+ }
2176
+ if (code2.includes("-only")) {
2177
+ code2 = applyEnvironmentGuard(code2, filename);
2178
+ }
2179
+ var serverCodeRouterRoot = getRemoveServerCodeRouterRoot(options);
2180
+ if (serverCodeRouterRoot && projectRoot && !filename.includes("node_modules")) {
2181
+ var oneNativeTransforms2 = loadOneNativeTransforms(projectRoot);
2182
+ if (oneNativeTransforms2) {
2183
+ var shaken = await oneNativeTransforms2.transformTreeShakeClient(code2, filename, projectRoot, serverCodeRouterRoot);
2184
+ if (shaken === null || shaken === void 0 ? void 0 : shaken.code) {
2185
+ code2 = shaken.code;
2186
+ }
2187
+ }
2188
+ }
2189
+ var dependencies1 = extractDependencies(code2, filename, {
2190
+ asyncRequireModulePath: asyncRequirePath,
2191
+ allowOptionalDependencies: config.allowOptionalDependencies
2192
+ });
2193
+ await configureWorkletsForWorker(projectRoot);
2194
+ var shouldRunWorklets = Boolean((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.worklets);
2195
+ if (!shouldRunWorklets) {
2196
+ var { shouldTransformWorklets } = await import("@vxrn/compiler");
2197
+ shouldRunWorklets = shouldTransformWorklets({
2198
+ id: filename,
2199
+ code: code2
2200
+ });
2201
+ }
2202
+ var shouldRunReactCompiler = Boolean((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.reactCompiler) || hasBabelPlugin(options, "babel-plugin-react-compiler") && isReactCompilerCandidate(filename) || code2.includes("\"use memo\"") || code2.includes("'use memo'");
2203
+ if (shouldRunReactCompiler) {
2204
+ try {
2205
+ var { prepareWorkletsForReactCompiler, transformOxcReactCompiler } = await import("@vxrn/compiler");
2206
+ if (shouldRunWorklets) {
2207
+ var prepared = prepareWorkletsForReactCompiler(filename, code2, true);
2208
+ if (prepared) {
2209
+ code2 = prepared.code;
2210
+ if (prepared.map) intermediateMaps.push(prepared.map);
2211
+ }
2212
+ }
2213
+ var compilerRes = await transformOxcReactCompiler(filename, code2, "19", true);
2214
+ if (compilerRes === null || compilerRes === void 0 ? void 0 : compilerRes.code) {
2215
+ code2 = compilerRes.code;
2216
+ if (compilerRes.map) {
2217
+ intermediateMaps.push(typeof compilerRes.map === "string" ? JSON.parse(compilerRes.map) : compilerRes.map);
2218
+ }
2219
+ }
2220
+ } catch (err) {
2221
+ throw new Error(`[vxrn/metro] React Compiler failed for ${filename}: ${err.message || err}`);
2222
+ }
2223
+ }
2224
+ if (shouldRunWorklets) {
2225
+ try {
2226
+ var { transformWorklets } = await import("@vxrn/compiler");
2227
+ var workletRes = await transformWorklets(filename, code2, true, { projectRoot });
2228
+ if (workletRes === null || workletRes === void 0 ? void 0 : workletRes.code) {
2229
+ code2 = workletRes.code;
2230
+ if (workletRes.map) {
2231
+ intermediateMaps.push(typeof workletRes.map === "string" ? JSON.parse(workletRes.map) : workletRes.map);
2232
+ }
2233
+ }
2234
+ } catch (err) {
2235
+ throw new Error(`[vxrn/metro] Worklets transform failed for ${filename}: ${err.message || err}`);
2236
+ }
2237
+ }
2238
+ var lang = langForFilename(filename);
2239
+ var { transformSync: oxcTransform } = await import("oxc-transform");
2240
+ var oxcRes;
2241
+ try {
2242
+ oxcRes = oxcTransform(filename, code2, {
2243
+ lang,
2244
+ target: "es2020",
2245
+ assumptions: { setPublicClassFields: true },
2246
+ jsx: {
2247
+ runtime: "automatic",
2248
+ development: Boolean(options.dev)
2249
+ },
2250
+ sourcemap: true
2251
+ });
2252
+ } catch (err) {
2253
+ throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${err.message || err}`);
2254
+ }
2255
+ if ((_oxcRes_errors = oxcRes.errors) === null || _oxcRes_errors === void 0 ? void 0 : _oxcRes_errors.length) {
2256
+ throw new Error(`[vxrn/metro] Oxc transform failed for ${filename}: ${oxcRes.errors[0].message || oxcRes.errors[0]}`);
2257
+ }
2258
+ code2 = oxcRes.code || code2;
2259
+ if (oxcRes.map) {
2260
+ intermediateMaps.push(typeof oxcRes.map === "string" ? JSON.parse(oxcRes.map) : oxcRes.map);
2261
+ }
2262
+ try {
2263
+ var esbuildRes = await transformHermesAsync(code2, filename, true, options.type === "script" ? void 0 : "cjs");
2264
+ if (esbuildRes) {
2265
+ code2 = esbuildRes.code;
2266
+ if (esbuildRes.map) {
2267
+ intermediateMaps.push(esbuildRes.map);
2268
+ }
2269
+ }
2270
+ } catch (err) {
2271
+ throw new Error(`[vxrn/metro] native async/CJS lowering failed for ${filename}: ${err.message || err}`);
2272
+ }
2273
+ try {
2274
+ var loopsRes = transformHermesLoops(code2, filename);
2275
+ if (loopsRes) {
2276
+ code2 = loopsRes.code;
2277
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
2278
+ try {
2279
+ for (var _iterator1 = loopsRes.maps[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
2280
+ var map2 = _step1.value;
2281
+ intermediateMaps.push(map2);
2282
+ }
2283
+ } catch (err) {
2284
+ _didIteratorError1 = true;
2285
+ _iteratorError1 = err;
2286
+ } finally {
2287
+ try {
2288
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
2289
+ _iterator1.return();
2290
+ }
2291
+ } finally {
2292
+ if (_didIteratorError1) {
2293
+ throw _iteratorError1;
2294
+ }
2295
+ }
2296
+ }
2297
+ }
2298
+ } catch (err) {
2299
+ throw new Error(`[vxrn/metro] Hermes loop-binding transform failed for ${filename}: ${err.message || err}`);
2300
+ }
2301
+ var finalDeps = extractDependencies(code2, filename, {
2302
+ asyncRequireModulePath: asyncRequirePath,
2303
+ allowOptionalDependencies: config.allowOptionalDependencies
2304
+ });
2305
+ var finalNames = new Set(finalDeps.map(function(d) {
2306
+ return d.name;
2307
+ }));
2308
+ var reconciled = dependencies1.filter(function(d) {
2309
+ return finalNames.has(d.name);
2310
+ });
2311
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
2312
+ try {
2313
+ var _loop = function() {
2314
+ var injected = _step2.value;
2315
+ if (reconciled.some(function(d) {
2316
+ return d.name === injected.name;
2317
+ })) return "continue";
2318
+ reconciled.push(injected);
2319
+ };
2320
+ for (var _iterator2 = finalDeps[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop();
2321
+ } catch (err) {
2322
+ _didIteratorError2 = true;
2323
+ _iteratorError2 = err;
2324
+ } finally {
2325
+ try {
2326
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
2327
+ _iterator2.return();
2328
+ }
2329
+ } finally {
2330
+ if (_didIteratorError2) {
2331
+ throw _iteratorError2;
2332
+ }
2333
+ }
2334
+ }
2335
+ dependencies1.length = 0;
2336
+ var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
2337
+ try {
2338
+ for (var _iterator3 = reconciled[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
2339
+ var dep = _step3.value;
2340
+ dependencies1.push({
2341
+ ...dep,
2342
+ data: {
2343
+ ...dep.data,
2344
+ index: dependencies1.length
2345
+ }
2346
+ });
2347
+ }
2348
+ } catch (err) {
2349
+ _didIteratorError3 = true;
2350
+ _iteratorError3 = err;
2351
+ } finally {
2352
+ try {
2353
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
2354
+ _iterator3.return();
2355
+ }
2356
+ } finally {
2357
+ if (_didIteratorError3) {
2358
+ throw _iteratorError3;
2359
+ }
2360
+ }
2361
+ }
2362
+ var depMapName = config.unstable_dependencyMapReservedName || "_dependencyMap";
2363
+ if (options.type === "script") {
2364
+ var msScript = new MagicString(code2);
2365
+ msScript.prepend(`(function (global) {
2509
2366
  `);
2510
- msScript.append(`
2367
+ msScript.append(`
2511
2368
  })(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);`);
2512
- code2 = msScript.toString();
2513
- intermediateMaps.push(msScript.generateMap({
2514
- source: filename,
2515
- hires: true,
2516
- includeContent: true
2517
- }));
2518
- } else if (config.unstable_disableModuleWrapping === true) {
2519
- var rewriteRes = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
2520
- code2 = rewriteRes.code;
2521
- if (rewriteRes.map) {
2522
- intermediateMaps.push(rewriteRes.map);
2523
- }
2524
- } else {
2525
- var rewriteRes1 = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
2526
- if (rewriteRes1.map) {
2527
- intermediateMaps.push(rewriteRes1.map);
2528
- }
2529
- var msWrap = new MagicString(rewriteRes1.code);
2530
- var globalPrefix = config.globalPrefix || "";
2531
- var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMapName}) {
2369
+ code2 = msScript.toString();
2370
+ intermediateMaps.push(msScript.generateMap({
2371
+ source: filename,
2372
+ hires: true,
2373
+ includeContent: true
2374
+ }));
2375
+ } else if (config.unstable_disableModuleWrapping === true) {
2376
+ var rewriteRes = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
2377
+ code2 = rewriteRes.code;
2378
+ if (rewriteRes.map) {
2379
+ intermediateMaps.push(rewriteRes.map);
2380
+ }
2381
+ } else {
2382
+ var rewriteRes1 = rewriteDependencyCalls(code2, dependencies1, depMapName, filename, asyncRequirePath);
2383
+ if (rewriteRes1.map) {
2384
+ intermediateMaps.push(rewriteRes1.map);
2385
+ }
2386
+ var msWrap = new MagicString(rewriteRes1.code);
2387
+ var globalPrefix = config.globalPrefix || "";
2388
+ var header = `function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, ${depMapName}) {
2532
2389
  var require = _$$_REQUIRE;
2533
2390
  `;
2534
- var footer = `
2391
+ var footer = `
2535
2392
  }`;
2536
- msWrap.prepend(`${globalPrefix}__d(${header}`);
2537
- if (options.moduleId !== void 0) {
2538
- var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
2539
- msWrap.append(`${footer}, ${JSON.stringify(options.moduleId)}, ${depIds});`);
2540
- } else {
2541
- msWrap.append(`${footer});`);
2542
- }
2543
- code2 = msWrap.toString();
2544
- intermediateMaps.push(msWrap.generateMap({
2545
- source: filename,
2546
- hires: true,
2547
- includeContent: true
2548
- }));
2549
- }
2550
- if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
2551
- try {
2552
- var minifier1 = require(config.minifierPath);
2553
- var minified1 = await minifier1({
2554
- code: code2,
2555
- config: config.minifierConfig,
2556
- filename,
2557
- map: new MagicString(code2).generateMap({
2558
- source: filename,
2559
- hires: true,
2560
- includeContent: true
2561
- })
2562
- });
2563
- code2 = minified1.code;
2564
- if (minified1.map) {
2565
- intermediateMaps.push(typeof minified1.map === "string" ? JSON.parse(minified1.map) : minified1.map);
2566
- } else {
2567
- intermediateMaps.length = 0;
2568
- }
2569
- } catch (err) {
2570
- throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2571
- }
2572
- }
2573
- var rawMappings = [];
2574
- if (intermediateMaps.length > 0) {
2575
- var cleanMaps = intermediateMaps.map(function (m) {
2576
- return typeof m === "string" ? JSON.parse(m) : m;
2577
- }).filter(Boolean);
2578
- if (cleanMaps.length > 0) {
2579
- var composed = cleanMaps.length === 1 ? cleanMaps[0] : remapping(cleanMaps.slice().reverse(), function () {
2580
- return null;
2581
- });
2582
- rawMappings = convertSourceMapToMetroRawMappings(composed);
2583
- }
2584
- }
2585
- var {
2586
- lineCount: lineCount2,
2587
- map: map3
2588
- } = countLinesAndTerminateMap(code2, rawMappings);
2589
- return {
2590
- dependencies: dependencies1,
2591
- output: [{
2592
- data: {
2593
- code: code2,
2594
- lineCount: lineCount2,
2595
- map: map3,
2596
- functionMap: null
2597
- },
2598
- type: options.type === "script" ? "js/script" : "js/module"
2599
- }]
2600
- };
2393
+ msWrap.prepend(`${globalPrefix}__d(${header}`);
2394
+ if (options.moduleId !== void 0) {
2395
+ var depIds = options.dependencyIds ? JSON.stringify(options.dependencyIds) : "[]";
2396
+ msWrap.append(`${footer}, ${JSON.stringify(options.moduleId)}, ${depIds});`);
2397
+ } else {
2398
+ msWrap.append(`${footer});`);
2399
+ }
2400
+ code2 = msWrap.toString();
2401
+ intermediateMaps.push(msWrap.generateMap({
2402
+ source: filename,
2403
+ hires: true,
2404
+ includeContent: true
2405
+ }));
2406
+ }
2407
+ if (options.minify && options.unstable_transformProfile !== "hermes-canary" && options.unstable_transformProfile !== "hermes-stable" && config.minifierPath) {
2408
+ try {
2409
+ var minifier1 = require(config.minifierPath);
2410
+ var minified1 = await minifier1({
2411
+ code: code2,
2412
+ config: config.minifierConfig,
2413
+ filename,
2414
+ map: new MagicString(code2).generateMap({
2415
+ source: filename,
2416
+ hires: true,
2417
+ includeContent: true
2418
+ })
2419
+ });
2420
+ code2 = minified1.code;
2421
+ if (minified1.map) {
2422
+ intermediateMaps.push(typeof minified1.map === "string" ? JSON.parse(minified1.map) : minified1.map);
2423
+ } else {
2424
+ intermediateMaps.length = 0;
2425
+ }
2426
+ } catch (err) {
2427
+ throw new Error(`[vxrn/metro] Minifier failed for ${filename}: ${err.message || err}`);
2428
+ }
2429
+ }
2430
+ var rawMappings = [];
2431
+ if (intermediateMaps.length > 0) {
2432
+ var cleanMaps = intermediateMaps.map(function(m) {
2433
+ return typeof m === "string" ? JSON.parse(m) : m;
2434
+ }).filter(Boolean);
2435
+ if (cleanMaps.length > 0) {
2436
+ var composed = cleanMaps.length === 1 ? cleanMaps[0] : remapping(cleanMaps.slice().reverse(), function() {
2437
+ return null;
2438
+ });
2439
+ rawMappings = convertSourceMapToMetroRawMappings(composed);
2440
+ }
2441
+ }
2442
+ var { lineCount: lineCount2, map: map3 } = countLinesAndTerminateMap(code2, rawMappings);
2443
+ return {
2444
+ dependencies: dependencies1,
2445
+ output: [{
2446
+ data: {
2447
+ code: code2,
2448
+ lineCount: lineCount2,
2449
+ map: map3,
2450
+ functionMap: null
2451
+ },
2452
+ type: options.type === "script" ? "js/script" : "js/module"
2453
+ }]
2454
+ };
2601
2455
  }
2602
2456
  var metroNativeWorker_default = {
2603
- transform,
2604
- getCacheKey,
2605
- wrapModule,
2606
- wrapJson,
2607
- extractDependencies,
2608
- rewriteDependencyCalls,
2609
- convertSourceMapToMetroRawMappings
2457
+ transform,
2458
+ getCacheKey,
2459
+ wrapModule,
2460
+ wrapJson,
2461
+ extractDependencies,
2462
+ rewriteDependencyCalls,
2463
+ convertSourceMapToMetroRawMappings
2610
2464
  };
2465
+
2611
2466
  export { ScopeTracker, applyEnvironmentGuard, applyInlineEnvVars, applyModuleResolverAliases, applyOneRouterMetro, assertNoUnportedBabelPlugins, collectBlockBindings, collectHoistedBindings, collectPatternNames, convertSourceMapToMetroRawMappings, countLinesAndTerminateMap, metroNativeWorker_default as default, extractDependencies, getCacheKey, getDependencyKey, getImportMetaEnv, getModuleResolverAliases, getOneRouterMetroOptions, getRemoveServerCodeRouterRoot, resolveAliasSpecifier, rewriteDependencyCalls, transform, wrapJson, wrapModule };
2612
2467
  //# sourceMappingURL=metroNativeWorker.native.js.map