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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +57 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +95 -0
  7. package/dist/cjs/env/platformEnv.native.js +74 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +21 -25
  10. package/dist/cjs/index.native.cjs +39 -0
  11. package/dist/cjs/index.native.js +21 -24
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +287 -272
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +346 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +309 -282
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  30. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  31. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  32. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  33. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  34. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  35. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  36. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  38. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  39. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  40. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  42. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  43. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  44. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  46. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  48. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  50. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  51. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  52. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  54. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  55. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  56. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  62. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  64. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  66. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  67. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  68. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  70. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  71. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  72. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  74. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  75. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  76. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/index.cjs +17 -26
  78. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  79. package/dist/cjs/rn-commands/index.native.js +17 -25
  80. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  81. package/dist/cjs/transformer/babel-core.cjs +16 -18
  82. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  83. package/dist/cjs/transformer/babel-core.native.js +16 -17
  84. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-transformer.cjs +149 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +190 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +164 -158
  88. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  89. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  90. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  91. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  92. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1430 -1488
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2519 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2407 -2560
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +48 -64
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +50 -65
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/projectImport.cjs +40 -51
  122. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  123. package/dist/cjs/utils/projectImport.native.js +41 -58
  124. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  125. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  126. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  127. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  128. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  129. package/dist/esm/env/platformEnv.mjs +42 -39
  130. package/dist/esm/env/platformEnv.mjs.map +1 -1
  131. package/dist/esm/env/platformEnv.native.js +59 -58
  132. package/dist/esm/env/platformEnv.native.js.map +1 -1
  133. package/dist/esm/index.js +3 -4
  134. package/dist/esm/index.mjs +3 -4
  135. package/dist/esm/index.native.js +3 -4
  136. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
  137. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  138. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
  139. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  140. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +271 -247
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +293 -258
  143. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  145. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  146. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  147. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  148. package/dist/esm/metro-config/types.mjs +0 -2
  149. package/dist/esm/metro-config/types.native.js +0 -2
  150. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  151. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  152. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  153. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  155. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  157. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  158. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  159. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  160. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  161. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  163. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  165. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  167. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  169. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  171. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  173. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  175. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  177. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  179. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  181. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  183. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  185. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  187. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  188. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  189. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  190. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  191. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  192. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  193. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  194. package/dist/esm/rn-commands/index.mjs +2 -2
  195. package/dist/esm/rn-commands/index.native.js +2 -2
  196. package/dist/esm/transformer/babel-core.mjs +2 -2
  197. package/dist/esm/transformer/babel-core.native.js +2 -2
  198. package/dist/esm/transformer/babel-transformer.mjs +133 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +145 -142
  201. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  202. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  203. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  204. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  205. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  206. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  207. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  208. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  209. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  210. package/dist/esm/transformer/metroNativeWorker.mjs +1393 -1442
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2370 -2515
  213. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  214. package/dist/esm/transformer/transformSync.mjs +33 -38
  215. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  216. package/dist/esm/transformer/transformSync.native.js +35 -40
  217. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  218. package/dist/esm/transformer/types.mjs +0 -2
  219. package/dist/esm/transformer/types.native.js +0 -2
  220. package/dist/esm/utils/exit.mjs +123 -112
  221. package/dist/esm/utils/exit.mjs.map +1 -1
  222. package/dist/esm/utils/exit.native.js +210 -215
  223. package/dist/esm/utils/exit.native.js.map +1 -1
  224. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  225. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  226. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  227. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  228. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  229. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  230. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  231. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  232. package/dist/esm/utils/projectImport.mjs +23 -25
  233. package/dist/esm/utils/projectImport.mjs.map +1 -1
  234. package/dist/esm/utils/projectImport.native.js +24 -33
  235. package/dist/esm/utils/projectImport.native.js.map +1 -1
  236. package/package.json +15 -18
  237. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  238. package/src/env/platformEnv.test.ts +44 -0
  239. package/src/env/platformEnv.ts +6 -3
  240. package/src/index.ts +0 -2
  241. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
  242. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
  243. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +150 -113
  245. package/src/plugins/metroPlugin.ts +3 -6
  246. package/src/transformer/babel-transformer.test.ts +118 -0
  247. package/src/transformer/babel-transformer.ts +82 -15
  248. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  249. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  250. package/src/transformer/expoVirtualEnv.ts +115 -0
  251. package/src/transformer/loadBabelConfig.ts +1 -1
  252. package/src/transformer/metroNativeWorker.test.ts +268 -50
  253. package/src/transformer/metroNativeWorker.ts +53 -71
  254. package/src/transformer/transformSync.test.ts +22 -0
  255. package/src/transformer/transformSync.ts +4 -4
  256. package/src/utils/exit.ts +2 -2
  257. package/src/utils/getTerminalReporter.ts +1 -1
  258. package/src/utils/projectImport.ts +2 -2
  259. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  260. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  261. package/types/env/platformEnv.d.ts +2 -1
  262. package/types/env/platformEnv.d.ts.map +1 -1
  263. package/types/index.d.ts +0 -2
  264. package/types/index.d.ts.map +1 -1
  265. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  266. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  267. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  268. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/plugins/metroPlugin.d.ts +2 -4
  270. package/types/plugins/metroPlugin.d.ts.map +1 -1
  271. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  272. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  276. package/types/transformer/babel-transformer.d.ts +10 -1
  277. package/types/transformer/babel-transformer.d.ts.map +1 -1
  278. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  279. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  280. package/types/transformer/metroNativeWorker.d.ts +7 -8
  281. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  282. package/types/utils/projectImport.d.ts +2 -2
  283. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  284. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  285. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  286. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  287. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  288. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  289. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  290. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  291. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  292. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  293. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  294. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  295. package/dist/esm/index.js.map +0 -1
  296. package/dist/esm/index.mjs.map +0 -1
  297. package/dist/esm/index.native.js.map +0 -1
  298. package/dist/esm/metro-config/types.mjs.map +0 -1
  299. package/dist/esm/metro-config/types.native.js.map +0 -1
  300. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  301. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  302. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  304. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  305. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  306. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  307. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  308. package/dist/esm/rn-commands/index.mjs.map +0 -1
  309. package/dist/esm/rn-commands/index.native.js.map +0 -1
  310. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  311. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  312. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  313. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  314. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  315. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  316. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  317. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  318. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  319. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  320. package/dist/esm/transformer/types.mjs.map +0 -1
  321. package/dist/esm/transformer/types.native.js.map +0 -1
  322. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  323. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  324. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  326. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  327. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  328. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  329. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  330. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  331. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  332. package/types/transformer/transformSync.test.d.ts +0 -2
  333. package/types/transformer/transformSync.test.d.ts.map +0 -1
  334. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  335. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -5,29 +5,28 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
