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

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