@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
@@ -5,36 +5,27 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- 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
30
25
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
27
  var metroPlugin_exports = {};
35
- __export(metroPlugin_exports, {
36
- metroPlugin: () => metroPlugin
37
- });
28
+ __export(metroPlugin_exports, { metroPlugin: () => metroPlugin });
38
29
  module.exports = __toCommonJS(metroPlugin_exports);
39
30
  var import_node_fs = require("node:fs");
40
31
  var import_promises = require("node:fs/promises");
@@ -46,227 +37,198 @@ var import_metroCacheManager = require("../utils/metroCacheManager.cjs");
46
37
  var import_projectImport = require("../utils/projectImport.cjs");
47
38
  var import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.cjs");
48
39
  var import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs");
49
- const {
50
- debug
51
- } = (0, import_debug.createDebugger)("vite-plugin-metro");
40
+ const { debug } = (0, import_debug.createDebugger)("vite-plugin-metro");
52
41
  function metroPlugin(options = {}) {
53
- globalThis["__viteMetroPluginOptions__"] = options;
54
- return {
55
- name: "metro",
56
- // configResolved(config) {
57
- // projectRoot = config.root
58
- // },
59
- configureServer(server) {
60
- const projectRoot = (0, import_node_path.resolve)(server.config.root);
61
- const shouldLetViteServe = url => {
62
- if (!url) return false;
63
- let pathname = "";
64
- try {
65
- pathname = new URL(url, "http://localhost").pathname;
66
- } catch {
67
- pathname = url.split("?")[0] ?? "";
68
- }
69
- if (!pathname.startsWith("/assets/")) return false;
70
- if (pathname.endsWith("_vxrn_loader.js")) return true;
71
- let decodedPathname = pathname;
72
- try {
73
- decodedPathname = decodeURIComponent(pathname);
74
- } catch {}
75
- const filePath = (0, import_node_path.resolve)(projectRoot, decodedPathname.slice(1));
76
- const relativePath = (0, import_node_path.relative)(projectRoot, filePath);
77
- const isInsideRoot = relativePath !== "" && !relativePath.startsWith("..") && !(0, import_node_path.isAbsolute)(relativePath);
78
- return isInsideRoot && (0, import_node_fs.existsSync)(filePath);
79
- };
80
- let metroReady = false;
81
- let middleware;
82
- let metroServer;
83
- let hmrServer;
84
- let websocketEndpoints;
85
- let rnDevtoolsMiddleware;
86
- let metroPromise;
87
- let metroPromiseResolvers;
88
- metroPromise = new Promise((resolve2, reject) => {
89
- metroPromiseResolvers = {
90
- resolve: resolve2,
91
- reject
92
- };
93
- });
94
- const startMetro = async () => {
95
- const metroStartTime = Date.now();
96
- try {
97
- (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
98
- const {
99
- default: Metro
100
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
101
- const {
102
- default: MetroHmrServer
103
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer");
104
- const {
105
- default: createWebsocketServer
106
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer");
107
- const {
108
- createDevMiddleware
109
- } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware");
110
- const config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options);
111
- const metroResult = await Metro.createConnectMiddleware(config, {
112
- // Force enable file watching, even on CI.
113
- // This is needed for HMR tests to work on CI.
114
- watch: true
115
- });
116
- middleware = metroResult.middleware;
117
- metroServer = metroResult.metroServer;
118
- (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options);
119
- hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
120
- const reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
121
- const devMiddleware = createDevMiddleware({
122
- serverBaseUrl: reactNativeDevToolsUrl,
123
- logger: console,
124
- unstable_experiments: {
125
- // rn 0.86 turns this on by default and prepares the standalone debugger
126
- // shell eagerly while building the middleware. its tool launcher throws
127
- // outright under NODE_ENV=test rather than spawn a gui, which would take
128
- // the whole dev server down on boot for anyone running tests against it.
129
- enableStandaloneFuseboxShell: process.env.NODE_ENV !== "test"
130
- }
131
- });
132
- rnDevtoolsMiddleware = devMiddleware.middleware;
133
- websocketEndpoints = {
134
- "/hot": createWebsocketServer({
135
- websocketServer: hmrServer
136
- }),
137
- // metro parity: the packager message socket (metro serves /message via
138
- // @react-native-community/cli-server-api). leaving the upgrade unanswered
139
- // dangles the socket and chromium queues every later websocket handshake
140
- // to the same host:port behind it (blocking e.g. zero /sync in sootsim).
141
- "/message": (0, import_utils.createMessageSocket)(),
142
- ...devMiddleware.websocketEndpoints
143
- };
144
- server.httpServer?.on("upgrade", (request, socket, head) => {
145
- const pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
146
- const endpoint = websocketEndpoints[pathname];
147
- if (endpoint) {
148
- endpoint.handleUpgrade(request, socket, head, ws => {
149
- endpoint.emit("connection", ws, request);
150
- });
151
- }
152
- });
153
- server.middlewares.use(rnDevtoolsMiddleware);
154
- metroReady = true;
155
- const metroElapsed = Date.now() - metroStartTime;
156
- debug?.(`Metro bundler ready (${metroElapsed}ms)`);
157
- metroPromiseResolvers.resolve();
158
- } catch (err) {
159
- debug?.(`Error during Metro initialization: ${err}`);
160
- metroPromiseResolvers.reject(err);
161
- throw err;
162
- }
163
- };
164
- const isLazyStartup = options.startup === "lazy";
165
- let metroStarting = false;
166
- const ensureMetroStarted = () => {
167
- if (metroStarting || metroReady) return;
168
- metroStarting = true;
169
- debug?.("Starting Metro on-demand (lazy startup)");
170
- startMetro().catch(err => {
171
- debug?.(`Failed to start Metro: ${err}`);
172
- });
173
- };
174
- if (!isLazyStartup) {
175
- if (server.httpServer) {
176
- if (server.httpServer.listening) {
177
- startMetro().catch(err => {
178
- debug?.(`Failed to start Metro: ${err}`);
179
- });
180
- } else {
181
- server.httpServer.on("listening", () => {
182
- startMetro().catch(err => {
183
- debug?.(`Failed to start Metro: ${err}`);
184
- });
185
- });
186
- }
187
- } else {
188
- const waitForServer = () => {
189
- if (server.httpServer) {
190
- if (server.httpServer.listening) {
191
- startMetro().catch(err => {
192
- debug?.(`Failed to start Metro: ${err}`);
193
- });
194
- } else {
195
- server.httpServer.on("listening", () => {
196
- startMetro().catch(err => {
197
- debug?.(`Failed to start Metro: ${err}`);
198
- });
199
- });
200
- }
201
- } else {
202
- setTimeout(waitForServer, 10);
203
- }
204
- };
205
- waitForServer();
206
- }
207
- } else {
208
- debug?.("Metro lazy startup enabled - will start on first native request");
209
- }
210
- server.middlewares.use(async (req, res, next) => {
211
- const isNativeRequest = req.headers["user-agent"]?.includes("CFNetwork/") || req.headers["user-agent"]?.includes("okhttp/");
212
- if (isLazyStartup && !metroReady) {
213
- if (req.url?.includes(".bundle") || req.url === "/status" && isNativeRequest) {
214
- ensureMetroStarted();
215
- }
216
- }
217
- if (req.url === "/status" && isNativeRequest) {
218
- res.statusCode = 200;
219
- res.end("packager-status:running");
220
- return;
221
- }
222
- if (req.url?.includes(".bundle") && !metroReady) {
223
- await metroPromise;
224
- }
225
- if (middleware) {
226
- if (shouldLetViteServe(req.url)) {
227
- return next();
228
- }
229
- try {
230
- if (req.url?.includes(".bundle")) {
231
- const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
232
- if (VITE_METRO_DEBUG_BUNDLE) {
233
- if ((0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
234
- debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
235
- const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
236
- res.setHeader("Content-Type", "application/javascript");
237
- res.end(content);
238
- return;
239
- }
240
- }
241
- }
242
- if (req.url === "/open-stack-frame" && req.method === "POST") {
243
- let body = "";
244
- req.on("data", chunk => {
245
- body += chunk.toString();
246
- });
247
- req.on("end", () => {
248
- try {
249
- const frame = JSON.parse(body);
250
- (0, import_launch_editor.default)(frame.file);
251
- res.statusCode = 200;
252
- res.end("Stack frame opened in editor");
253
- } catch (e) {
254
- debug?.(`Failed to parse stack frame: ${e}`);
255
- res.statusCode = 400;
256
- return res.end("Invalid stack frame JSON");
257
- }
258
- });
259
- return;
260
- }
261
- await middleware(req, res, next);
262
- } catch (error) {
263
- debug?.(`Metro middleware error: ${error}`);
264
- next();
265
- }
266
- } else {
267
- next();
268
- }
269
- });
270
- }
271
- };
272
- }
42
+ globalThis["__viteMetroPluginOptions__"] = options;
43
+ return {
44
+ name: "metro",
45
+ configureServer(server) {
46
+ const projectRoot = (0, import_node_path.resolve)(server.config.root);
47
+ const shouldLetViteServe = (url) => {
48
+ if (!url) return false;
49
+ let pathname = "";
50
+ try {
51
+ pathname = new URL(url, "http://localhost").pathname;
52
+ } catch {
53
+ pathname = url.split("?")[0] ?? "";
54
+ }
55
+ if (!pathname.startsWith("/assets/")) return false;
56
+ if (pathname.endsWith("_vxrn_loader.js")) return true;
57
+ let decodedPathname = pathname;
58
+ try {
59
+ decodedPathname = decodeURIComponent(pathname);
60
+ } catch {}
61
+ const filePath = (0, import_node_path.resolve)(projectRoot, decodedPathname.slice(1));
62
+ const relativePath = (0, import_node_path.relative)(projectRoot, filePath);
63
+ const isInsideRoot = relativePath !== "" && !relativePath.startsWith("..") && !(0, import_node_path.isAbsolute)(relativePath);
64
+ return isInsideRoot && (0, import_node_fs.existsSync)(filePath);
65
+ };
66
+ let metroReady = false;
67
+ let middleware;
68
+ let metroServer;
69
+ let hmrServer;
70
+ let websocketEndpoints;
71
+ let rnDevtoolsMiddleware;
72
+ let metroPromise;
73
+ let metroPromiseResolvers;
74
+ metroPromise = new Promise((resolve2, reject) => {
75
+ metroPromiseResolvers = {
76
+ resolve: resolve2,
77
+ reject
78
+ };
79
+ });
80
+ const startMetro = async () => {
81
+ const metroStartTime = Date.now();
82
+ try {
83
+ (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
84
+ const { default: Metro } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
85
+ const { default: MetroHmrServer } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer");
86
+ const { default: createWebsocketServer } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer");
87
+ const { createDevMiddleware } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware");
88
+ const config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options);
89
+ const metroResult = await Metro.createConnectMiddleware(config, { watch: true });
90
+ middleware = metroResult.middleware;
91
+ metroServer = metroResult.metroServer;
92
+ (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options);
93
+ hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
94
+ const reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
95
+ const devMiddleware = createDevMiddleware({
96
+ serverBaseUrl: reactNativeDevToolsUrl,
97
+ logger: console,
98
+ unstable_experiments: { enableStandaloneFuseboxShell: process.env.NODE_ENV !== "test" }
99
+ });
100
+ rnDevtoolsMiddleware = devMiddleware.middleware;
101
+ websocketEndpoints = {
102
+ "/hot": createWebsocketServer({ websocketServer: hmrServer }),
103
+ "/message": (0, import_utils.createMessageSocket)(),
104
+ ...devMiddleware.websocketEndpoints
105
+ };
106
+ server.httpServer?.on("upgrade", (request, socket, head) => {
107
+ const pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
108
+ const endpoint = websocketEndpoints[pathname];
109
+ if (endpoint) {
110
+ endpoint.handleUpgrade(request, socket, head, (ws) => {
111
+ endpoint.emit("connection", ws, request);
112
+ });
113
+ }
114
+ });
115
+ server.middlewares.use(rnDevtoolsMiddleware);
116
+ metroReady = true;
117
+ const metroElapsed = Date.now() - metroStartTime;
118
+ debug?.(`Metro bundler ready (${metroElapsed}ms)`);
119
+ metroPromiseResolvers.resolve();
120
+ } catch (err) {
121
+ debug?.(`Error during Metro initialization: ${err}`);
122
+ metroPromiseResolvers.reject(err);
123
+ throw err;
124
+ }
125
+ };
126
+ const isLazyStartup = options.startup === "lazy";
127
+ let metroStarting = false;
128
+ const ensureMetroStarted = () => {
129
+ if (metroStarting || metroReady) return;
130
+ metroStarting = true;
131
+ debug?.("Starting Metro on-demand (lazy startup)");
132
+ startMetro().catch((err) => {
133
+ debug?.(`Failed to start Metro: ${err}`);
134
+ });
135
+ };
136
+ if (!isLazyStartup) {
137
+ if (server.httpServer) {
138
+ if (server.httpServer.listening) {
139
+ startMetro().catch((err) => {
140
+ debug?.(`Failed to start Metro: ${err}`);
141
+ });
142
+ } else {
143
+ server.httpServer.on("listening", () => {
144
+ startMetro().catch((err) => {
145
+ debug?.(`Failed to start Metro: ${err}`);
146
+ });
147
+ });
148
+ }
149
+ } else {
150
+ const waitForServer = () => {
151
+ if (server.httpServer) {
152
+ if (server.httpServer.listening) {
153
+ startMetro().catch((err) => {
154
+ debug?.(`Failed to start Metro: ${err}`);
155
+ });
156
+ } else {
157
+ server.httpServer.on("listening", () => {
158
+ startMetro().catch((err) => {
159
+ debug?.(`Failed to start Metro: ${err}`);
160
+ });
161
+ });
162
+ }
163
+ } else {
164
+ setTimeout(waitForServer, 10);
165
+ }
166
+ };
167
+ waitForServer();
168
+ }
169
+ } else {
170
+ debug?.("Metro lazy startup enabled - will start on first native request");
171
+ }
172
+ server.middlewares.use(async (req, res, next) => {
173
+ const isNativeRequest = req.headers["user-agent"]?.includes("CFNetwork/") || req.headers["user-agent"]?.includes("okhttp/");
174
+ if (isLazyStartup && !metroReady) {
175
+ if (req.url?.includes(".bundle") || req.url === "/status" && isNativeRequest) {
176
+ ensureMetroStarted();
177
+ }
178
+ }
179
+ if (req.url === "/status" && isNativeRequest) {
180
+ res.statusCode = 200;
181
+ res.end("packager-status:running");
182
+ return;
183
+ }
184
+ if (req.url?.includes(".bundle") && !metroReady) {
185
+ await metroPromise;
186
+ }
187
+ if (middleware) {
188
+ if (shouldLetViteServe(req.url)) {
189
+ return next();
190
+ }
191
+ try {
192
+ if (req.url?.includes(".bundle")) {
193
+ const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
194
+ if (VITE_METRO_DEBUG_BUNDLE) {
195
+ if ((0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
196
+ debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
197
+ const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
198
+ res.setHeader("Content-Type", "application/javascript");
199
+ res.end(content);
200
+ return;
201
+ }
202
+ }
203
+ }
204
+ if (req.url === "/open-stack-frame" && req.method === "POST") {
205
+ let body = "";
206
+ req.on("data", (chunk) => {
207
+ body += chunk.toString();
208
+ });
209
+ req.on("end", () => {
210
+ try {
211
+ const frame = JSON.parse(body);
212
+ (0, import_launch_editor.default)(frame.file);
213
+ res.statusCode = 200;
214
+ res.end("Stack frame opened in editor");
215
+ } catch (e) {
216
+ debug?.(`Failed to parse stack frame: ${e}`);
217
+ res.statusCode = 400;
218
+ return res.end("Invalid stack frame JSON");
219
+ }
220
+ });
221
+ return;
222
+ }
223
+ await middleware(req, res, next);
224
+ } catch (error) {
225
+ debug?.(`Metro middleware error: ${error}`);
226
+ next();
227
+ }
228
+ } else {
229
+ next();
230
+ }
231
+ });
232
+ }
233
+ };
234
+ }