13
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
21
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
23
  var babel_core_exports = {};
26
24
  __export(babel_core_exports, {
27
- loadOptions: () => import_core.loadOptions,
28
- transformFromAstSync: () => import_core.transformFromAstSync,
29
- transformSync: () => import_core.transformSync
25
+ loadOptions: () => import_core.loadOptions,
26
+ transformFromAstSync: () => import_core.transformFromAstSync,
27
+ transformSync: () => import_core.transformSync
30
28
  });
31
29
  module.exports = __toCommonJS(babel_core_exports);
32
30
  var import_core = require("@babel/core");
31
+
33
32
  //# sourceMappingURL=babel-core.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","babel_core_exports","__export","loadOptions","import_core","transformFromAstSync","transformSync","module","exports"],"sources":["../../../src/transformer/babel-core.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,kBAAA;AAAAC,QAAA,CAAAD,kBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,WAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAD,WAAA,CAAAC,oBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAF,WAAA,CAAAE;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAZ,YAMO,CAAAK,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"babel-core.native.js","names":[],"sources":["cjs/transformer/babel-core.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar babel_core_exports = {};\n__export(babel_core_exports, {\n loadOptions: () => import_core.loadOptions,\n transformFromAstSync: () => import_core.transformFromAstSync,\n transformSync: () => import_core.transformSync\n});\nmodule.exports = __toCommonJS(babel_core_exports);\nvar import_core = require(\"@babel/core\");\n//# sourceMappingURL=babel-core.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,qBAAqB,CAAC;AAC1B,SAAS,oBAAoB;CAC3B,mBAAmB,YAAY;CAC/B,4BAA4B,YAAY;CACxC,qBAAqB,YAAY;AACnC,CAAC;AACD,OAAO,UAAU,aAAa,kBAAkB;AAChD,IAAI,cAAc,QAAQ,aAAa"}
