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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +55 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +93 -0
  7. package/dist/cjs/env/platformEnv.native.js +72 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +22 -24
  10. package/dist/cjs/index.native.cjs +41 -0
  11. package/dist/cjs/index.native.js +22 -23
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +48 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +101 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +88 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +246 -271
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +257 -281
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +44 -56
  30. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +62 -0
  31. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +45 -63
  32. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  33. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  34. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  35. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  36. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  38. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  39. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  40. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  42. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  43. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  44. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  46. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  48. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  50. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  51. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  52. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  54. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  55. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  56. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  62. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  64. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  66. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  67. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  68. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  70. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  71. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  72. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  74. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  75. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  76. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  78. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  79. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  80. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  81. package/dist/cjs/rn-commands/index.cjs +17 -26
  82. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  83. package/dist/cjs/rn-commands/index.native.js +17 -25
  84. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-core.cjs +16 -18
  86. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  87. package/dist/cjs/transformer/babel-core.native.js +16 -17
  88. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  89. package/dist/cjs/transformer/babel-transformer.cjs +101 -152
  90. package/dist/cjs/transformer/babel-transformer.native.cjs +131 -0
  91. package/dist/cjs/transformer/babel-transformer.native.js +106 -159
  92. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1442 -1480
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2536 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2416 -2552
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +47 -63
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +49 -64
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +24 -28
  122. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +37 -0
  123. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +24 -27
  124. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  125. package/dist/cjs/utils/projectImport.cjs +40 -51
  126. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  127. package/dist/cjs/utils/projectImport.native.js +41 -58
  128. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  129. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  130. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  131. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  132. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  133. package/dist/esm/env/platformEnv.mjs +40 -39
  134. package/dist/esm/env/platformEnv.mjs.map +1 -1
  135. package/dist/esm/env/platformEnv.native.js +57 -58
  136. package/dist/esm/env/platformEnv.native.js.map +1 -1
  137. package/dist/esm/index.js +3 -3
  138. package/dist/esm/index.mjs +3 -3
  139. package/dist/esm/index.native.js +3 -3
  140. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +35 -33
  141. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +75 -77
  143. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +230 -246
  145. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  146. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +241 -257
  147. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  148. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  149. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  150. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  151. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  152. package/dist/esm/metro-config/types.mjs +0 -2
  153. package/dist/esm/metro-config/types.native.js +0 -2
  154. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +32 -38
  155. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  156. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +33 -46
  157. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  158. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  159. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  160. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  161. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  163. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  165. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  167. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  169. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  171. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  173. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  175. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  177. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  179. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  181. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  183. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  185. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  187. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  188. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  189. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  190. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  191. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  192. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  193. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  194. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  195. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  196. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  197. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  198. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  199. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  200. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  201. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  202. package/dist/esm/rn-commands/index.mjs +2 -2
  203. package/dist/esm/rn-commands/index.native.js +2 -2
  204. package/dist/esm/transformer/babel-core.mjs +2 -2
  205. package/dist/esm/transformer/babel-core.native.js +2 -2
  206. package/dist/esm/transformer/babel-transformer.mjs +108 -144
  207. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  208. package/dist/esm/transformer/babel-transformer.native.js +114 -155
  209. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  210. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  211. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  212. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  213. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  214. package/dist/esm/transformer/metroNativeWorker.mjs +1405 -1434
  215. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  216. package/dist/esm/transformer/metroNativeWorker.native.js +2379 -2507
  217. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  218. package/dist/esm/transformer/transformSync.mjs +32 -37
  219. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  220. package/dist/esm/transformer/transformSync.native.js +34 -39
  221. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  222. package/dist/esm/transformer/types.mjs +0 -2
  223. package/dist/esm/transformer/types.native.js +0 -2
  224. package/dist/esm/utils/exit.mjs +123 -112
  225. package/dist/esm/utils/exit.mjs.map +1 -1
  226. package/dist/esm/utils/exit.native.js +210 -215
  227. package/dist/esm/utils/exit.native.js.map +1 -1
  228. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  229. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  230. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  231. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  232. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  233. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  234. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  235. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  236. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +11 -10
  237. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
  238. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +11 -10
  239. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  240. package/dist/esm/utils/projectImport.mjs +23 -25
  241. package/dist/esm/utils/projectImport.mjs.map +1 -1
  242. package/dist/esm/utils/projectImport.native.js +24 -33
  243. package/dist/esm/utils/projectImport.native.js.map +1 -1
  244. package/package.json +5 -6
  245. package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
  246. package/src/transformer/metroNativeWorker.test.ts +110 -49
  247. package/src/transformer/metroNativeWorker.ts +3 -11
  248. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  249. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  250. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  251. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  252. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  253. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  254. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  255. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  256. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  257. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  258. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  259. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  260. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  261. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  262. package/dist/esm/index.js.map +0 -1
  263. package/dist/esm/index.mjs.map +0 -1
  264. package/dist/esm/index.native.js.map +0 -1
  265. package/dist/esm/metro-config/types.mjs.map +0 -1
  266. package/dist/esm/metro-config/types.native.js.map +0 -1
  267. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  268. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  269. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  270. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  271. package/dist/esm/rn-commands/index.mjs.map +0 -1
  272. package/dist/esm/rn-commands/index.native.js.map +0 -1
  273. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  274. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  275. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  276. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  277. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  278. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  279. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  280. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  281. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  282. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  283. package/dist/esm/transformer/types.mjs.map +0 -1
  284. package/dist/esm/transformer/types.native.js.map +0 -1
  285. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  286. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  287. package/types/transformer/transformSync.test.d.ts +0 -2
  288. package/types/transformer/transformSync.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","vm","parseSync","fs","os","path","createRequire","applyEnvironmentGuard","applyInlineEnvVars","assertNoUnportedBabelPlugins","extractDependencies","getCacheKey","getRemoveServerCodeRouterRoot","transform","wrapModule","buildMetroConfigInputFromViteConfig","getMetroConfigFromViteConfig","__require","x","require","Proxy","get","a","b","apply","arguments","Error","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","babelCalls","transformSync","transformAsync","transformFromAstSync","parse","mock","importOriginal","actual","fn","_len","length","args","Array","_key","assertZeroBabelCalls","toBe","each","filename","sourceMap","result","minifierPath","import","meta","url","resolve","minifierConfig","Buffer","from","endsWith","dev","minify","platform","type","module","exports","code","map","output","data","runInNewContext","__d","factory","answer","every","entry","source","mangle","msm","fullMap","fromRawMappings","toMap","offset","indexOf","toBeGreaterThan","prefix","slice","split","position","Consumer","originalPositionFor","line","column","at","deps","names","d","name","toContain","not","reactDep","find","isESMImportAtSource","asyncType","toBeNull","locs","loc","start","toBeGreaterThanOrEqual","end","helperDep","isOptional","toBeUndefined","on","allowOptionalDependencies","exclude","wrappedWithoutId","moduleId","dependencyIds","toHaveLength","lineCount","depNames","dependencies","sources","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","sourceCode","value","toMatch","err","return","jsonSource","JSON","stringify","version","toEqual","assetRegistryPath","publicPath","key1","globalPrefix","projectRoot","key2","key3","mockViteConfig","root","process","cwd","env","ONE_METRO_NATIVE_TRANSFORMS","configDefault","defaultConfig","transformerPath","transformer","nativeTransforms","tempDir","join","Date","now","mkdirSync","recursive","writeFileSync","babelConfigPath","rmSync","force","realpathSync","mkdtempSync","warnsWithConfig","spy","calls","some","includes","optionWarn","spyOn","console","mockImplementation","mockRestore","envWarn","respectedWarn","nativeInput","nativeFull","fallbackInput","fallbackFull","forcedWarn","forcedInput","forcedFull","depSource","aSource","depRes","aRes","aEmittedCode","polyfillPath","polyfillCode","readFileSync","contextObj","__DEV__","__METRO_GLOBAL_PREFIX__","global","createContext","runInContext","doubled","message","res","emitted","syncDep","asyncDep","toBeDefined","index","syncIndex","isArray","tuple","toHaveProperty","consumer","addLineIndex","findIndex","l","mainSource","mainRes","emittedMain","asyncRequirePath","wrappedAsyncRequire","_i","_iter","mainFn","promise","Promise","then","resolved","default","resWrapped","fullMapWrapped","consumerWrapped","linesWrapped","lineIndexWrapped","generatedColWrapped","posWrapped","Number","resUnwrapped","unstable_disableModuleWrapping","fullMapUnwrapped","consumerUnwrapped","linesUnwrapped","lineIndexUnwrapped","generatedColUnwrapped","posUnwrapped","contextDep","contextParams","ctx","req","push","keys","context","asHermesWouldSeeIt","replace","collect","ONE_SERVER_URL","src","out","DEV","VITE_POSTHOG_API_KEY","TAMAGUI_TARGET","VITE_ENVIRONMENT","SSR","API","dynamic","dirname","customTransformOptions","vite","nativeTransformModules","withPlugins","plugins","babelConfig","toThrow","routerRoot","alias","parsed","lang","errors","program","body","n","resetModules","loadBabelConfig","tmpdir","extends","loadBabelConfig1","tempDir1"],"sources":["metroNativeWorker.test.native.js"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport * as vm from \"vm\";\nimport { parseSync } from \"oxc-parser\";\nimport * as fs from \"fs\";\nimport * as os from \"os\";\nimport * as path from \"path\";\nimport { createRequire } from \"module\";\nimport { applyEnvironmentGuard, applyInlineEnvVars, assertNoUnportedBabelPlugins, extractDependencies, getCacheKey, getRemoveServerCodeRouterRoot, transform, wrapModule } from \"./metroNativeWorker\";\nimport { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig } from \"../metro-config/getMetroConfigFromViteConfig\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nfunction _type_of(obj) {\n\t\"@swc/helpers - typeof\";\n\treturn obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar babelCalls = {\n\ttransform: 0,\n\ttransformSync: 0,\n\ttransformAsync: 0,\n\ttransformFromAstSync: 0,\n\tparse: 0,\n\tparseSync: 0\n};\nvi.mock(\"@babel/core\", async function(importOriginal) {\n\tvar actual = await importOriginal();\n\treturn {\n\t\t...actual,\n\t\ttransform: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transform++;\n\t\t\treturn actual.transform(...args);\n\t\t}),\n\t\ttransformSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformSync++;\n\t\t\treturn actual.transformSync(...args);\n\t\t}),\n\t\ttransformAsync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformAsync++;\n\t\t\treturn actual.transformAsync(...args);\n\t\t}),\n\t\ttransformFromAstSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformFromAstSync++;\n\t\t\treturn actual.transformFromAstSync(...args);\n\t\t}),\n\t\tparse: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parse++;\n\t\t\treturn actual.parse(...args);\n\t\t}),\n\t\tparseSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parseSync++;\n\t\t\treturn actual.parseSync(...args);\n\t\t})\n\t};\n});\nbeforeEach(function() {\n\tbabelCalls.transform = 0;\n\tbabelCalls.transformSync = 0;\n\tbabelCalls.transformAsync = 0;\n\tbabelCalls.transformFromAstSync = 0;\n\tbabelCalls.parse = 0;\n\tbabelCalls.parseSync = 0;\n});\nfunction assertZeroBabelCalls() {\n\texpect(babelCalls.transform).toBe(0);\n\texpect(babelCalls.transformSync).toBe(0);\n\texpect(babelCalls.transformAsync).toBe(0);\n\texpect(babelCalls.transformFromAstSync).toBe(0);\n\texpect(babelCalls.parse).toBe(0);\n\texpect(babelCalls.parseSync).toBe(0);\n}\ndescribe(\"metroNativeWorker\", function() {\n\tit.each([\n\t\t[\"data.json\", true],\n\t\t[\"data.json\", false],\n\t\t[\"data.js\", false]\n\t])(\"minifies %s with source maps enabled=%s without stale mappings\", async function(filename, sourceMap) {\n\t\tvar result = await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { sourceMap }\n\t\t}, \"/project\", filename, Buffer.from(filename.endsWith(\".json\") ? \"{\\\"answer\\\":42}\" : \"module.exports = { answer: 42 }\"), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar module = { exports: {} };\n\t\tvar { code, map } = result.output[0].data;\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer).toBe(42);\n\t\texpect(map.every(function(entry) {\n\t\t\treturn entry.length === 2;\n\t\t})).toBe(true);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"minifies production modules with executable output and original source locations\", async function() {\n\t\tvar source = \"exports.answer = function answer(value) {\\n return value + 42\\n}\\n\";\n\t\tvar { code, map } = (await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { mangle: true }\n\t\t}, \"/project\", \"answer.js\", Buffer.from(source), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data;\n\t\tvar module = { exports: {} };\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer(8)).toBe(50);\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode,\n\t\t\tpath: \"answer.js\",\n\t\t\tsource,\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar offset = code.indexOf(\"42\");\n\t\texpect(offset).toBeGreaterThan(-1);\n\t\tvar prefix = code.slice(0, offset).split(\"\\n\");\n\t\tvar position = new msm.Consumer(fullMap).originalPositionFor({\n\t\t\tline: prefix.length,\n\t\t\tcolumn: prefix.at(-1).length\n\t\t});\n\t\texpect(position.source).toBe(\"answer.js\");\n\t\texpect(position.line).toBe(2);\n\t\texpect(position.column).toBe(17);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"extracts all dependencies with oxc-parser and zero Babel\", function() {\n\t\tvar deps = extractDependencies(`\n import React, { useState } from 'react'\n import * as RN from 'react-native'\n import './global.css'\n import type { UserType } from './user-types'\n export { Button } from './Button'\n export * from './icons'\n export type { ThemeType } from './theme-types'\n const helper = require('./helper')\n async function loadAsync() {\n const dyn = await import('./dynamic-module')\n }\n `, \"TestComponent.tsx\");\n\t\tassertZeroBabelCalls();\n\t\tvar names = deps.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(names).toContain(\"react\");\n\t\texpect(names).toContain(\"react-native\");\n\t\texpect(names).toContain(\"./global.css\");\n\t\texpect(names).toContain(\"./Button\");\n\t\texpect(names).toContain(\"./icons\");\n\t\texpect(names).toContain(\"./helper\");\n\t\texpect(names).toContain(\"./dynamic-module\");\n\t\texpect(names).not.toContain(\"./user-types\");\n\t\texpect(names).not.toContain(\"./theme-types\");\n\t\tvar reactDep = deps.find(function(d) {\n\t\t\treturn d.name === \"react\";\n\t\t});\n\t\texpect(reactDep.data.isESMImportAtSource).toBe(true);\n\t\texpect(reactDep.data.asyncType).toBeNull();\n\t\texpect(reactDep.data.locs.length).toBeGreaterThan(0);\n\t\tvar loc = reactDep.data.locs[0];\n\t\texpect(loc.start.line).toBeGreaterThan(0);\n\t\texpect(loc.start.column).toBeGreaterThanOrEqual(0);\n\t\texpect(loc.end.line).toBeGreaterThanOrEqual(loc.start.line);\n\t\texpect(loc.end.column).toBeGreaterThanOrEqual(0);\n\t\tvar helperDep = deps.find(function(d) {\n\t\t\treturn d.name === \"./helper\";\n\t\t});\n\t\texpect(helperDep.data.isESMImportAtSource).toBe(false);\n\t\texpect(helperDep.data.asyncType).toBeNull();\n\t\texpect(deps.find(function(d) {\n\t\t\treturn d.name === \"./dynamic-module\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t});\n\tit(\"marks requires inside a try block optional\", function() {\n\t\tvar code = `\n let worklets\n try {\n worklets = require('react-native-worklets-core')\n } catch {}\n const always = require('./always-there')\n `;\n\t\texpect(extractDependencies(code, \"setup.js\").find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\tvar on = extractDependencies(code, \"setup.js\", { allowOptionalDependencies: true });\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBe(true);\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"./always-there\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\texpect(extractDependencies(code, \"setup.js\", { allowOptionalDependencies: { exclude: [\"react-native-worklets-core\"] } }).find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t});\n\tit(\"wraps modules in Metro CommonJS format with and without moduleId\", function() {\n\t\tvar code = \"exports.val = 123;\";\n\t\tvar wrappedWithoutId = wrapModule(code);\n\t\texpect(wrappedWithoutId).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(wrappedWithoutId).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(wrappedWithoutId).toContain(\"exports.val = 123;\");\n\t\texpect(wrappedWithoutId.endsWith(\");\")).toBe(true);\n\t\texpect(wrapModule(code, {\n\t\t\tmoduleId: 99,\n\t\t\tdependencyIds: [\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]\n\t\t})).toContain(\", 99, [1,2,3]);\");\n\t});\n\tit(\"transforms TSX with React JSX, Hermes lowering, and ZERO Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"Greeter.tsx\", Buffer.from(`\n import React from 'react'\n import { View, Text } from 'react-native'\n const helper = require('./helper')\n\n export class Greeter extends React.Component {\n greeting = 'Hello from Native'\n\n async fetchGreeting() {\n return this.greeting\n }\n\n render() {\n return (\n <View testID=\"greeter\">\n <Text>{this.greeting}</Text>\n </View>\n )\n }\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output).toHaveLength(1);\n\t\tvar output = result.output[0];\n\t\texpect(output.type).toBe(\"js/module\");\n\t\texpect(output.data.lineCount).toBeGreaterThan(0);\n\t\texpect(output.data.map.length).toBeGreaterThan(0);\n\t\tvar code = output.data.code;\n\t\texpect(code).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(code).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(code).not.toContain(\"<View\");\n\t\texpect(code).not.toContain(\"<Text\");\n\t\texpect(code).toContain(\"this.greeting = \\\"Hello from Native\\\"\");\n\t\tvar depNames = result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"react\");\n\t\texpect(depNames).toContain(\"react-native\");\n\t\texpect(depNames).toContain(\"./helper\");\n\t\texpect(depNames).toContain(\"react/jsx-dev-runtime\");\n\t});\n\tit(\"lowers async generators, including the method shorthand Hermes also rejects\", async function() {\n\t\tvar sources = {\n\t\t\t\"cursor.ts\": `\n export class Cursor {\n async *rows() {\n yield await Promise.resolve(1)\n }\n }\n `,\n\t\t\t\"stream.ts\": `\n export async function* stream() {\n yield 1\n }\n `,\n\t\t\t\"drain.ts\": `\n export async function drain(src) {\n for await (const x of src) {\n console.log(x)\n }\n }\n `\n\t\t};\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = Object.entries(sources)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar [filename, sourceCode] = _step.value;\n\t\t\t\tvar result = await transform({}, \"/project\", filename, Buffer.from(sourceCode, \"utf8\"), {\n\t\t\t\t\tdev: true,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\ttype: \"module\"\n\t\t\t\t});\n\t\t\t\tassertZeroBabelCalls();\n\t\t\t\tvar code = result.output[0].data.code;\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s+function\\s*\\*/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s*\\*\\s*[\\w$[]/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\bfor\\s+await\\s*\\(/);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t});\n\tit(\"handles JSON files without Babel\", async function() {\n\t\tvar jsonSource = JSON.stringify({\n\t\t\tname: \"my-package\",\n\t\t\tversion: \"1.0.0\"\n\t\t});\n\t\tvar result = await transform({}, \"/project\", \"package.json\", Buffer.from(jsonSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.dependencies).toEqual([]);\n\t\texpect(result.output).toHaveLength(1);\n\t\texpect(result.output[0].type).toBe(\"js/module\");\n\t\texpect(result.output[0].data.code).toContain(\"module.exports = {\\\"name\\\":\\\"my-package\\\",\\\"version\\\":\\\"1.0.0\\\"}\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function (global, require\");\n\t});\n\tit(\"handles Asset files without Babel\", async function() {\n\t\tvar result = await transform({\n\t\t\tassetRegistryPath: \"react-native/Libraries/Image/AssetRegistry\",\n\t\t\tpublicPath: \"/assets\"\n\t\t}, \"/project\", \"logo.png\", Buffer.from(\"fake-png-binary-data\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"asset\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].type).toBe(\"js/module/asset\");\n\t\texpect(result.output[0].data.code).toContain(\"registerAsset(\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function\");\n\t\texpect(result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"react-native/Libraries/Image/AssetRegistry\");\n\t});\n\tit(\"handles Flow files by stripping types without Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"math.js\", Buffer.from(`\n // @flow\n function add(a: number, b: number): number {\n return a + b;\n }\n export default add;\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).not.toContain(\": number\");\n\t\texpect(result.output[0].data.code).toContain(\"function add(a, b)\");\n\t});\n\tit(\"generates a deterministic cache key without Babel\", function() {\n\t\tvar key1 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key2 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key3 = getCacheKey({ globalPrefix: \"__other_\" }, { projectRoot: \"/app\" });\n\t\tassertZeroBabelCalls();\n\t\texpect(key1).toBe(key2);\n\t\texpect(key1).not.toBe(key3);\n\t\texpect(typeof key1 === \"undefined\" ? \"undefined\" : _type_of(key1)).toBe(\"string\");\n\t\texpect(key1.length).toBe(64);\n\t});\n\tit(\"correctly sets transformerPath in buildMetroConfigInputFromViteConfig when active\", async function() {\n\t\tvar mockViteConfig = { root: process.cwd() };\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\tvar configDefault = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\texpect(configDefault.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\texpect(configDefault.defaultConfig.transformer.transformerPath).toBeUndefined();\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"0\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t});\n\tit(\"falls back to default Metro babel transformer when a user babel config exists\", async function() {\n\t\tvar tempDir = path.join(process.cwd(), `.tmp-metro-test-${Date.now()}`);\n\t\tfs.mkdirSync(tempDir, { recursive: true });\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\ttry {\n\t\t\tvar mockViteConfig = { root: tempDir };\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tvar babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"// @one-generated\\nmodule.exports = {}\");\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [\\\"my-plugin\\\"] }\");\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"warns naming the ignored user babel config when native transforms are forced\", async function() {\n\t\tvar tempDir = fs.realpathSync(fs.mkdtempSync(path.join(process.cwd(), \".tmp-metro-test-\")));\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\tvar babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [] }\");\n\t\ttry {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tvar mockViteConfig = { root: tempDir };\n\t\t\tvar warnsWithConfig = function(spy) {\n\t\t\t\treturn spy.mock.calls.some(function(args) {\n\t\t\t\t\treturn args.join(\" \").includes(babelConfigPath);\n\t\t\t\t});\n\t\t\t};\n\t\t\tvar optionWarn = vi.spyOn(console, \"warn\").mockImplementation(function() {});\n\t\t\ttry {\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(optionWarn)).toBe(true);\n\t\t\t} finally {\n\t\t\t\toptionWarn.mockRestore();\n\t\t\t}\n\t\t\tvar envWarn = vi.spyOn(console, \"warn\").mockImplementation(function() {});\n\t\t\ttry {\n\t\t\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(envWarn)).toBe(true);\n\t\t\t} finally {\n\t\t\t\tenvWarn.mockRestore();\n\t\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\t}\n\t\t\tvar respectedWarn = vi.spyOn(console, \"warn\").mockImplementation(function() {});\n\t\t\ttry {\n\t\t\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\t\texpect(warnsWithConfig(respectedWarn)).toBe(false);\n\t\t\t} finally {\n\t\t\t\trespectedWarn.mockRestore();\n\t\t\t}\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"selects the same transformer in both metro config builders\", async function() {\n\t\tvar tempDir = fs.realpathSync(fs.mkdtempSync(path.join(process.cwd(), \".tmp-metro-test-\")));\n\t\tfs.writeFileSync(path.join(tempDir, \"package.json\"), \"{}\");\n\t\ttry {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tvar mockViteConfig = { root: tempDir };\n\t\t\tvar nativeInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\t\tvar nativeFull = await getMetroConfigFromViteConfig(mockViteConfig, {});\n\t\t\texpect(nativeInput.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\texpect(nativeFull.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\tvar babelConfigPath = path.join(tempDir, \"babel.config.js\");\n\t\t\tfs.writeFileSync(babelConfigPath, \"module.exports = { plugins: [] }\");\n\t\t\tvar fallbackInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\t\tvar fallbackFull = await getMetroConfigFromViteConfig(mockViteConfig, {});\n\t\t\texpect(fallbackInput.defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\texpect(fallbackFull.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\t\tvar forcedWarn = vi.spyOn(console, \"warn\").mockImplementation(function() {});\n\t\t\ttry {\n\t\t\t\tvar forcedInput = await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: true });\n\t\t\t\tvar forcedFull = await getMetroConfigFromViteConfig(mockViteConfig, { nativeTransforms: true });\n\t\t\t\texpect(forcedInput.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(forcedFull.transformerPath).toContain(\"metroNativeWorker\");\n\t\t\t\texpect(forcedWarn.mock.calls.some(function(args) {\n\t\t\t\t\treturn args.join(\" \").includes(babelConfigPath);\n\t\t\t\t})).toBe(true);\n\t\t\t} finally {\n\t\t\t\tforcedWarn.mockRestore();\n\t\t\t}\n\t\t} finally {\n\t\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\t\tfs.rmSync(tempDir, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"transforms and executes a real 2-module Metro bundle through metro-runtime require polyfill\", async function() {\n\t\tvar depSource = \"exports.value = 42;\";\n\t\tvar aSource = \"const dep = require(\\\"./dep\\\"); module.exports = { doubled: dep.value * 2 };\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(aRes.dependencies).toHaveLength(1);\n\t\texpect(aRes.dependencies[0].name).toBe(\"./dep\");\n\t\tvar aEmittedCode = aRes.output[0].data.code;\n\t\texpect(aEmittedCode).toContain(\"require(_dependencyMap[0], \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aEmittedCode, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toEqual({ doubled: 84 });\n\t});\n\tit(\"transforms and executes a 2-module Metro bundle with ESM imports in dev mode\", async function() {\n\t\tvar depSource = \"export const greeting = \\\"Hello Metro Native\\\";\";\n\t\tvar aSource = \"import { greeting } from \\\"./dep\\\"; export const message = greeting.toUpperCase();\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: true,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aRes.output[0].data.code, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj).message).toBe(\"HELLO METRO NATIVE\");\n\t});\n\tit(\"respects lexical scope shadowing for require calls (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"shadowed.js\", Buffer.from(\"function f(require){return require(\\\"./local\\\")}; module.exports=f(x=>x);\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"preserves distinct indexed identity for duplicate and mixed sync/async dependencies\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"index.js\", Buffer.from(`\n const a = require('./dep');\n const b = require('./dep');\n async function load() {\n const c = await import('./dep');\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"./dep\");\n\t\tvar syncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === null;\n\t\t});\n\t\tvar asyncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === \"async\";\n\t\t});\n\t\texpect(syncDep).toBeDefined();\n\t\texpect(asyncDep).toBeDefined();\n\t\texpect(syncDep.data.index).not.toEqual(asyncDep.data.index);\n\t\tvar emitted = res.output[0].data.code;\n\t\tvar syncIndex = syncDep.data.index;\n\t\texpect(emitted).toContain(`require(_dependencyMap[${syncIndex}], \"./dep\")`);\n\t});\n\tit(\"conforms to Metro map ABI with raw mapping segment tuples and accurate symbolication\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"math.ts\", Buffer.from(`\n export function add(a: number, b: number): number {\n return a + b;\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar map = res.output[0].data.map;\n\t\texpect(Array.isArray(map)).toBe(true);\n\t\texpect(map.length).toBeGreaterThan(0);\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar tuple = _step.value;\n\t\t\t\texpect(Array.isArray(tuple)).toBe(true);\n\t\t\t\texpect(_type_of(tuple[0])).toBe(\"number\");\n\t\t\t\texpect(_type_of(tuple[1])).toBe(\"number\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"version\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"mappings\");\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode: res.output[0].data.code,\n\t\t\tsource: \"math.ts\",\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar consumer = new msm.Consumer(fullMap);\n\t\tvar addLineIndex = res.output[0].data.code.split(\"\\n\").findIndex(function(l) {\n\t\t\treturn l.includes(\"function add\");\n\t\t});\n\t\texpect(addLineIndex).toBeGreaterThan(0);\n\t\texpect(consumer.originalPositionFor({\n\t\t\tline: addLineIndex + 1,\n\t\t\tcolumn: 16\n\t\t}).line).toBe(2);\n\t});\n\tit(\"models JS hoisting in ScopeTracker for functions and vars (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"hoisted.js\", Buffer.from(\"function f(){const x=require(\\\"./local\\\"); function require(x){return x}; return x} module.exports=f();\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"rewrites dynamic import to Metro asyncRequire and executes promise resolution in dev and release\", async function() {\n\t\tvar depSource = \"exports.message = \\\"hello dynamic\\\";\";\n\t\tvar mainSource = \"module.exports = () => import(\\\"./dep\\\");\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar mainRes = await transform({}, \"/project\", \"main.js\", Buffer.from(mainSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 0,\n\t\t\tdependencyIds: [2, 1]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar depNames = mainRes.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"./dep\");\n\t\texpect(depNames).toContain(\"metro-runtime/src/modules/asyncRequire\");\n\t\texpect(mainRes.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t\tvar emittedMain = mainRes.output[0].data.code;\n\t\texpect(emittedMain).not.toContain(\"import(\\\"./dep\\\")\");\n\t\texpect(emittedMain).toContain(\"require(_dependencyMap[1], \\\"metro-runtime/src/modules/asyncRequire\\\")(_dependencyMap[0], _dependencyMap.paths, \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar asyncRequirePath = __require.resolve(\"metro-runtime/src/modules/asyncRequire.js\");\n\t\tvar wrappedAsyncRequire = wrapModule(fs.readFileSync(asyncRequirePath, \"utf8\"), {\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tfor (var _i = 0, _iter = [true, false]; _i < _iter.length; _i++) {\n\t\t\tvar contextObj = {\n\t\t\t\t__DEV__: _iter[_i],\n\t\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\t\tconsole\n\t\t\t};\n\t\t\tcontextObj.global = contextObj;\n\t\t\tvm.createContext(contextObj);\n\t\t\tvm.runInContext(polyfillCode, contextObj);\n\t\t\tvm.runInContext(wrappedAsyncRequire, contextObj);\n\t\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\t\tvm.runInContext(emittedMain, contextObj);\n\t\t\tvar mainFn = vm.runInContext(\"global.__r(0)\", contextObj);\n\t\t\texpect(typeof mainFn === \"undefined\" ? \"undefined\" : _type_of(mainFn)).toBe(\"function\");\n\t\t\tvar promise = mainFn();\n\t\t\texpect(_instanceof(promise, Promise) || promise && typeof promise.then === \"function\").toBe(true);\n\t\t\tvar resolved = await promise;\n\t\t\texpect(resolved.message).toBe(\"hello dynamic\");\n\t\t\texpect(resolved.default.message).toBe(\"hello dynamic\");\n\t\t}\n\t});\n\tit(\"preserves accurate sourcemap for tokens after rewritten require calls on the same line\", async function() {\n\t\tvar sourceCode = \"const a = require(\\\"./dep\\\"), b = 42;\";\n\t\tvar resWrapped = await transform({}, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMapWrapped = msm.fromRawMappings([{\n\t\t\tcode: resWrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resWrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerWrapped = new msm.Consumer(fullMapWrapped);\n\t\tvar linesWrapped = resWrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexWrapped = linesWrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexWrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColWrapped = linesWrapped[lineIndexWrapped].indexOf(\"b = 42\");\n\t\texpect(generatedColWrapped).toBeGreaterThan(0);\n\t\tvar posWrapped = consumerWrapped.originalPositionFor({\n\t\t\tline: lineIndexWrapped + 1,\n\t\t\tcolumn: generatedColWrapped\n\t\t});\n\t\texpect(posWrapped.line).toBe(1);\n\t\texpect(posWrapped.column).toBe(28);\n\t\texpect(sourceCode.slice(Number(posWrapped.column))).toContain(\"b = 42;\");\n\t\tvar resUnwrapped = await transform({ unstable_disableModuleWrapping: true }, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar fullMapUnwrapped = msm.fromRawMappings([{\n\t\t\tcode: resUnwrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resUnwrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerUnwrapped = new msm.Consumer(fullMapUnwrapped);\n\t\tvar linesUnwrapped = resUnwrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexUnwrapped = linesUnwrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexUnwrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColUnwrapped = linesUnwrapped[lineIndexUnwrapped].indexOf(\"b = 42\");\n\t\tvar posUnwrapped = consumerUnwrapped.originalPositionFor({\n\t\t\tline: lineIndexUnwrapped + 1,\n\t\t\tcolumn: generatedColUnwrapped\n\t\t});\n\t\texpect(posUnwrapped.line).toBe(1);\n\t\texpect(posUnwrapped.column).toBe(28);\n\t});\n\tit(\"routes a require.context whose directory is held in a variable through the dependency map\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"entry.js\", Buffer.from(`\n const routeRoot = './app'\n export const ctx = require.context(routeRoot, true, /\\\\.tsx$/)\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar contextDep = result.dependencies.find(function(d) {\n\t\t\treturn d.data.contextParams != null;\n\t\t});\n\t\texpect(contextDep === null || contextDep === void 0 ? void 0 : contextDep.name).toBe(\"./app\");\n\t\tvar calls = [];\n\t\tvar ctx;\n\t\tvm.runInNewContext(result.output[0].data.code, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tvar req = function() {\n\t\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\t\tcalls.push(args);\n\t\t\t\treturn { keys: function() {\n\t\t\t\t\treturn [];\n\t\t\t\t} };\n\t\t\t};\n\t\t\treq.context = function() {\n\t\t\t\tthrow new Error(\"fallbackRequireContext reached\");\n\t\t\t};\n\t\t\tfactory({}, req, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, [\"./app\"]);\n\t\t\tctx = module.exports.ctx;\n\t\t} });\n\t\texpect(ctx).toBeDefined();\n\t\texpect(calls[0][1]).toBe(\"./app\");\n\t});\n\tit(\"gives loop bodies per-iteration bindings that survive a runtime without them\", async function() {\n\t\tvar asHermesWouldSeeIt = (await transform({}, \"/project\", \"loops.ts\", Buffer.from(`\n export function collect() {\n const out = []\n for (let i = 0; i < 2; i++) out.push(() => i)\n for (const label of ['a', 'b']) out.push(() => label)\n for (const key in { x: 1, y: 2 }) out.push(() => key)\n return out.map((f) => f())\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data.code.replace(/\\bfor\\s*\\(\\s*(let|const)\\b/g, \"for (var\");\n\t\tvar collect;\n\t\tvm.runInNewContext(asHermesWouldSeeIt, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tfactory({}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, []);\n\t\t\tcollect = module.exports.collect;\n\t\t} });\n\t\texpect(collect()).toEqual([\n\t\t\t0,\n\t\t\t1,\n\t\t\t\"a\",\n\t\t\t\"b\",\n\t\t\t\"x\",\n\t\t\t\"y\"\n\t\t]);\n\t});\n});\ndescribe(\"one native transform ports\", function() {\n\tit(\"inlines process.env.ONE_SERVER_URL so a native bundle can find its loaders\", function() {\n\t\tprocess.env.ONE_SERVER_URL = \"https://example.test\";\n\t\ttry {\n\t\t\texpect(applyInlineEnvVars(\"export const url = process.env.ONE_SERVER_URL;\", \"loader.ts\", false)).toBe(\"export const url = \\\"https://example.test\\\";\");\n\t\t} finally {\n\t\t\tprocess.env.ONE_SERVER_URL = void 0;\n\t\t}\n\t});\n\tit(\"leaves ONE_SERVER_URL alone when it is only a string\", function() {\n\t\tvar src = \"export const key = \\\"process.env.ONE_SERVER_URL\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", false)).toBe(src);\n\t});\n\tit(\"inlines import.meta.env reads, which oxc otherwise lowers to an empty object\", function() {\n\t\tvar out = applyInlineEnvVars(`export const key = import.meta.env.VITE_POSTHOG_API_KEY;\nexport const target = import.meta.env?.TAMAGUI_TARGET;\nexport const missing = import.meta.env.NOT_SET;\nexport const all = { ...import.meta.env };`, \"env.ts\", true, {\n\t\t\tDEV: false,\n\t\t\tVITE_POSTHOG_API_KEY: \"pk_live\",\n\t\t\tTAMAGUI_TARGET: \"native\"\n\t\t});\n\t\texpect(out).toContain(\"export const key = \\\"pk_live\\\";\");\n\t\texpect(out).toContain(\"export const target = \\\"native\\\";\");\n\t\texpect(out).toContain(\"export const missing = undefined;\");\n\t\texpect(out).toContain(\"\\\"VITE_POSTHOG_API_KEY\\\":\\\"pk_live\\\"\");\n\t\texpect(out).not.toContain(\"import.meta\");\n\t});\n\tit(\"inlines process.env keys the vite env map defines\", function() {\n\t\tvar out = applyInlineEnvVars(\"export const t = process.env.TAMAGUI_TARGET; export const u = process.env.UNKNOWN_THING;\", \"env.ts\", true, { TAMAGUI_TARGET: \"native\" });\n\t\texpect(out).toContain(\"export const t = \\\"native\\\";\");\n\t\texpect(out).toContain(\"process.env.UNKNOWN_THING\");\n\t});\n\tit(\"never rewrites an env read in an assignment target\", function() {\n\t\tvar src = \"process.env.VITE_ENVIRONMENT = \\\"ssr\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", true, { VITE_ENVIRONMENT: \"ios\" })).toBe(src);\n\t});\n\tit(\"folds branches the inlining made constant so metro never resolves dead imports\", function() {\n\t\tvar out = applyInlineEnvVars(`if (import.meta.env.SSR) { require('./server-only-thing') } else { load(import.meta.env.API) }`, \"branch.ts\", true, {\n\t\t\tSSR: false,\n\t\t\tAPI: \"https://api.test\"\n\t\t});\n\t\texpect(out).not.toContain(\"server-only-thing\");\n\t\texpect(out).toContain(\"load(\\\"https://api.test\\\")\");\n\t});\n\tit(\"folds a ternary and keeps a branch it cannot resolve\", function() {\n\t\texpect(applyInlineEnvVars(\"const a = import.meta.env.DEV ? x : y;\", \"a.ts\", true, { DEV: false })).toContain(\"const a = y;\");\n\t\tvar dynamic = \"const a = flag ? x : y;\";\n\t\texpect(applyInlineEnvVars(dynamic, \"a.ts\", true, { DEV: false })).toBe(dynamic);\n\t});\n\tit(\"runs the user native transforms that stand in for their babel plugins\", async function() {\n\t\tvar result = await transform({}, import.meta.dirname, \"ota.ts\", Buffer.from(\"export const id = __EXAMPLE_BUILD_ID; export const from = __EXAMPLE_FILENAME;\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tcustomTransformOptions: { vite: { nativeTransformModules: [\"./__fixtures__/exampleNativeTransform.cjs\"] } }\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).toContain(\"\\\"ios-build\\\"\");\n\t\texpect(result.output[0].data.code).not.toContain(\"__EXAMPLE_BUILD_ID\");\n\t\texpect(result.output[0].data.code).toContain(JSON.stringify(path.join(import.meta.dirname, \"ota.ts\")));\n\t});\n\tit(\"refuses to build when a user babel plugin has no native port\", function() {\n\t\tvar withPlugins = function(plugins) {\n\t\t\treturn { customTransformOptions: { vite: { babelConfig: { plugins } } } };\n\t\t};\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t\"hot-updater/babel-plugin\"\n\t\t\t]));\n\t\t}).toThrow(/hot-updater\\/babel-plugin/);\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t[\"one/babel-plugin-remove-server-code\", { routerRoot: \"app\" }],\n\t\t\t\t[\"babel-plugin-module-resolver\", { alias: {} }],\n\t\t\t\t[\"one/babel-plugin-one-router-metro\", {}],\n\t\t\t\t\"one/babel-plugin-inline-one-server-url\",\n\t\t\t\t\"babel-plugin-react-compiler\",\n\t\t\t\t\"react-native-reanimated/plugin\"\n\t\t\t]));\n\t\t}).not.toThrow();\n\t});\n\tit(\"turns a server-only import into a throw and drops native-only\", function() {\n\t\tvar out = applyEnvironmentGuard(`import 'native-only'\n\nexport const a = 1`, \"route.ts\");\n\t\texpect(out).not.toContain(\"native-only\");\n\t\texpect(out).toContain(\"server-only cannot be imported in a native environment\");\n\t\tvar parsed = parseSync(\"route.ts\", out, { lang: \"ts\" });\n\t\texpect(parsed.errors).toEqual([]);\n\t\texpect(parsed.program.body.map(function(n) {\n\t\t\treturn n.type;\n\t\t})).toContain(\"ThrowStatement\");\n\t});\n\tit(\"reads the router root off one's remove-server-code plugin entry\", function() {\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: { vite: { babelConfig: { plugins: [[\"one/babel-plugin-remove-server-code\", { routerRoot: \"src/app\" }]] } } } })).toBe(\"src/app\");\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: {} })).toBe(void 0);\n\t});\n});\ndescribe(\"metro babel fallback config names\", function() {\n\tit(\"extends json babel configs just like the compiler detection does\", async function() {\n\t\tfor (var _i = 0, _iter = [\"babel.config.json\", \".babelrc.json\"]; _i < _iter.length; _i++) {\n\t\t\tvar name = _iter[_i];\n\t\t\tvi.resetModules();\n\t\t\tvar { loadBabelConfig } = await import(\"./loadBabelConfig\");\n\t\t\tvar tempDir = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), \"vxrn-babel-json-\")));\n\t\t\ttry {\n\t\t\t\tfs.writeFileSync(path.join(tempDir, name), JSON.stringify({ plugins: [] }));\n\t\t\t\texpect(loadBabelConfig({ projectRoot: tempDir })).toEqual({ extends: path.join(tempDir, name) });\n\t\t\t} finally {\n\t\t\t\tfs.rmSync(tempDir, {\n\t\t\t\t\trecursive: true,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tvi.resetModules();\n\t\tvar { loadBabelConfig: loadBabelConfig1 } = await import(\"./loadBabelConfig\");\n\t\tvar tempDir1 = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), \"vxrn-babel-json-\")));\n\t\ttry {\n\t\t\tfs.writeFileSync(path.join(tempDir1, \"babel.config.js\"), \"module.exports = { plugins: [] }\");\n\t\t\texpect(loadBabelConfig1({ projectRoot: tempDir1 })).toEqual({ extends: path.join(tempDir1, \"babel.config.js\") });\n\t\t} finally {\n\t\t\tfs.rmSync(tempDir1, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
@@ -1,37 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { transformSync } from "./transformSync.mjs";
3
- const workletsPlugin = marker => () => ({
4
- name: "worklets",
5
- visitor: {
6
- Program(_, state) {
7
- const passes = state.file.metadata.workletsPasses ?? [];
8
- state.file.metadata.workletsPasses = passes;
9
- passes.push(marker);
10
- }
11
- }
12
- });
13
- describe("transformSync", () => {
14
- it("runs an app-configured Worklets plugin only once when a preset adds another", () => {
15
- const result = transformSync("export const value = 1", {
16
- filename: "/project/input.ts",
17
- babelrc: false,
18
- configFile: false,
19
- plugins: [workletsPlugin("app")],
20
- presets: [() => ({
21
- plugins: [workletsPlugin("preset")]
22
- })]
23
- }, {});
24
- expect(result?.metadata?.workletsPasses).toEqual(["app"]);
25
- });
26
- it("rejects the removed workletizableModules option before transforming", () => {
27
- expect(() => transformSync("export const value = 1", {
28
- filename: "/project/input.ts",
29
- babelrc: false,
30
- configFile: false,
31
- plugins: [[workletsPlugin("app"), {
32
- workletizableModules: ["remend"]
33
- }]]
34
- }, {})).toThrow("use `importForwarding.moduleNames`");
35
- });
36
- });
37
- //# sourceMappingURL=transformSync.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["describe","expect","it","transformSync","workletsPlugin","marker","name","visitor","Program","_","state","passes","file","metadata","workletsPasses","push","result","filename","babelrc","configFile","plugins","presets","toEqual","workletizableModules","toThrow"],"sources":["../../../src/transformer/transformSync.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,QAAqB;AAI9B,MAAMC,cAAA,GAAkBC,MAAA,IAAmB,OAAO;EAChDC,IAAA,EAAM;EACNC,OAAA,EAAS;IACPC,QAAQC,CAAA,EAAYC,KAAA,EAAiD;MACnE,MAAMC,MAAA,GAASD,KAAA,CAAME,IAAA,CAAKC,QAAA,CAASC,cAAA,IAAkB,EAAC;MACtDJ,KAAA,CAAME,IAAA,CAAKC,QAAA,CAASC,cAAA,GAAiBH,MAAA;MACrCA,MAAA,CAAOI,IAAA,CAAKV,MAAM;IACpB;EACF;AACF;AAEAL,QAAA,CAAS,iBAAiB,MAAM;EAC9BE,EAAA,CAAG,+EAA+E,MAAM;IACtF,MAAMc,MAAA,GAASb,aAAA,CACb,0BACA;MACEc,QAAA,EAAU;MACVC,OAAA,EAAS;MACTC,UAAA,EAAY;MACZC,OAAA,EAAS,CAAChB,cAAA,CAAe,KAAK,CAAC;MAC/BiB,OAAA,EAAS,CAAC,OAAO;QAAED,OAAA,EAAS,CAAChB,cAAA,CAAe,QAAQ,CAAC;MAAE,EAAE;IAC3D,GACA,CAAC,CACH;IAEAH,MAAA,CAAQe,MAAA,EAAQH,QAAA,EAA2CC,cAAc,EAAEQ,OAAA,CAAQ,CACjF,MACD;EACH,CAAC;EAEDpB,EAAA,CAAG,uEAAuE,MAAM;IAC9ED,MAAA,CAAO,MACLE,aAAA,CACE,0BACA;MACEc,QAAA,EAAU;MACVC,OAAA,EAAS;MACTC,UAAA,EAAY;MACZC,OAAA,EAAS,CAAC,CAAChB,cAAA,CAAe,KAAK,GAAG;QAAEmB,oBAAA,EAAsB,CAAC,QAAQ;MAAE,CAAC,CAAC;IACzE,GACA,CAAC,CACH,CACF,EAAEC,OAAA,CAAQ,oCAAoC;EAChD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { transformSync } from "./transformSync.native.js";
3
- var workletsPlugin = function (marker) {
4
- return function () {
5
- return {
6
- name: "worklets",
7
- visitor: {
8
- Program(_, state) {
9
- var _state_file_metadata_workletsPasses;
10
- var passes = (_state_file_metadata_workletsPasses = state.file.metadata.workletsPasses) !== null && _state_file_metadata_workletsPasses !== void 0 ? _state_file_metadata_workletsPasses : [];
11
- state.file.metadata.workletsPasses = passes;
12
- passes.push(marker);
13
- }
14
- }
15
- };
16
- };
17
- };
18
- describe("transformSync", function () {
19
- it("runs an app-configured Worklets plugin only once when a preset adds another", function () {
20
- var _result_metadata;
21
- var result = transformSync("export const value = 1", {
22
- filename: "/project/input.ts",
23
- babelrc: false,
24
- configFile: false,
25
- plugins: [workletsPlugin("app")],
26
- presets: [function () {
27
- return {
28
- plugins: [workletsPlugin("preset")]
29
- };
30
- }]
31
- }, {});
32
- expect(result === null || result === void 0 ? void 0 : (_result_metadata = result.metadata) === null || _result_metadata === void 0 ? void 0 : _result_metadata.workletsPasses).toEqual(["app"]);
33
- });
34
- it("rejects the removed workletizableModules option before transforming", function () {
35
- expect(function () {
36
- return transformSync("export const value = 1", {
37
- filename: "/project/input.ts",
38
- babelrc: false,
39
- configFile: false,
40
- plugins: [[workletsPlugin("app"), {
41
- workletizableModules: ["remend"]
42
- }]]
43
- }, {});
44
- }).toThrow("use `importForwarding.moduleNames`");
45
- });
46
- });
47
- //# sourceMappingURL=transformSync.test.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["describe","expect","it","transformSync","workletsPlugin","marker","name","visitor","Program","_","state","_state_file_metadata_workletsPasses","passes","file","metadata","workletsPasses","push","_result_metadata","result","filename","babelrc","configFile","plugins","presets","toEqual"],"sources":["../../../src/transformer/transformSync.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,QAAqB;AAI9B,IAAAC,cAAM,YAAAA,CAAkBC,MAAmB;EACzC,OAAM;IACN,OAAS;MACPC,IAAA,EAAQ,UAA6D;MACnEC,OAAM;QACNC,OAAMA,CAAAC,CAAK,EAAAC,KAAA,EAAS;UACpB,IAAOC,mCAAW;UACpB,IAAAC,MAAA,IAAAD,mCAAA,GAAAD,KAAA,CAAAG,IAAA,CAAAC,QAAA,CAAAC,cAAA,cAAAJ,mCAAA,cAAAA,mCAAA;UACFD,KAAA,CAAAG,IAAA,CAAAC,QAAA,CAAAC,cAAA,GAAAH,MAAA;UACFA,MAAA,CAAAI,IAAA,CAAAX,MAAA;QAEA;MACK;IACD;EAAe;AACb;AACAL,QACE,gBAAU;EAAAE,EAAA,8EACD;IAAA,IACTe,gBAAY;IAAA,IACZC,MAAA,GAASf,aAAC,yBAAqB;MAAAgB,QAC/B,qBAAmB;MACrBC,OAAA;MACAC,UAAC;MACHC,OAAA,GAEAlB,cAAgB,OAA2C,CACzD;MACDmB,OAAA,GACF;QAEE;UACDD,OAAA,GACElB,cAAA;QAEE;MAAA;IAEW,MACT;IAAYH,MACZ,CAAAiB,MAAA,KAAW,QAAAA,MAAe,KAAK,KAAK,cAAAD,gBAAuB,GAAUC,MAAE,CAAAJ,QAAA,cAAAG,gBAAA,uBAAAA,gBAAA,CAAAF,cAAA,EAAAS,OAAA,OACzE;EACC;EACHtB,EACF,sEAA8C;IAC/CD,MAAA;MACF,OAAAE,aAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=metroNativeWorker.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metroNativeWorker.test.d.ts","sourceRoot":"","sources":["../../src/transformer/metroNativeWorker.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=transformSync.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformSync.test.d.ts","sourceRoot":"","sources":["../../src/transformer/transformSync.test.ts"],"names":[],"mappings":""}