@vxrn/vite-plugin-metro 2.0.0-beta.33.1 → 2.0.0-beta.362.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +57 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +95 -0
  7. package/dist/cjs/env/platformEnv.native.js +74 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +21 -25
  10. package/dist/cjs/index.native.cjs +39 -0
  11. package/dist/cjs/index.native.js +21 -24
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +303 -257
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +361 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +327 -267
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  30. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  31. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  32. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  33. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  34. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  35. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  36. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  38. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  39. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  40. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  42. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  43. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  44. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  46. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  48. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  50. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  51. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  52. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  54. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  55. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  56. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  62. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  64. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  66. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  67. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  68. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  70. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  71. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  72. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  74. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  75. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  76. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/index.cjs +17 -26
  78. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  79. package/dist/cjs/rn-commands/index.native.js +17 -25
  80. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  81. package/dist/cjs/transformer/babel-core.cjs +16 -18
  82. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  83. package/dist/cjs/transformer/babel-core.native.js +16 -17
  84. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-transformer.cjs +155 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +197 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +171 -158
  88. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  89. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  90. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  91. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  92. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1436 -1489
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2525 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2414 -2561
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +48 -64
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +50 -65
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/projectImport.cjs +40 -51
  122. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  123. package/dist/cjs/utils/projectImport.native.js +41 -58
  124. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  125. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  126. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  127. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  128. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  129. package/dist/esm/env/platformEnv.mjs +42 -39
  130. package/dist/esm/env/platformEnv.mjs.map +1 -1
  131. package/dist/esm/env/platformEnv.native.js +59 -58
  132. package/dist/esm/env/platformEnv.native.js.map +1 -1
  133. package/dist/esm/index.js +3 -4
  134. package/dist/esm/index.mjs +3 -4
  135. package/dist/esm/index.native.js +3 -4
  136. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
  137. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  138. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
  139. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  140. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +287 -232
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +311 -243
  143. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  145. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  146. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  147. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  148. package/dist/esm/metro-config/types.mjs +0 -2
  149. package/dist/esm/metro-config/types.native.js +0 -2
  150. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  151. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  152. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  153. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  155. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  157. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  158. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  159. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  160. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  161. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  163. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  165. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  167. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  169. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  171. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  173. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  175. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  177. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  179. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  181. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  183. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  185. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  187. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  188. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  189. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  190. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  191. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  192. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  193. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  194. package/dist/esm/rn-commands/index.mjs +2 -2
  195. package/dist/esm/rn-commands/index.native.js +2 -2
  196. package/dist/esm/transformer/babel-core.mjs +2 -2
  197. package/dist/esm/transformer/babel-core.native.js +2 -2
  198. package/dist/esm/transformer/babel-transformer.mjs +139 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +152 -142
  201. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  202. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  203. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  204. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  205. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  206. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  207. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  208. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  209. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  210. package/dist/esm/transformer/metroNativeWorker.mjs +1399 -1443
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2377 -2516
  213. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  214. package/dist/esm/transformer/transformSync.mjs +33 -38
  215. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  216. package/dist/esm/transformer/transformSync.native.js +35 -40
  217. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  218. package/dist/esm/transformer/types.mjs +0 -2
  219. package/dist/esm/transformer/types.native.js +0 -2
  220. package/dist/esm/utils/exit.mjs +123 -112
  221. package/dist/esm/utils/exit.mjs.map +1 -1
  222. package/dist/esm/utils/exit.native.js +210 -215
  223. package/dist/esm/utils/exit.native.js.map +1 -1
  224. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  225. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  226. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  227. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  228. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  229. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  230. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  231. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  232. package/dist/esm/utils/projectImport.mjs +23 -25
  233. package/dist/esm/utils/projectImport.mjs.map +1 -1
  234. package/dist/esm/utils/projectImport.native.js +24 -33
  235. package/dist/esm/utils/projectImport.native.js.map +1 -1
  236. package/package.json +16 -18
  237. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  238. package/src/env/platformEnv.test.ts +44 -0
  239. package/src/env/platformEnv.ts +6 -3
  240. package/src/index.ts +0 -2
  241. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
  242. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
  243. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +263 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +226 -109
  245. package/src/metro-config/glbAssets.test.ts +57 -0
  246. package/src/plugins/metroPlugin.ts +3 -6
  247. package/src/transformer/babel-transformer.test.ts +118 -0
  248. package/src/transformer/babel-transformer.ts +102 -15
  249. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  250. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  251. package/src/transformer/expoVirtualEnv.ts +115 -0
  252. package/src/transformer/loadBabelConfig.ts +3 -1
  253. package/src/transformer/metroNativeWorker.test.ts +425 -36
  254. package/src/transformer/metroNativeWorker.ts +72 -74
  255. package/src/transformer/swiftPackageTransform.test.ts +95 -0
  256. package/src/transformer/transformSync.test.ts +22 -0
  257. package/src/transformer/transformSync.ts +4 -4
  258. package/src/utils/exit.ts +2 -2
  259. package/src/utils/getTerminalReporter.ts +1 -1
  260. package/src/utils/projectImport.ts +2 -2
  261. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  262. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  263. package/types/env/platformEnv.d.ts +2 -1
  264. package/types/env/platformEnv.d.ts.map +1 -1
  265. package/types/index.d.ts +0 -2
  266. package/types/index.d.ts.map +1 -1
  267. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  268. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  270. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  271. package/types/plugins/metroPlugin.d.ts +2 -4
  272. package/types/plugins/metroPlugin.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  276. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  277. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  278. package/types/transformer/babel-transformer.d.ts +10 -1
  279. package/types/transformer/babel-transformer.d.ts.map +1 -1
  280. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  281. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  282. package/types/transformer/loadBabelConfig.d.ts.map +1 -1
  283. package/types/transformer/metroNativeWorker.d.ts +7 -8
  284. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  285. package/types/utils/projectImport.d.ts +2 -2
  286. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  287. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  288. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  289. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -897
  290. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1010
  291. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  292. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  293. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  294. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  295. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  296. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  297. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  298. package/dist/esm/index.js.map +0 -1
  299. package/dist/esm/index.mjs.map +0 -1
  300. package/dist/esm/index.native.js.map +0 -1
  301. package/dist/esm/metro-config/types.mjs.map +0 -1
  302. package/dist/esm/metro-config/types.native.js.map +0 -1
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  304. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  305. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  306. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  307. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  308. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  309. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  310. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  311. package/dist/esm/rn-commands/index.mjs.map +0 -1
  312. package/dist/esm/rn-commands/index.native.js.map +0 -1
  313. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  314. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  315. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -861
  316. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  317. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -972
  318. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  319. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  320. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  321. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  322. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  323. package/dist/esm/transformer/types.mjs.map +0 -1
  324. package/dist/esm/transformer/types.native.js.map +0 -1
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  326. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  327. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  328. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  329. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  330. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  331. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  332. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  333. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  334. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  335. package/types/transformer/transformSync.test.d.ts +0 -2
  336. package/types/transformer/transformSync.test.d.ts.map +0 -1
  337. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  338. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -1,148 +1,155 @@