@@ -4,173 +4,171 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
7
13
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
- get: () => from[key],
11
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
- });
13
- }
14
- return to;
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
15
21
  };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
- value: mod,
23
- enumerable: true
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
24
25
  }) : target, mod));
25
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
26
- value: true
27
- }), mod);
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
27
  var babel_transformer_exports = {};
28
+ __export(babel_transformer_exports, { getCacheKey: () => getCacheKey });
29
29
  module.exports = __toCommonJS(babel_transformer_exports);
30
30
  var import_node_assert = __toESM(require("node:assert"), 1);
31
+ var import_node_crypto = require("node:crypto");
32
+ var import_node_fs = require("node:fs");
33
+ var import_node_path = __toESM(require("node:path"), 1);
34
+ var import_expoVirtualEnv = require("./expoVirtualEnv.cjs");
31
35
  var import_loadBabelConfig = require("./loadBabelConfig.cjs");
32
36
  var import_transformSync = require("./transformSync.cjs");
33
- const debug = require("debug")("expo:metro-config:babel-transformer");
37
+ const debug = require("debug")("vxrn:metro-config:babel-transformer");
34
38
  function isCustomTruthy(value) {
35
- return String(value) === "true";
39
+ return String(value) === "true";
36
40
  }
37
41
  function memoize(fn) {
38
- const cache = /* @__PURE__ */new Map();
39
- return (...args) => {
40
- const key = JSON.stringify(args);
41
- if (cache.has(key)) {
42
- return cache.get(key);
43
- }
44
- const result = fn(...args);
45
- cache.set(key, result);
46
- return result;
47
- };
42
+ const cache = /* @__PURE__ */ new Map();
43
+ return ((...args) => {
44
+ const key = JSON.stringify(args);
45
+ if (cache.has(key)) {
46
+ return cache.get(key);
47
+ }
48
+ const result = fn(...args);
49
+ cache.set(key, result);
50
+ return result;
51
+ });
48
52
  }