1
1
  import assert from "node:assert";
2
+ import { createHash } from "node:crypto";
3
+ import { readFileSync } from "node:fs";
4
+ import { createRequire } from "node:module";
5
+ import path from "node:path";
6
+ import { substituteExpoVirtualEnvSource } from "./expoVirtualEnv.mjs";
2
7
  import { loadBabelConfig } from "./loadBabelConfig.mjs";
3
8
  import { transformSync } from "./transformSync.mjs";
4
- const debug = require("debug")("expo:metro-config:babel-transformer");
9
+
10
+ const debug = require("debug")("vxrn:metro-config:babel-transformer");
5
11
  function isCustomTruthy(value) {
6
- return String(value) === "true";
12
+ return String(value) === "true";
7
13
  }
8
14
  function memoize(fn) {
9
- const cache = /* @__PURE__ */new Map();
10
- return (...args) => {
11
- const key = JSON.stringify(args);
12
- if (cache.has(key)) {
13
- return cache.get(key);
14
- }
15
- const result = fn(...args);
16
- cache.set(key, result);
17
- return result;
18
- };
15
+ const cache = /* @__PURE__ */ new Map();
16
+ return ((...args) => {
17
+ const key = JSON.stringify(args);
18
+ if (cache.has(key)) {
19
+ return cache.get(key);
20
+ }
21
+ const result = fn(...args);
22
+ cache.set(key, result);
23
+ return result;
24
+ });
19
25
  }
20
- const memoizeWarning = memoize(message => {
21
- debug(message);
26
+ const memoizeWarning = memoize((message) => {
27
+ debug(message);
22
28
  });
23
- function getBabelCaller({
24
- filename,
25
- options,
26
- oneViteMetroBabelConfig
27
- }) {
28
- const isNodeModule = filename.includes("node_modules");
29
- const isReactServer = options.customTransformOptions?.environment === "react-server";
30
- const isGenericServer = options.customTransformOptions?.environment === "node";
31
- const isServer = isReactServer || isGenericServer;
32
- const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
33
- if (routerRoot == null) {
34
- memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config.");
35
- }
36
- return {
37
- name: "metro",
38
- bundler: "metro",
39
- platform: options.platform,
40
- // Empower the babel preset to know the env it's bundling for.
41
- // Metro automatically updates the cache to account for the custom transform options.
42
- isServer,
43
- // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.
44
- isReactServer,
45
- // The base url to make requests from, used for hosting from non-standard locations.
46
- baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
47
- // Ensure we always use a mostly-valid router root.
48
- routerRoot: routerRoot ?? "app",
49
- isDev: options.dev,
50
- // This value indicates if the user has disabled the feature or not.
51
- // Other criteria may still cause the feature to be disabled, but all inputs used are
52
- // already considered in the cache key.
53
- preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
54
- asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
55
- // Pass the engine to babel so we can automatically transpile for the correct
56
- // target environment.
57
- engine: stringOrUndefined(options.customTransformOptions?.engine),
58
- // Provide the project root for accurately reading the Expo config.
59
- projectRoot: options.projectRoot,
60
- oneViteMetroBabelConfig,
61
- isNodeModule,
62
- isHMREnabled: options.dev,
63
- // Set the standard Babel flag to disable ESM transformations.
64
- supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
65
- // Enable React compiler support in Babel.
66
- // TODO: Remove this in the future when compiler is on by default.
67
- supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
68
- };
29
+ function getBabelCaller({ filename, options, oneViteMetroBabelConfig }) {
30
+ const isNodeModule = filename.includes("node_modules");
31
+ const isReactServer = options.customTransformOptions?.environment === "react-server";
32
+ const isGenericServer = options.customTransformOptions?.environment === "node";
33
+ const isServer = isReactServer || isGenericServer;
34
+ const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
35
+ if (routerRoot == null) {
36
+ memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.");
37
+ }
38
+ return {
39
+ name: "metro",
40
+ bundler: "metro",
41
+ platform: options.platform,
42
+ isServer,
43
+ isReactServer,
44
+ baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
45
+ routerRoot: routerRoot ?? "app",
46
+ isDev: options.dev,
47
+ preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
48
+ asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
49
+ engine: stringOrUndefined(options.customTransformOptions?.engine),
50
+ projectRoot: options.projectRoot,
51
+ oneViteMetroBabelConfig,
52
+ isNodeModule,
53
+ isHMREnabled: options.dev,
54
+ supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
55
+ supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
56
+ };
69
57
  }
70
58
  function stringOrUndefined(value) {
71
- return typeof value === "string" ? value : void 0;
59
+ return typeof value === "string" ? value : void 0;
72
60
  }
73
- const transform = ({
74
- filename,
75
- src,
76
- options,
77
- // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
78
- plugins
79
- }) => {
80
- const viteCustomTransformOptions = options.customTransformOptions?.vite;
81
- const customOptionsFromVite = (() => {
82
- const c = viteCustomTransformOptions;
83
- if (!c || typeof c !== "object") {
84
- return {
85
- babelConfig: {}
86
- };
87
- }
88
- return c;
89
- })();
90
- const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
91
- const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
92
- const OLD_BABEL_ENV = process.env.BABEL_ENV;
93
- process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
94
- try {
95
- const babelConfig = {
96
- // ES modules require sourceType='module' but OSS may not always want that
97
- sourceType: "unambiguous",
98
- // The output we want from Babel methods
99
- ast: true,
100
- code: false,
101
- // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
102
- // Hermes parsing, but this defaults to cloning the AST which increases
103
- // the transformation time by a fair amount.
104
- // You get this behavior by default when using Babel's `transform` method directly.
105
- cloneInputAst: false,
106
- // Options for debugging
107
- cwd: options.projectRoot,
108
- filename,
109
- highlightCode: true,
110
- ...babelConfigFromVitePlugin,
111
- ...loadBabelConfig(options),
112
- babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
113
- plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
114
- // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
115
- // This compensates for the lack of a format plugin system in Metro. Users can modify the
116
- // all (most) of the transforms in their local Babel config.
117
- // This also helps us keep the transform layers small and focused on a single task. We can also use this to
118
- // ensure the Babel config caching is more accurate.
119
- // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
120
- // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
121
- caller: getBabelCaller({
122
- filename,
123
- options,
124
- oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
125
- })
126
- };
127
- const result = transformSync(src, babelConfig, options);
128
- if (!result) {
129
- return {
130
- ast: null
131
- };
132
- }
133
- assert(result.ast);
134
- return {
135
- ast: result.ast,
136
- metadata: result.metadata
137
- };
138
- } finally {
139
- if (OLD_BABEL_ENV) {
140
- process.env.BABEL_ENV = OLD_BABEL_ENV;
141
- }
142
- }
61
+ const transform = ({ filename, src: originalSrc, options, plugins }) => {
62
+ if (/\.(swift|kt)$/.test(filename)) {
63
+ const requireFromProject = createRequire(path.resolve(options.projectRoot, "package.json"));
64
+ const oneTransforms = requireFromProject("one/native-transforms");
65
+ originalSrc = oneTransforms.renderNativeSourceModule(path.isAbsolute(filename) ? filename : path.resolve(options.projectRoot, filename), options.platform ?? "", options.projectRoot).code;
66
+ }
67
+ const src = substituteExpoVirtualEnvSource({
68
+ filename,
69
+ src: originalSrc,
70
+ projectRoot: options.projectRoot,
71
+ dev: options.dev,
72
+ environment: options.customTransformOptions?.environment
73
+ });
74
+ const viteCustomTransformOptions = options.customTransformOptions?.vite;
75
+ const customOptionsFromVite = (() => {
76
+ const c = viteCustomTransformOptions;
77
+ if (!c || typeof c !== "object") {
78
+ return { babelConfig: {} };
79
+ }
80
+ return c;
81
+ })();
82
+ const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
83
+ const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
84
+ const OLD_BABEL_ENV = process.env.BABEL_ENV;
85
+ process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
86
+ try {
87
+ const babelConfig = {
88
+ sourceType: "unambiguous",
89
+ ast: true,
90
+ code: false,
91
+ cloneInputAst: false,
92
+ cwd: options.projectRoot,
93
+ filename,
94
+ highlightCode: true,
95
+ ...babelConfigFromVitePlugin,
96
+ ...loadBabelConfig(options),
97
+ babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
98
+ plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
99
+ caller: getBabelCaller({
100
+ filename,
101
+ options,
102
+ oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
103
+ })
104
+ };
105
+ const result = transformSync(src, babelConfig, options);
106
+ if (!result) {
107
+ return { ast: null };
108
+ }
109
+ assert(result.ast);
110
+ return {
111
+ ast: result.ast,
112
+ metadata: result.metadata
113
+ };
114
+ } finally {
115
+ if (OLD_BABEL_ENV) {
116
+ process.env.BABEL_ENV = OLD_BABEL_ENV;
117
+ }
118
+ }
143
119
  };
120
+ function getCacheKey(options) {
121
+ const hash = createHash("sha256");
122
+ hash.update("vxrn-metro-babel-transformer-v2");
123
+ const projectRoot = options?.projectRoot;
124
+ if (!projectRoot) {
125
+ return hash.digest("hex");
126
+ }
127
+ hash.update(projectRoot);
128
+ for (const file of [
129
+ ".env",
130
+ ".env.development",
131
+ ".env.local",
132
+ ".env.development.local"
133
+ ]) {
134
+ const filename = path.join(projectRoot, file);
135
+ hash.update(filename);
136
+ try {
137
+ hash.update(readFileSync(filename));
138
+ } catch (error) {
139
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
140
+ continue;
141
+ }
142
+ throw error;
143
+ }
144
+ }
145
+ hash.update(JSON.stringify(Object.entries(process.env).filter(([key]) => key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_")).sort(([left], [right]) => left.localeCompare(right))));
146
+ return hash.digest("hex");
147
+ }
144
148
  const babelTransformer = {
145
- transform
149
+ transform,
150
+ getCacheKey
146
151
  };
147
152
  module.exports = babelTransformer;
153
+
154
+ export { getCacheKey };
148
155
  //# sourceMappingURL=babel-transformer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["assert","loadBabelConfig","transformSync","debug","require","isCustomTruthy","value","String","memoize","fn","cache","Map","args","key","JSON","stringify","has","get","result","set","memoizeWarning","message","getBabelCaller","filename","options","oneViteMetroBabelConfig","isNodeModule","includes","isReactServer","customTransformOptions","environment","isGenericServer","isServer","routerRoot","decodeURI","name","bundler","platform","baseUrl","isDev","dev","preserveEnvVars","asyncRoutes","engine","stringOrUndefined","projectRoot","isHMREnabled","supportsStaticESM","optimize","experimentalImportSupport","supportsReactCompiler","reactCompiler","transform","src","plugins","viteCustomTransformOptions","vite","customOptionsFromVite","c","babelConfig","hasOneViteMetroBabelConfig","babelConfigFromVitePlugin","OLD_BABEL_ENV","process","env","BABEL_ENV","sourceType","ast","code","cloneInputAst","cwd","highlightCode","babelrc","enableBabelRCLookup","caller","metadata","babelTransformer","module","exports"],"sources":["../../../src/transformer/babel-transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"babel-transformer.js","names":[],"sources":["esm/transformer/babel-transformer.js"],"sourcesContent":["import assert from \"node:assert\";\nimport { createHash } from \"node:crypto\";\nimport { readFileSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport { substituteExpoVirtualEnvSource } from \"./expoVirtualEnv\";\nimport { loadBabelConfig } from \"./loadBabelConfig\";\nimport { transformSync } from \"./transformSync\";\nconst debug = require(\"debug\")(\n \"vxrn:metro-config:babel-transformer\"\n);\nfunction isCustomTruthy(value) {\n return String(value) === \"true\";\n}\nfunction memoize(fn) {\n const cache = /* @__PURE__ */ new Map();\n return ((...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n });\n}\nconst memoizeWarning = memoize((message) => {\n debug(message);\n});\nfunction getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig\n}) {\n const isNodeModule = filename.includes(\"node_modules\");\n const isReactServer = options.customTransformOptions?.environment === \"react-server\";\n const isGenericServer = options.customTransformOptions?.environment === \"node\";\n const isServer = isReactServer || isGenericServer;\n const routerRoot = typeof options.customTransformOptions?.routerRoot === \"string\" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;\n if (routerRoot == null) {\n memoizeWarning(\n \"Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.\"\n );\n }\n return {\n name: \"metro\",\n bundler: \"metro\",\n platform: options.platform,\n // Empower the babel preset to know the env it's bundling for.\n // Metro automatically updates the cache to account for the custom transform options.\n isServer,\n // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.\n isReactServer,\n // The base url to make requests from, used for hosting from non-standard locations.\n baseUrl: typeof options.customTransformOptions?.baseUrl === \"string\" ? decodeURI(options.customTransformOptions.baseUrl) : \"\",\n // Ensure we always use a mostly-valid router root.\n routerRoot: routerRoot ?? \"app\",\n isDev: options.dev,\n // This value indicates if the user has disabled the feature or not.\n // Other criteria may still cause the feature to be disabled, but all inputs used are\n // already considered in the cache key.\n preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,\n asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,\n // Pass the engine to babel so we can automatically transpile for the correct\n // target environment.\n engine: stringOrUndefined(options.customTransformOptions?.engine),\n // provide the project root for reading the app babel config\n projectRoot: options.projectRoot,\n oneViteMetroBabelConfig,\n isNodeModule,\n isHMREnabled: options.dev,\n // Set the standard Babel flag to disable ESM transformations.\n supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,\n // Enable React compiler support in Babel.\n // TODO: Remove this in the future when compiler is on by default.\n supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0\n };\n}\nfunction stringOrUndefined(value) {\n return typeof value === \"string\" ? value : void 0;\n}\nconst transform = ({\n filename,\n src: originalSrc,\n options,\n // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`.\n plugins\n}) => {\n if (/\\.(swift|kt)$/.test(filename)) {\n const requireFromProject = createRequire(\n path.resolve(options.projectRoot, \"package.json\")\n );\n const oneTransforms = requireFromProject(\n \"one/native-transforms\"\n );\n originalSrc = oneTransforms.renderNativeSourceModule(\n path.isAbsolute(filename) ? filename : path.resolve(options.projectRoot, filename),\n options.platform ?? \"\",\n options.projectRoot\n ).code;\n }\n const src = substituteExpoVirtualEnvSource({\n filename,\n src: originalSrc,\n projectRoot: options.projectRoot,\n dev: options.dev,\n environment: options.customTransformOptions?.environment\n });\n const viteCustomTransformOptions = options.customTransformOptions?.vite;\n const customOptionsFromVite = (() => {\n const c = viteCustomTransformOptions;\n if (!c || typeof c !== \"object\") {\n return { babelConfig: {} };\n }\n return c;\n })();\n const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;\n const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};\n const OLD_BABEL_ENV = process.env.BABEL_ENV;\n process.env.BABEL_ENV = options.dev ? \"development\" : process.env.BABEL_ENV || \"production\";\n try {\n const babelConfig = {\n // ES modules require sourceType='module' but OSS may not always want that\n sourceType: \"unambiguous\",\n // The output we want from Babel methods\n ast: true,\n code: false,\n // NOTE(EvanBacon): We split the parse/transform steps up to accommodate\n // Hermes parsing, but this defaults to cloning the AST which increases\n // the transformation time by a fair amount.\n // You get this behavior by default when using Babel's `transform` method directly.\n cloneInputAst: false,\n // Options for debugging\n cwd: options.projectRoot,\n filename,\n highlightCode: true,\n ...babelConfigFromVitePlugin,\n ...loadBabelConfig(options),\n babelrc: typeof options.enableBabelRCLookup === \"boolean\" ? options.enableBabelRCLookup : true,\n plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],\n // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.\n // This compensates for the lack of a format plugin system in Metro. Users can modify the\n // all (most) of the transforms in their local Babel config.\n // This also helps us keep the transform layers small and focused on a single task. We can also use this to\n // ensure the Babel config caching is more accurate.\n // moving everything babel-related to the preset also keeps the transform\n // requirements explicit for users who opt into babel.\n caller: getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig: hasOneViteMetroBabelConfig\n })\n };\n const result = transformSync(src, babelConfig, options);\n if (!result) {\n return { ast: null };\n }\n assert(result.ast);\n return { ast: result.ast, metadata: result.metadata };\n } finally {\n if (OLD_BABEL_ENV) {\n process.env.BABEL_ENV = OLD_BABEL_ENV;\n }\n }\n};\nfunction getCacheKey(options) {\n const hash = createHash(\"sha256\");\n hash.update(\"vxrn-metro-babel-transformer-v2\");\n const projectRoot = options?.projectRoot;\n if (!projectRoot) {\n return hash.digest(\"hex\");\n }\n hash.update(projectRoot);\n for (const file of [\n \".env\",\n \".env.development\",\n \".env.local\",\n \".env.development.local\"\n ]) {\n const filename = path.join(projectRoot, file);\n hash.update(filename);\n try {\n hash.update(readFileSync(filename));\n } catch (error) {\n if (typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\") {\n continue;\n }\n throw error;\n }\n }\n hash.update(\n JSON.stringify(\n Object.entries(process.env).filter(\n ([key]) => key.startsWith(\"ONE_PUBLIC_\") || key.startsWith(\"EXPO_PUBLIC_\")\n ).sort(([left], [right]) => left.localeCompare(right))\n )\n );\n return hash.digest(\"hex\");\n}\nconst babelTransformer = {\n transform,\n getCacheKey\n};\nmodule.exports = babelTransformer;\nexport {\n getCacheKey\n};\n//# sourceMappingURL=babel-transformer.js.map\n"],"mappings":"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"}