49
- const memoizeWarning = memoize(message => {
50
- debug(message);
53
+ const memoizeWarning = memoize((message) => {
54
+ debug(message);
51
55
  });
52
- function getBabelCaller({
53
- filename,
54
- options,
55
- oneViteMetroBabelConfig
56
- }) {
57
- const isNodeModule = filename.includes("node_modules");
58
- const isReactServer = options.customTransformOptions?.environment === "react-server";
59
- const isGenericServer = options.customTransformOptions?.environment === "node";
60
- const isServer = isReactServer || isGenericServer;
61
- const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
62
- if (routerRoot == null) {
63
- 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.");
64
- }
65
- return {
66
- name: "metro",
67
- bundler: "metro",
68
- platform: options.platform,
69
- // Empower the babel preset to know the env it's bundling for.
70
- // Metro automatically updates the cache to account for the custom transform options.
71
- isServer,
72
- // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.
73
- isReactServer,
74
- // The base url to make requests from, used for hosting from non-standard locations.
75
- baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
76
- // Ensure we always use a mostly-valid router root.
77
- routerRoot: routerRoot ?? "app",
78
- isDev: options.dev,
79
- // This value indicates if the user has disabled the feature or not.
80
- // Other criteria may still cause the feature to be disabled, but all inputs used are
81
- // already considered in the cache key.
82
- preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
83
- asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
84
- // Pass the engine to babel so we can automatically transpile for the correct
85
- // target environment.
86
- engine: stringOrUndefined(options.customTransformOptions?.engine),
87
- // Provide the project root for accurately reading the Expo config.
88
- projectRoot: options.projectRoot,
89
- oneViteMetroBabelConfig,
90
- isNodeModule,
91
- isHMREnabled: options.dev,
92
- // Set the standard Babel flag to disable ESM transformations.
93
- supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
94
- // Enable React compiler support in Babel.
95
- // TODO: Remove this in the future when compiler is on by default.
96
- supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
97
- };
56
+ function getBabelCaller({ filename, options, oneViteMetroBabelConfig }) {
57
+ const isNodeModule = filename.includes("node_modules");
58
+ const isReactServer = options.customTransformOptions?.environment === "react-server";
59
+ const isGenericServer = options.customTransformOptions?.environment === "node";
60
+ const isServer = isReactServer || isGenericServer;
61
+ const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
62
+ if (routerRoot == null) {
63
+ memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.");
64
+ }
65
+ return {
66
+ name: "metro",
67
+ bundler: "metro",
68
+ platform: options.platform,
69
+ isServer,
70
+ isReactServer,
71
+ baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
72
+ routerRoot: routerRoot ?? "app",
73
+ isDev: options.dev,
74
+ preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
75
+ asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
76
+ engine: stringOrUndefined(options.customTransformOptions?.engine),
77
+ projectRoot: options.projectRoot,
78
+ oneViteMetroBabelConfig,
79
+ isNodeModule,
80
+ isHMREnabled: options.dev,
81
+ supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
82
+ supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
83
+ };
98
84
  }
99
85
  function stringOrUndefined(value) {
100
- return typeof value === "string" ? value : void 0;
86
+ return typeof value === "string" ? value : void 0;
101
87
  }
102
- const transform = ({
103
- filename,
104
- src,
105
- options,
106
- // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
107
- plugins
108
- }) => {
109
- const viteCustomTransformOptions = options.customTransformOptions?.vite;
110
- const customOptionsFromVite = (() => {
111
- const c = viteCustomTransformOptions;
112
- if (!c || typeof c !== "object") {
113
- return {
114
- babelConfig: {}
115
- };
116
- }
117
- return c;
118
- })();
119
- const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
120
- const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
121
- const OLD_BABEL_ENV = process.env.BABEL_ENV;
122
- process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
123
- try {
124
- const babelConfig = {
125
- // ES modules require sourceType='module' but OSS may not always want that
126
- sourceType: "unambiguous",
127
- // The output we want from Babel methods
128
- ast: true,
129
- code: false,
130
- // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
131
- // Hermes parsing, but this defaults to cloning the AST which increases
132
- // the transformation time by a fair amount.
133
- // You get this behavior by default when using Babel's `transform` method directly.
134
- cloneInputAst: false,
135
- // Options for debugging
136
- cwd: options.projectRoot,
137
- filename,
138
- highlightCode: true,
139
- ...babelConfigFromVitePlugin,
140
- ...(0, import_loadBabelConfig.loadBabelConfig)(options),
141
- babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
142
- plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
143
- // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
144
- // This compensates for the lack of a format plugin system in Metro. Users can modify the
145
- // all (most) of the transforms in their local Babel config.
146
- // This also helps us keep the transform layers small and focused on a single task. We can also use this to
147
- // ensure the Babel config caching is more accurate.
148
- // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
149
- // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
150
- caller: getBabelCaller({
151
- filename,
152
- options,
153
- oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
154
- })
155
- };
156
- const result = (0, import_transformSync.transformSync)(src, babelConfig, options);
157
- if (!result) {
158
- return {
159
- ast: null
160
- };
161
- }
162
- (0, import_node_assert.default)(result.ast);
163
- return {
164
- ast: result.ast,
165
- metadata: result.metadata
166
- };
167
- } finally {
168
- if (OLD_BABEL_ENV) {
169
- process.env.BABEL_ENV = OLD_BABEL_ENV;
170
- }
171
- }
88
+ const transform = ({ filename, src: originalSrc, options, plugins }) => {
89
+ const src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
90
+ filename,
91
+ src: originalSrc,
92
+ projectRoot: options.projectRoot,
93
+ dev: options.dev,
94
+ environment: options.customTransformOptions?.environment
95
+ });
96
+ const viteCustomTransformOptions = options.customTransformOptions?.vite;
97
+ const customOptionsFromVite = (() => {
98
+ const c = viteCustomTransformOptions;
99
+ if (!c || typeof c !== "object") {
100
+ return { babelConfig: {} };
101
+ }
102
+ return c;
103
+ })();
104
+ const hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
105
+ const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
106
+ const OLD_BABEL_ENV = process.env.BABEL_ENV;
107
+ process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
108
+ try {
109
+ const babelConfig = {
110
+ sourceType: "unambiguous",
111
+ ast: true,
112
+ code: false,
113
+ cloneInputAst: false,
114
+ cwd: options.projectRoot,
115
+ filename,
116
+ highlightCode: true,
117
+ ...babelConfigFromVitePlugin,
118
+ ...(0, import_loadBabelConfig.loadBabelConfig)(options),
119
+ babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
120
+ plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
121
+ caller: getBabelCaller({
122
+ filename,
123
+ options,
124
+ oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
125
+ })
126
+ };
127
+ const result = (0, import_transformSync.transformSync)(src, babelConfig, options);
128
+ if (!result) {
129
+ return { ast: null };
130
+ }
131
+ (0, import_node_assert.default)(result.ast);
132
+ return {
133
+ ast: result.ast,
134
+ metadata: result.metadata
135
+ };
136
+ } finally {
137
+ if (OLD_BABEL_ENV) {
138
+ process.env.BABEL_ENV = OLD_BABEL_ENV;
139
+ }
140
+ }
172
141
  };
142
+ function getCacheKey(options) {
143
+ const hash = (0, import_node_crypto.createHash)("sha256");
144
+ hash.update("vxrn-metro-babel-transformer-v1");
145
+ const projectRoot = options?.projectRoot;
146
+ if (!projectRoot) {
147
+ return hash.digest("hex");
148
+ }
149
+ hash.update(projectRoot);
150
+ for (const file of [
151
+ ".env",
152
+ ".env.development",
153
+ ".env.local",
154
+ ".env.development.local"
155
+ ]) {
156
+ const filename = import_node_path.default.join(projectRoot, file);
157
+ hash.update(filename);
158
+ try {
159
+ hash.update((0, import_node_fs.readFileSync)(filename));
160
+ } catch (error) {
161
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
162
+ continue;
163
+ }
164
+ throw error;
165
+ }
166
+ }
167
+ hash.update(JSON.stringify(Object.entries(process.env).filter(([key]) => key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_")).sort(([left], [right]) => left.localeCompare(right))));
168
+ return hash.digest("hex");
169
+ }
173
170
  const babelTransformer = {
174
- transform
171
+ transform,
172
+ getCacheKey
175
173
  };
176
- module.exports = babelTransformer;
174
+ module.exports = babelTransformer;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
27
+ }) : target, mod));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var babel_transformer_exports = {};
30
+ __export(babel_transformer_exports, { getCacheKey: () => getCacheKey });
31
+ module.exports = __toCommonJS(babel_transformer_exports);
32
+ var import_assert = __toESM(require("assert"), 1);
33
+ var import_crypto = require("crypto");
34
+ var import_fs = require("fs");
35
+ var import_path = __toESM(require("path"), 1);
36
+ var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
37
+ var import_loadBabelConfig = require("./loadBabelConfig.native.js");
38
+ var import_transformSync = require("./transformSync.native.js");
39
+ var debug = require("debug")("vxrn:metro-config:babel-transformer");
40
+ function isCustomTruthy(value) {
41
+ return String(value) === "true";
42
+ }
43
+ function memoize(fn) {
44
+ var cache = /* @__PURE__ */ new Map();
45
+ return function() {
46
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
+ args[_key] = arguments[_key];
48
+ }
49
+ var key = JSON.stringify(args);
50
+ if (cache.has(key)) {
51
+ return cache.get(key);
52
+ }
53
+ var result = fn(...args);
54
+ cache.set(key, result);
55
+ return result;
56
+ };
57
+ }
58
+ var memoizeWarning = memoize(function(message) {
59
+ debug(message);
60
+ });
61
+ function getBabelCaller(param) {
62
+ var { filename, options, oneViteMetroBabelConfig } = param;
63
+ var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _options_customTransformOptions3, _options_customTransformOptions4, _options_customTransformOptions5, _options_customTransformOptions6, _options_customTransformOptions7, _options_customTransformOptions8;
64
+ var isNodeModule = filename.includes("node_modules");
65
+ var isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === "react-server";
66
+ var isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === "node";
67
+ var isServer = isReactServer || isGenericServer;
68
+ var routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
69
+ if (routerRoot == null) {
70
+ memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.");
71
+ }
72
+ return {
73
+ name: "metro",
74
+ bundler: "metro",
75
+ platform: options.platform,
76
+ isServer,
77
+ isReactServer,
78
+ baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
79
+ routerRoot: routerRoot !== null && routerRoot !== void 0 ? routerRoot : "app",
80
+ isDev: options.dev,
81
+ preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,
82
+ asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,
83
+ engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),
84
+ projectRoot: options.projectRoot,
85
+ oneViteMetroBabelConfig,
86
+ isNodeModule,
87
+ isHMREnabled: options.dev,
88
+ supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,
89
+ supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0
90
+ };
91
+ }
92
+ function stringOrUndefined(value) {
93
+ return typeof value === "string" ? value : void 0;
94
+ }
95
+ var transform = function(param) {
96
+ var { filename, src: originalSrc, options, plugins } = param;
97
+ var _options_customTransformOptions, _options_customTransformOptions1;
98
+ var src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
99
+ filename,
100
+ src: originalSrc,
101
+ projectRoot: options.projectRoot,
102
+ dev: options.dev,
103
+ environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment
104
+ });
105
+ var viteCustomTransformOptions = (_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.vite;
106
+ var customOptionsFromVite = (function() {
107
+ var c = viteCustomTransformOptions;
108
+ if (!c || typeof c !== "object") {
109
+ return { babelConfig: {} };
110
+ }
111
+ return c;
112
+ })();
113
+ var hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;
114
+ var babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
115
+ var OLD_BABEL_ENV = process.env.BABEL_ENV;
116
+ process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
117
+ try {
118
+ var babelConfig = {
119
+ sourceType: "unambiguous",
120
+ ast: true,
121
+ code: false,
122
+ cloneInputAst: false,
123
+ cwd: options.projectRoot,
124
+ filename,
125
+ highlightCode: true,
126
+ ...babelConfigFromVitePlugin,
127
+ ...(0, import_loadBabelConfig.loadBabelConfig)(options),
128
+ babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
129
+ plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
130
+ caller: getBabelCaller({
131
+ filename,
132
+ options,
133
+ oneViteMetroBabelConfig: hasOneViteMetroBabelConfig
134
+ })
135
+ };
136
+ var result = (0, import_transformSync.transformSync)(src, babelConfig, options);
137
+ if (!result) {
138
+ return { ast: null };
139
+ }
140
+ (0, import_assert.default)(result.ast);
141
+ return {
142
+ ast: result.ast,
143
+ metadata: result.metadata
144
+ };
145
+ } finally {
146
+ if (OLD_BABEL_ENV) {
147
+ process.env.BABEL_ENV = OLD_BABEL_ENV;
148
+ }
149
+ }
150
+ };
151
+ function getCacheKey(options) {
152
+ var hash = (0, import_crypto.createHash)("sha256");
153
+ hash.update("vxrn-metro-babel-transformer-v1");
154
+ var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
155
+ if (!projectRoot) {
156
+ return hash.digest("hex");
157
+ }
158
+ hash.update(projectRoot);
159
+ for (var _i = 0, _iter = [
160
+ ".env",
161
+ ".env.development",
162
+ ".env.local",
163
+ ".env.development.local"
164
+ ]; _i < _iter.length; _i++) {
165
+ var file = _iter[_i];
166
+ var filename = import_path.default.join(projectRoot, file);
167
+ hash.update(filename);
168
+ try {
169
+ hash.update((0, import_fs.readFileSync)(filename));
170
+ } catch (error) {
171
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT") {
172
+ continue;
173
+ }
174
+ throw error;
175
+ }
176
+ }
177
+ hash.update(JSON.stringify(Object.entries(process.env).filter(function(param) {
178
+ var [key] = param;
179
+ return key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_");
180
+ }).sort(function(param, param1) {
181
+ var [left] = param, [right] = param1;
182
+ return left.localeCompare(right);
183
+ })));
184
+ return hash.digest("hex");
185
+ }
186
+ var babelTransformer = {
187
+ transform,
188
+ getCacheKey
189
+ };
190
+ module.exports = babelTransformer;