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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +57 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +95 -0
  7. package/dist/cjs/env/platformEnv.native.js +74 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +21 -25
  10. package/dist/cjs/index.native.cjs +39 -0
  11. package/dist/cjs/index.native.js +21 -24
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +54 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +108 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +95 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +287 -272
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +346 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +309 -282
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  30. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  31. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  32. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  33. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  34. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  35. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  36. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  38. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  39. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  40. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  42. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  43. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  44. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  46. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  48. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  50. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  51. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  52. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  54. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  55. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  56. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  62. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  64. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  66. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  67. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  68. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  70. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  71. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  72. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  74. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  75. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  76. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/index.cjs +17 -26
  78. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  79. package/dist/cjs/rn-commands/index.native.js +17 -25
  80. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  81. package/dist/cjs/transformer/babel-core.cjs +16 -18
  82. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  83. package/dist/cjs/transformer/babel-core.native.js +16 -17
  84. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-transformer.cjs +149 -151
  86. package/dist/cjs/transformer/babel-transformer.native.cjs +190 -0
  87. package/dist/cjs/transformer/babel-transformer.native.js +164 -158
  88. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  89. package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
  90. package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
  91. package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
  92. package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1430 -1488
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2519 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2407 -2560
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +48 -64
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +50 -65
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/projectImport.cjs +40 -51
  122. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  123. package/dist/cjs/utils/projectImport.native.js +41 -58
  124. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  125. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  126. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  127. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  128. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  129. package/dist/esm/env/platformEnv.mjs +42 -39
  130. package/dist/esm/env/platformEnv.mjs.map +1 -1
  131. package/dist/esm/env/platformEnv.native.js +59 -58
  132. package/dist/esm/env/platformEnv.native.js.map +1 -1
  133. package/dist/esm/index.js +3 -4
  134. package/dist/esm/index.mjs +3 -4
  135. package/dist/esm/index.native.js +3 -4
  136. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +42 -33
  137. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  138. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +83 -77
  139. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  140. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +271 -247
  141. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +293 -258
  143. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  145. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  146. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  147. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  148. package/dist/esm/metro-config/types.mjs +0 -2
  149. package/dist/esm/metro-config/types.native.js +0 -2
  150. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  151. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  152. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  153. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  155. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  157. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  158. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  159. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  160. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  161. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  163. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  165. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  167. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  169. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  171. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  173. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  175. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  177. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  179. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  181. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  183. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  185. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  187. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  188. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  189. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  190. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  191. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  192. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  193. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  194. package/dist/esm/rn-commands/index.mjs +2 -2
  195. package/dist/esm/rn-commands/index.native.js +2 -2
  196. package/dist/esm/transformer/babel-core.mjs +2 -2
  197. package/dist/esm/transformer/babel-core.native.js +2 -2
  198. package/dist/esm/transformer/babel-transformer.mjs +133 -132
  199. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  200. package/dist/esm/transformer/babel-transformer.native.js +145 -142
  201. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  202. package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
  203. package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
  204. package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
  205. package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
  206. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  207. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  208. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  209. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  210. package/dist/esm/transformer/metroNativeWorker.mjs +1393 -1442
  211. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  212. package/dist/esm/transformer/metroNativeWorker.native.js +2370 -2515
  213. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  214. package/dist/esm/transformer/transformSync.mjs +33 -38
  215. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  216. package/dist/esm/transformer/transformSync.native.js +35 -40
  217. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  218. package/dist/esm/transformer/types.mjs +0 -2
  219. package/dist/esm/transformer/types.native.js +0 -2
  220. package/dist/esm/utils/exit.mjs +123 -112
  221. package/dist/esm/utils/exit.mjs.map +1 -1
  222. package/dist/esm/utils/exit.native.js +210 -215
  223. package/dist/esm/utils/exit.native.js.map +1 -1
  224. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  225. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  226. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  227. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  228. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  229. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  230. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  231. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  232. package/dist/esm/utils/projectImport.mjs +23 -25
  233. package/dist/esm/utils/projectImport.mjs.map +1 -1
  234. package/dist/esm/utils/projectImport.native.js +24 -33
  235. package/dist/esm/utils/projectImport.native.js.map +1 -1
  236. package/package.json +15 -18
  237. package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
  238. package/src/env/platformEnv.test.ts +44 -0
  239. package/src/env/platformEnv.ts +6 -3
  240. package/src/index.ts +0 -2
  241. package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +52 -0
  242. package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -7
  243. package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
  244. package/src/metro-config/getMetroConfigFromViteConfig.ts +150 -113
  245. package/src/plugins/metroPlugin.ts +3 -6
  246. package/src/transformer/babel-transformer.test.ts +118 -0
  247. package/src/transformer/babel-transformer.ts +82 -15
  248. package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
  249. package/src/transformer/expoVirtualEnv.test.ts +72 -0
  250. package/src/transformer/expoVirtualEnv.ts +115 -0
  251. package/src/transformer/loadBabelConfig.ts +1 -1
  252. package/src/transformer/metroNativeWorker.test.ts +268 -50
  253. package/src/transformer/metroNativeWorker.ts +53 -71
  254. package/src/transformer/transformSync.test.ts +22 -0
  255. package/src/transformer/transformSync.ts +4 -4
  256. package/src/utils/exit.ts +2 -2
  257. package/src/utils/getTerminalReporter.ts +1 -1
  258. package/src/utils/projectImport.ts +2 -2
  259. package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
  260. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  261. package/types/env/platformEnv.d.ts +2 -1
  262. package/types/env/platformEnv.d.ts.map +1 -1
  263. package/types/index.d.ts +0 -2
  264. package/types/index.d.ts.map +1 -1
  265. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
  266. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
  267. package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
  268. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  269. package/types/plugins/metroPlugin.d.ts +2 -4
  270. package/types/plugins/metroPlugin.d.ts.map +1 -1
  271. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  272. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  273. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  274. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  275. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  276. package/types/transformer/babel-transformer.d.ts +10 -1
  277. package/types/transformer/babel-transformer.d.ts.map +1 -1
  278. package/types/transformer/expoVirtualEnv.d.ts +8 -0
  279. package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
  280. package/types/transformer/metroNativeWorker.d.ts +7 -8
  281. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  282. package/types/utils/projectImport.d.ts +2 -2
  283. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -71
  284. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -82
  285. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  286. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  287. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  288. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  289. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  290. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  291. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  292. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -39
  293. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -42
  294. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  295. package/dist/esm/index.js.map +0 -1
  296. package/dist/esm/index.mjs.map +0 -1
  297. package/dist/esm/index.native.js.map +0 -1
  298. package/dist/esm/metro-config/types.mjs.map +0 -1
  299. package/dist/esm/metro-config/types.native.js.map +0 -1
  300. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -46
  301. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
  302. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -54
  303. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
  304. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  305. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  306. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  307. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  308. package/dist/esm/rn-commands/index.mjs.map +0 -1
  309. package/dist/esm/rn-commands/index.native.js.map +0 -1
  310. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  311. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  312. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  313. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  314. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  315. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  316. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  317. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  318. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  319. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  320. package/dist/esm/transformer/types.mjs.map +0 -1
  321. package/dist/esm/transformer/types.native.js.map +0 -1
  322. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -14
  323. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
  324. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -14
  325. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
  326. package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
  327. package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
  328. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
  329. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
  330. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  331. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  332. package/types/transformer/transformSync.test.d.ts +0 -2
  333. package/types/transformer/transformSync.test.d.ts.map +0 -1
  334. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
  335. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
@@ -8,235 +8,208 @@ import { checkAndClearMetroCacheFromVite } from "../utils/metroCacheManager.nati
8
8
  import { projectImport } from "../utils/projectImport.native.js";
9
9
  import { getMetroConfigFromViteConfig } from "../metro-config/getMetroConfigFromViteConfig.native.js";
10
10
  import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js";
11
- var {
12
- debug
13
- } = createDebugger("vite-plugin-metro");
11
+
12
+ var { debug } = createDebugger("vite-plugin-metro");
14
13
  function metroPlugin() {
15
- var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
16
- globalThis["__viteMetroPluginOptions__"] = options;
17
- return {
18
- name: "metro",
19
- // configResolved(config) {
20
- // projectRoot = config.root
21
- // },
22
- configureServer(server) {
23
- var projectRoot = resolve(server.config.root);
24
- var shouldLetViteServe = function (url) {
25
- if (!url) return false;
26
- var pathname = "";
27
- try {
28
- pathname = new URL(url, "http://localhost").pathname;
29
- } catch (unused) {
30
- var _url_split_;
31
- pathname = (_url_split_ = url.split("?")[0]) !== null && _url_split_ !== void 0 ? _url_split_ : "";
32
- }
33
- if (!pathname.startsWith("/assets/")) return false;
34
- if (pathname.endsWith("_vxrn_loader.js")) return true;
35
- var decodedPathname = pathname;
36
- try {
37
- decodedPathname = decodeURIComponent(pathname);
38
- } catch (unused) {}
39
- var filePath = resolve(projectRoot, decodedPathname.slice(1));
40
- var relativePath = relative(projectRoot, filePath);
41
- var isInsideRoot = relativePath !== "" && !relativePath.startsWith("..") && !isAbsolute(relativePath);
42
- return isInsideRoot && existsSync(filePath);
43
- };
44
- var metroReady = false;
45
- var middleware;
46
- var metroServer;
47
- var hmrServer;
48
- var websocketEndpoints;
49
- var rnDevtoolsMiddleware;
50
- var metroPromise;
51
- var metroPromiseResolvers;
52
- metroPromise = new Promise(function (resolve2, reject) {
53
- metroPromiseResolvers = {
54
- resolve: resolve2,
55
- reject
56
- };
57
- });
58
- var startMetro = async function () {
59
- var metroStartTime = Date.now();
60
- try {
61
- var _server_httpServer;
62
- checkAndClearMetroCacheFromVite(server, server.config.logger);
63
- var {
64
- default: Metro
65
- } = await projectImport(projectRoot, "metro");
66
- var {
67
- default: MetroHmrServer
68
- } = await projectImport(projectRoot, "metro/private/HmrServer");
69
- var {
70
- default: createWebsocketServer
71
- } = await projectImport(projectRoot, "metro/private/lib/createWebsocketServer");
72
- var {
73
- createDevMiddleware
74
- } = await projectImport(projectRoot, "@react-native/dev-middleware");
75
- var config = await getMetroConfigFromViteConfig(server.config, options);
76
- var metroResult = await Metro.createConnectMiddleware(config, {
77
- // Force enable file watching, even on CI.
78
- // This is needed for HMR tests to work on CI.
79
- watch: true
80
- });
81
- middleware = metroResult.middleware;
82
- metroServer = metroResult.metroServer;
83
- patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);
84
- hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
85
- var reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
86
- var devMiddleware = createDevMiddleware({
87
- serverBaseUrl: reactNativeDevToolsUrl,
88
- logger: console,
89
- unstable_experiments: {
90
- // rn 0.86 turns this on by default and prepares the standalone debugger
91
- // shell eagerly while building the middleware. its tool launcher throws
92
- // outright under NODE_ENV=test rather than spawn a gui, which would take
93
- // the whole dev server down on boot for anyone running tests against it.
94
- enableStandaloneFuseboxShell: process.env.NODE_ENV !== "test"
95
- }
96
- });
97
- rnDevtoolsMiddleware = devMiddleware.middleware;
98
- websocketEndpoints = {
99
- "/hot": createWebsocketServer({
100
- websocketServer: hmrServer
101
- }),
102
- // metro parity: the packager message socket (metro serves /message via
103
- // @react-native-community/cli-server-api). leaving the upgrade unanswered
104
- // dangles the socket and chromium queues every later websocket handshake
105
- // to the same host:port behind it (blocking e.g. zero /sync in sootsim).
106
- "/message": createMessageSocket(),
107
- ...devMiddleware.websocketEndpoints
108
- };
109
- (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on("upgrade", function (request, socket, head) {
110
- var pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
111
- var endpoint = websocketEndpoints[pathname];
112
- if (endpoint) {
113
- endpoint.handleUpgrade(request, socket, head, function (ws) {
114
- endpoint.emit("connection", ws, request);
115
- });
116
- }
117
- });
118
- server.middlewares.use(rnDevtoolsMiddleware);
119
- metroReady = true;
120
- var metroElapsed = Date.now() - metroStartTime;
121
- debug === null || debug === void 0 ? void 0 : debug(`Metro bundler ready (${metroElapsed}ms)`);
122
- metroPromiseResolvers.resolve();
123
- } catch (err) {
124
- debug === null || debug === void 0 ? void 0 : debug(`Error during Metro initialization: ${err}`);
125
- metroPromiseResolvers.reject(err);
126
- throw err;
127
- }
128
- };
129
- var isLazyStartup = options.startup === "lazy";
130
- var metroStarting = false;
131
- var ensureMetroStarted = function () {
132
- if (metroStarting || metroReady) return;
133
- metroStarting = true;
134
- debug === null || debug === void 0 ? void 0 : debug("Starting Metro on-demand (lazy startup)");
135
- startMetro().catch(function (err) {
136
- debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
137
- });
138
- };
139
- if (!isLazyStartup) {
140
- if (server.httpServer) {
141
- if (server.httpServer.listening) {
142
- startMetro().catch(function (err) {
143
- debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
144
- });
145
- } else {
146
- server.httpServer.on("listening", function () {
147
- startMetro().catch(function (err) {
148
- debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
149
- });
150
- });
151
- }
152
- } else {
153
- var waitForServer = function () {
154
- if (server.httpServer) {
155
- if (server.httpServer.listening) {
156
- startMetro().catch(function (err) {
157
- debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
158
- });
159
- } else {
160
- server.httpServer.on("listening", function () {
161
- startMetro().catch(function (err) {
162
- debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
163
- });
164
- });
165
- }
166
- } else {
167
- setTimeout(waitForServer, 10);
168
- }
169
- };
170
- waitForServer();
171
- }
172
- } else {
173
- debug === null || debug === void 0 ? void 0 : debug("Metro lazy startup enabled - will start on first native request");
174
- }
175
- server.middlewares.use(async function (req, res, next) {
176
- var _req_headers_useragent, _req_headers_useragent1, _req_url;
177
- var isNativeRequest = ((_req_headers_useragent = req.headers["user-agent"]) === null || _req_headers_useragent === void 0 ? void 0 : _req_headers_useragent.includes("CFNetwork/")) || ((_req_headers_useragent1 = req.headers["user-agent"]) === null || _req_headers_useragent1 === void 0 ? void 0 : _req_headers_useragent1.includes("okhttp/"));
178
- if (isLazyStartup && !metroReady) {
179
- var _req_url1;
180
- if (((_req_url1 = req.url) === null || _req_url1 === void 0 ? void 0 : _req_url1.includes(".bundle")) || req.url === "/status" && isNativeRequest) {
181
- ensureMetroStarted();
182
- }
183
- }
184
- if (req.url === "/status" && isNativeRequest) {
185
- res.statusCode = 200;
186
- res.end("packager-status:running");
187
- return;
188
- }
189
- if (((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes(".bundle")) && !metroReady) {
190
- await metroPromise;
191
- }
192
- if (middleware) {
193
- if (shouldLetViteServe(req.url)) {
194
- return next();
195
- }
196
- try {
197
- var _req_url2;
198
- if ((_req_url2 = req.url) === null || _req_url2 === void 0 ? void 0 : _req_url2.includes(".bundle")) {
199
- var VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
200
- if (VITE_METRO_DEBUG_BUNDLE) {
201
- if (existsSync(VITE_METRO_DEBUG_BUNDLE)) {
202
- debug === null || debug === void 0 ? void 0 : debug(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
203
- var content = await readFile(VITE_METRO_DEBUG_BUNDLE, "utf-8");
204
- res.setHeader("Content-Type", "application/javascript");
205
- res.end(content);
206
- return;
207
- }
208
- }
209
- }
210
- if (req.url === "/open-stack-frame" && req.method === "POST") {
211
- var body = "";
212
- req.on("data", function (chunk) {
213
- body += chunk.toString();
214
- });
215
- req.on("end", function () {
216
- try {
217
- var frame = JSON.parse(body);
218
- launchEditor(frame.file);
219
- res.statusCode = 200;
220
- res.end("Stack frame opened in editor");
221
- } catch (e) {
222
- debug === null || debug === void 0 ? void 0 : debug(`Failed to parse stack frame: ${e}`);
223
- res.statusCode = 400;
224
- return res.end("Invalid stack frame JSON");
225
- }
226
- });
227
- return;
228
- }
229
- await middleware(req, res, next);
230
- } catch (error) {
231
- debug === null || debug === void 0 ? void 0 : debug(`Metro middleware error: ${error}`);
232
- next();
233
- }
234
- } else {
235
- next();
236
- }
237
- });
238
- }
239
- };
14
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
15
+ globalThis["__viteMetroPluginOptions__"] = options;
16
+ return {
17
+ name: "metro",
18
+ configureServer(server) {
19
+ var projectRoot = resolve(server.config.root);
20
+ var shouldLetViteServe = function(url) {
21
+ if (!url) return false;
22
+ var pathname = "";
23
+ try {
24
+ pathname = new URL(url, "http://localhost").pathname;
25
+ } catch (unused) {
26
+ var _url_split_;
27
+ pathname = (_url_split_ = url.split("?")[0]) !== null && _url_split_ !== void 0 ? _url_split_ : "";
28
+ }
29
+ if (!pathname.startsWith("/assets/")) return false;
30
+ if (pathname.endsWith("_vxrn_loader.js")) return true;
31
+ var decodedPathname = pathname;
32
+ try {
33
+ decodedPathname = decodeURIComponent(pathname);
34
+ } catch (unused) {}
35
+ var filePath = resolve(projectRoot, decodedPathname.slice(1));
36
+ var relativePath = relative(projectRoot, filePath);
37
+ var isInsideRoot = relativePath !== "" && !relativePath.startsWith("..") && !isAbsolute(relativePath);
38
+ return isInsideRoot && existsSync(filePath);
39
+ };
40
+ var metroReady = false;
41
+ var middleware;
42
+ var metroServer;
43
+ var hmrServer;
44
+ var websocketEndpoints;
45
+ var rnDevtoolsMiddleware;
46
+ var metroPromise;
47
+ var metroPromiseResolvers;
48
+ metroPromise = new Promise(function(resolve2, reject) {
49
+ metroPromiseResolvers = {
50
+ resolve: resolve2,
51
+ reject
52
+ };
53
+ });
54
+ var startMetro = async function() {
55
+ var metroStartTime = Date.now();
56
+ try {
57
+ var _server_httpServer;
58
+ checkAndClearMetroCacheFromVite(server, server.config.logger);
59
+ var { default: Metro } = await projectImport(projectRoot, "metro");
60
+ var { default: MetroHmrServer } = await projectImport(projectRoot, "metro/private/HmrServer");
61
+ var { default: createWebsocketServer } = await projectImport(projectRoot, "metro/private/lib/createWebsocketServer");
62
+ var { createDevMiddleware } = await projectImport(projectRoot, "@react-native/dev-middleware");
63
+ var config = await getMetroConfigFromViteConfig(server.config, options);
64
+ var metroResult = await Metro.createConnectMiddleware(config, { watch: true });
65
+ middleware = metroResult.middleware;
66
+ metroServer = metroResult.metroServer;
67
+ patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);
68
+ hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
69
+ var reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
70
+ var devMiddleware = createDevMiddleware({
71
+ serverBaseUrl: reactNativeDevToolsUrl,
72
+ logger: console,
73
+ unstable_experiments: { enableStandaloneFuseboxShell: process.env.NODE_ENV !== "test" }
74
+ });
75
+ rnDevtoolsMiddleware = devMiddleware.middleware;
76
+ websocketEndpoints = {
77
+ "/hot": createWebsocketServer({ websocketServer: hmrServer }),
78
+ "/message": createMessageSocket(),
79
+ ...devMiddleware.websocketEndpoints
80
+ };
81
+ (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on("upgrade", function(request, socket, head) {
82
+ var pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
83
+ var endpoint = websocketEndpoints[pathname];
84
+ if (endpoint) {
85
+ endpoint.handleUpgrade(request, socket, head, function(ws) {
86
+ endpoint.emit("connection", ws, request);
87
+ });
88
+ }
89
+ });
90
+ server.middlewares.use(rnDevtoolsMiddleware);
91
+ metroReady = true;
92
+ var metroElapsed = Date.now() - metroStartTime;
93
+ debug === null || debug === void 0 ? void 0 : debug(`Metro bundler ready (${metroElapsed}ms)`);
94
+ metroPromiseResolvers.resolve();
95
+ } catch (err) {
96
+ debug === null || debug === void 0 ? void 0 : debug(`Error during Metro initialization: ${err}`);
97
+ metroPromiseResolvers.reject(err);
98
+ throw err;
99
+ }
100
+ };
101
+ var isLazyStartup = options.startup === "lazy";
102
+ var metroStarting = false;
103
+ var ensureMetroStarted = function() {
104
+ if (metroStarting || metroReady) return;
105
+ metroStarting = true;
106
+ debug === null || debug === void 0 ? void 0 : debug("Starting Metro on-demand (lazy startup)");
107
+ startMetro().catch(function(err) {
108
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
109
+ });
110
+ };
111
+ if (!isLazyStartup) {
112
+ if (server.httpServer) {
113
+ if (server.httpServer.listening) {
114
+ startMetro().catch(function(err) {
115
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
116
+ });
117
+ } else {
118
+ server.httpServer.on("listening", function() {
119
+ startMetro().catch(function(err) {
120
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
121
+ });
122
+ });
123
+ }
124
+ } else {
125
+ var waitForServer = function() {
126
+ if (server.httpServer) {
127
+ if (server.httpServer.listening) {
128
+ startMetro().catch(function(err) {
129
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
130
+ });
131
+ } else {
132
+ server.httpServer.on("listening", function() {
133
+ startMetro().catch(function(err) {
134
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
135
+ });
136
+ });
137
+ }
138
+ } else {
139
+ setTimeout(waitForServer, 10);
140
+ }
141
+ };
142
+ waitForServer();
143
+ }
144
+ } else {
145
+ debug === null || debug === void 0 ? void 0 : debug("Metro lazy startup enabled - will start on first native request");
146
+ }
147
+ server.middlewares.use(async function(req, res, next) {
148
+ var _req_headers_useragent, _req_headers_useragent1, _req_url;
149
+ var isNativeRequest = ((_req_headers_useragent = req.headers["user-agent"]) === null || _req_headers_useragent === void 0 ? void 0 : _req_headers_useragent.includes("CFNetwork/")) || ((_req_headers_useragent1 = req.headers["user-agent"]) === null || _req_headers_useragent1 === void 0 ? void 0 : _req_headers_useragent1.includes("okhttp/"));
150
+ if (isLazyStartup && !metroReady) {
151
+ var _req_url1;
152
+ if (((_req_url1 = req.url) === null || _req_url1 === void 0 ? void 0 : _req_url1.includes(".bundle")) || req.url === "/status" && isNativeRequest) {
153
+ ensureMetroStarted();
154
+ }
155
+ }
156
+ if (req.url === "/status" && isNativeRequest) {
157
+ res.statusCode = 200;
158
+ res.end("packager-status:running");
159
+ return;
160
+ }
161
+ if (((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes(".bundle")) && !metroReady) {
162
+ await metroPromise;
163
+ }
164
+ if (middleware) {
165
+ if (shouldLetViteServe(req.url)) {
166
+ return next();
167
+ }
168
+ try {
169
+ var _req_url2;
170
+ if ((_req_url2 = req.url) === null || _req_url2 === void 0 ? void 0 : _req_url2.includes(".bundle")) {
171
+ var VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
172
+ if (VITE_METRO_DEBUG_BUNDLE) {
173
+ if (existsSync(VITE_METRO_DEBUG_BUNDLE)) {
174
+ debug === null || debug === void 0 ? void 0 : debug(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
175
+ var content = await readFile(VITE_METRO_DEBUG_BUNDLE, "utf-8");
176
+ res.setHeader("Content-Type", "application/javascript");
177
+ res.end(content);
178
+ return;
179
+ }
180
+ }
181
+ }
182
+ if (req.url === "/open-stack-frame" && req.method === "POST") {
183
+ var body = "";
184
+ req.on("data", function(chunk) {
185
+ body += chunk.toString();
186
+ });
187
+ req.on("end", function() {
188
+ try {
189
+ var frame = JSON.parse(body);
190
+ launchEditor(frame.file);
191
+ res.statusCode = 200;
192
+ res.end("Stack frame opened in editor");
193
+ } catch (e) {
194
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to parse stack frame: ${e}`);
195
+ res.statusCode = 400;
196
+ return res.end("Invalid stack frame JSON");
197
+ }
198
+ });
199
+ return;
200
+ }
201
+ await middleware(req, res, next);
202
+ } catch (error) {
203
+ debug === null || debug === void 0 ? void 0 : debug(`Metro middleware error: ${error}`);
204
+ next();
205
+ }
206
+ } else {
207
+ next();
208
+ }
209
+ });
210
+ }
211
+ };
240
212
  }
213
+
241
214
  export { metroPlugin };
242
215
  //# sourceMappingURL=metroPlugin.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","readFile","isAbsolute","relative","resolve","launchEditor","createDebugger","createMessageSocket","checkAndClearMetroCacheFromVite","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","debug","metroPlugin","options","arguments","length","globalThis","name","configureServer","server","projectRoot","config","root","shouldLetViteServe","url","pathname","URL","unused","_url_split_","split","startsWith","endsWith","decodedPathname","decodeURIComponent","filePath","slice","relativePath","isInsideRoot","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve2","reject","startMetro","metroStartTime","Date","now","_server_httpServer","logger","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","metroResult","createConnectMiddleware","watch","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","unstable_experiments","enableStandaloneFuseboxShell","process","env","NODE_ENV","websocketServer","httpServer","on","request","socket","head","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","_req_headers_useragent","_req_headers_useragent1","_req_url","isNativeRequest","includes","_req_url1","statusCode","end","_req_url2","VITE_METRO_DEBUG_BUNDLE","content","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"metroPlugin.native.js","names":[],"sources":["esm/plugins/metroPlugin.native.js"],"sourcesContent":["import { existsSync } from \"fs\";\nimport { readFile } from \"fs/promises\";\nimport { isAbsolute, relative, resolve } from \"path\";\nimport launchEditor from \"launch-editor\";\nimport { createDebugger } from \"@vxrn/debug\";\nimport { createMessageSocket } from \"@vxrn/utils\";\nimport { checkAndClearMetroCacheFromVite } from \"../utils/metroCacheManager\";\nimport { projectImport } from \"../utils/projectImport\";\nimport { getMetroConfigFromViteConfig } from \"../metro-config/getMetroConfigFromViteConfig\";\nimport { patchMetroServerWithViteConfigAndMetroPluginOptions } from \"../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions\";\nvar { debug } = createDebugger(\"vite-plugin-metro\");\nfunction metroPlugin() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n globalThis[\"__viteMetroPluginOptions__\"] = options;\n return {\n name: \"metro\",\n // configResolved(config) {\n // projectRoot = config.root\n // },\n configureServer(server) {\n var projectRoot = resolve(server.config.root);\n var shouldLetViteServe = function(url) {\n if (!url) return false;\n var pathname = \"\";\n try {\n pathname = new URL(url, \"http://localhost\").pathname;\n } catch (unused) {\n var _url_split_;\n pathname = (_url_split_ = url.split(\"?\")[0]) !== null && _url_split_ !== void 0 ? _url_split_ : \"\";\n }\n if (!pathname.startsWith(\"/assets/\")) return false;\n if (pathname.endsWith(\"_vxrn_loader.js\")) return true;\n var decodedPathname = pathname;\n try {\n decodedPathname = decodeURIComponent(pathname);\n } catch (unused) {\n }\n var filePath = resolve(projectRoot, decodedPathname.slice(1));\n var relativePath = relative(projectRoot, filePath);\n var isInsideRoot = relativePath !== \"\" && !relativePath.startsWith(\"..\") && !isAbsolute(relativePath);\n return isInsideRoot && existsSync(filePath);\n };\n var metroReady = false;\n var middleware;\n var metroServer;\n var hmrServer;\n var websocketEndpoints;\n var rnDevtoolsMiddleware;\n var metroPromise;\n var metroPromiseResolvers;\n metroPromise = new Promise(function(resolve2, reject) {\n metroPromiseResolvers = {\n resolve: resolve2,\n reject\n };\n });\n var startMetro = async function() {\n var metroStartTime = Date.now();\n try {\n var _server_httpServer;\n checkAndClearMetroCacheFromVite(server, server.config.logger);\n var { default: Metro } = await projectImport(projectRoot, \"metro\");\n var { default: MetroHmrServer } = await projectImport(projectRoot, \"metro/private/HmrServer\");\n var { default: createWebsocketServer } = await projectImport(projectRoot, \"metro/private/lib/createWebsocketServer\");\n var { createDevMiddleware } = await projectImport(projectRoot, \"@react-native/dev-middleware\");\n var config = await getMetroConfigFromViteConfig(server.config, options);\n var metroResult = await Metro.createConnectMiddleware(config, {\n // Force enable file watching, even on CI.\n // This is needed for HMR tests to work on CI.\n watch: true\n });\n middleware = metroResult.middleware;\n metroServer = metroResult.metroServer;\n patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);\n hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);\n var reactNativeDevToolsUrl = `http://${typeof server.config.server.host === \"boolean\" ? \"localhost\" : server.config.server.host}:${server.config.server.port}`;\n var devMiddleware = createDevMiddleware({\n serverBaseUrl: reactNativeDevToolsUrl,\n logger: console,\n unstable_experiments: {\n // rn 0.86 turns this on by default and prepares the standalone debugger\n // shell eagerly while building the middleware. its tool launcher throws\n // outright under NODE_ENV=test rather than spawn a gui, which would take\n // the whole dev server down on boot for anyone running tests against it.\n enableStandaloneFuseboxShell: process.env.NODE_ENV !== \"test\"\n }\n });\n rnDevtoolsMiddleware = devMiddleware.middleware;\n websocketEndpoints = {\n \"/hot\": createWebsocketServer({\n websocketServer: hmrServer\n }),\n // metro parity: the packager message socket (metro serves /message via\n // @react-native-community/cli-server-api). leaving the upgrade unanswered\n // dangles the socket and chromium queues every later websocket handshake\n // to the same host:port behind it (blocking e.g. zero /sync in sootsim).\n \"/message\": createMessageSocket(),\n ...devMiddleware.websocketEndpoints\n };\n (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on(\"upgrade\", function(request, socket, head) {\n var pathname = new URL(request.url, `http://${request.headers.host}`).pathname;\n var endpoint = websocketEndpoints[pathname];\n if (endpoint) {\n endpoint.handleUpgrade(request, socket, head, function(ws) {\n endpoint.emit(\"connection\", ws, request);\n });\n }\n });\n server.middlewares.use(rnDevtoolsMiddleware);\n metroReady = true;\n var metroElapsed = Date.now() - metroStartTime;\n debug === null || debug === void 0 ? void 0 : debug(`Metro bundler ready (${metroElapsed}ms)`);\n metroPromiseResolvers.resolve();\n } catch (err) {\n debug === null || debug === void 0 ? void 0 : debug(`Error during Metro initialization: ${err}`);\n metroPromiseResolvers.reject(err);\n throw err;\n }\n };\n var isLazyStartup = options.startup === \"lazy\";\n var metroStarting = false;\n var ensureMetroStarted = function() {\n if (metroStarting || metroReady) return;\n metroStarting = true;\n debug === null || debug === void 0 ? void 0 : debug(\"Starting Metro on-demand (lazy startup)\");\n startMetro().catch(function(err) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);\n });\n };\n if (!isLazyStartup) {\n if (server.httpServer) {\n if (server.httpServer.listening) {\n startMetro().catch(function(err) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);\n });\n } else {\n server.httpServer.on(\"listening\", function() {\n startMetro().catch(function(err) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);\n });\n });\n }\n } else {\n var waitForServer = function() {\n if (server.httpServer) {\n if (server.httpServer.listening) {\n startMetro().catch(function(err) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);\n });\n } else {\n server.httpServer.on(\"listening\", function() {\n startMetro().catch(function(err) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);\n });\n });\n }\n } else {\n setTimeout(waitForServer, 10);\n }\n };\n waitForServer();\n }\n } else {\n debug === null || debug === void 0 ? void 0 : debug(\"Metro lazy startup enabled - will start on first native request\");\n }\n server.middlewares.use(async function(req, res, next) {\n var _req_headers_useragent, _req_headers_useragent1, _req_url;\n var isNativeRequest = ((_req_headers_useragent = req.headers[\"user-agent\"]) === null || _req_headers_useragent === void 0 ? void 0 : _req_headers_useragent.includes(\"CFNetwork/\")) || ((_req_headers_useragent1 = req.headers[\"user-agent\"]) === null || _req_headers_useragent1 === void 0 ? void 0 : _req_headers_useragent1.includes(\"okhttp/\"));\n if (isLazyStartup && !metroReady) {\n var _req_url1;\n if (((_req_url1 = req.url) === null || _req_url1 === void 0 ? void 0 : _req_url1.includes(\".bundle\")) || req.url === \"/status\" && isNativeRequest) {\n ensureMetroStarted();\n }\n }\n if (req.url === \"/status\" && isNativeRequest) {\n res.statusCode = 200;\n res.end(\"packager-status:running\");\n return;\n }\n if (((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes(\".bundle\")) && !metroReady) {\n await metroPromise;\n }\n if (middleware) {\n if (shouldLetViteServe(req.url)) {\n return next();\n }\n try {\n var _req_url2;\n if ((_req_url2 = req.url) === null || _req_url2 === void 0 ? void 0 : _req_url2.includes(\".bundle\")) {\n var VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;\n if (VITE_METRO_DEBUG_BUNDLE) {\n if (existsSync(VITE_METRO_DEBUG_BUNDLE)) {\n debug === null || debug === void 0 ? void 0 : debug(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);\n var content = await readFile(VITE_METRO_DEBUG_BUNDLE, \"utf-8\");\n res.setHeader(\"Content-Type\", \"application/javascript\");\n res.end(content);\n return;\n }\n }\n }\n if (req.url === \"/open-stack-frame\" && req.method === \"POST\") {\n var body = \"\";\n req.on(\"data\", function(chunk) {\n body += chunk.toString();\n });\n req.on(\"end\", function() {\n try {\n var frame = JSON.parse(body);\n launchEditor(frame.file);\n res.statusCode = 200;\n res.end(\"Stack frame opened in editor\");\n } catch (e) {\n debug === null || debug === void 0 ? void 0 : debug(`Failed to parse stack frame: ${e}`);\n res.statusCode = 400;\n return res.end(\"Invalid stack frame JSON\");\n }\n });\n return;\n }\n await middleware(req, res, next);\n } catch (error) {\n debug === null || debug === void 0 ? void 0 : debug(`Metro middleware error: ${error}`);\n next();\n }\n } else {\n next();\n }\n });\n }\n };\n}\nexport {\n metroPlugin\n};\n//# sourceMappingURL=metroPlugin.js.map\n"],"mappings":"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"}
@@ -1,51 +1,51 @@
1
1
  import assetPathUtils from "./assetPathUtils.mjs";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
+
4
5
  function cleanAssetCatalog(catalogDir) {
5
- const files = fs.readdirSync(catalogDir).filter(file => file.endsWith(".imageset"));
6
- for (const file of files) {
7
- fs.rmSync(path.join(catalogDir, file), {
8
- recursive: true,
9
- force: true
10
- });
11
- }
6
+ const files = fs.readdirSync(catalogDir).filter((file) => file.endsWith(".imageset"));
7
+ for (const file of files) {
8
+ fs.rmSync(path.join(catalogDir, file), {
9
+ recursive: true,
10
+ force: true
11
+ });
12
+ }
12
13
  }
13
14
  function getImageSet(catalogDir, asset, scales) {
14
- const fileName = assetPathUtils.getResourceIdentifier(asset);
15
- return {
16
- basePath: path.join(catalogDir, `${fileName}.imageset`),
17
- files: scales.map((scale, idx) => {
18
- const suffix = scale === 1 ? "" : `@${scale}x`;
19
- return {
20
- name: `${fileName + suffix}.${asset.type}`,
21
- scale,
22
- src: asset.files[idx]
23
- };
24
- })
25
- };
15
+ const fileName = assetPathUtils.getResourceIdentifier(asset);
16
+ return {
17
+ basePath: path.join(catalogDir, `${fileName}.imageset`),
18
+ files: scales.map((scale, idx) => {
19
+ const suffix = scale === 1 ? "" : `@${scale}x`;
20
+ return {
21
+ name: `${fileName + suffix}.${asset.type}`,
22
+ scale,
23
+ src: asset.files[idx]
24
+ };
25
+ })
26
+ };
26
27
  }
27
28
  function isCatalogAsset(asset) {
28
- return asset.type === "png" || asset.type === "jpg" || asset.type === "jpeg";
29
+ return asset.type === "png" || asset.type === "jpg" || asset.type === "jpeg";
29
30
  }
30
31
  function writeImageSet(imageSet) {
31
- fs.mkdirSync(imageSet.basePath, {
32
- recursive: true
33
- });
34
- for (const file of imageSet.files) {
35
- const dest = path.join(imageSet.basePath, file.name);
36
- fs.copyFileSync(file.src, dest);
37
- }
38
- fs.writeFileSync(path.join(imageSet.basePath, "Contents.json"), JSON.stringify({
39
- images: imageSet.files.map(file => ({
40
- filename: file.name,
41
- idiom: "universal",
42
- scale: `${file.scale}x`
43
- })),
44
- info: {
45
- author: "xcode",
46
- version: 1
47
- }
48
- }));
32
+ fs.mkdirSync(imageSet.basePath, { recursive: true });
33
+ for (const file of imageSet.files) {
34
+ const dest = path.join(imageSet.basePath, file.name);
35
+ fs.copyFileSync(file.src, dest);
36
+ }
37
+ fs.writeFileSync(path.join(imageSet.basePath, "Contents.json"), JSON.stringify({
38
+ images: imageSet.files.map((file) => ({
39
+ filename: file.name,
40
+ idiom: "universal",
41
+ scale: `${file.scale}x`
42
+ })),
43
+ info: {
44
+ author: "xcode",
45
+ version: 1
46
+ }
47
+ }));
49
48
  }
49
+
50
50
  export { cleanAssetCatalog, getImageSet, isCatalogAsset, writeImageSet };
51
51
  //# sourceMappingURL=assetCatalogIOS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["assetPathUtils","fs","path","cleanAssetCatalog","catalogDir","files","readdirSync","filter","file","endsWith","rmSync","join","recursive","force","getImageSet","asset","scales","fileName","getResourceIdentifier","basePath","map","scale","idx","suffix","name","type","src","isCatalogAsset","writeImageSet","imageSet","mkdirSync","dest","copyFileSync","writeFileSync","JSON","stringify","images","filename","idiom","info","author","version"],"sources":["../../../../src/rn-commands/bundle/assetCatalogIOS.ts"],"sourcesContent":[null],"mappings":"AASA,OAAOA,cAAA,MAAoB;AAC3B,OAAOC,EAAA,MAAQ;AACf,OAAOC,IAAA,MAAU;AAEV,SAASC,kBAAkBC,UAAA,EAA0B;EAC1D,MAAMC,KAAA,GAAQJ,EAAA,CAAGK,WAAA,CAAYF,UAAU,EAAEG,MAAA,CAAQC,IAAA,IAASA,IAAA,CAAKC,QAAA,CAAS,WAAW,CAAC;EACpF,WAAWD,IAAA,IAAQH,KAAA,EAAO;IACxBJ,EAAA,CAAGS,MAAA,CAAOR,IAAA,CAAKS,IAAA,CAAKP,UAAA,EAAYI,IAAI,GAAG;MAAEI,SAAA,EAAW;MAAMC,KAAA,EAAO;IAAK,CAAC;EACzE;AACF;AAOO,SAASC,YACdV,UAAA,EACAW,KAAA,EACAC,MAAA,EACU;EACV,MAAMC,QAAA,GAAWjB,cAAA,CAAekB,qBAAA,CAAsBH,KAAK;EAC3D,OAAO;IACLI,QAAA,EAAUjB,IAAA,CAAKS,IAAA,CAAKP,UAAA,EAAY,GAAGa,QAAQ,WAAW;IACtDZ,KAAA,EAAOW,MAAA,CAAOI,GAAA,CAAI,CAACC,KAAA,EAAOC,GAAA,KAAQ;MAChC,MAAMC,MAAA,GAASF,KAAA,KAAU,IAAI,KAAK,IAAIA,KAAK;MAC3C,OAAO;QACLG,IAAA,EAAM,GAAGP,QAAA,GAAWM,MAAM,IAAIR,KAAA,CAAMU,IAAI;QACxCJ,KAAA;QACAK,GAAA,EAAKX,KAAA,CAAMV,KAAA,CAAMiB,GAAG;MACtB;IACF,CAAC;EACH;AACF;AAEO,SAASK,eAAeZ,KAAA,EAA2B;EACxD,OAAOA,KAAA,CAAMU,IAAA,KAAS,SAASV,KAAA,CAAMU,IAAA,KAAS,SAASV,KAAA,CAAMU,IAAA,KAAS;AACxE;AAEO,SAASG,cAAcC,QAAA,EAA0B;EACtD5B,EAAA,CAAG6B,SAAA,CAAUD,QAAA,CAASV,QAAA,EAAU;IAAEP,SAAA,EAAW;EAAK,CAAC;EAEnD,WAAWJ,IAAA,IAAQqB,QAAA,CAASxB,KAAA,EAAO;IACjC,MAAM0B,IAAA,GAAO7B,IAAA,CAAKS,IAAA,CAAKkB,QAAA,CAASV,QAAA,EAAUX,IAAA,CAAKgB,IAAI;IACnDvB,EAAA,CAAG+B,YAAA,CAAaxB,IAAA,CAAKkB,GAAA,EAAKK,IAAI;EAChC;EAEA9B,EAAA,CAAGgC,aAAA,CACD/B,IAAA,CAAKS,IAAA,CAAKkB,QAAA,CAASV,QAAA,EAAU,eAAe,GAC5Ce,IAAA,CAAKC,SAAA,CAAU;IACbC,MAAA,EAAQP,QAAA,CAASxB,KAAA,CAAMe,GAAA,CAAKZ,IAAA,KAAU;MACpC6B,QAAA,EAAU7B,IAAA,CAAKgB,IAAA;MACfc,KAAA,EAAO;MACPjB,KAAA,EAAO,GAAGb,IAAA,CAAKa,KAAK;IACtB,EAAE;IACFkB,IAAA,EAAM;MACJC,MAAA,EAAQ;MACRC,OAAA,EAAS;IACX;EACF,CAAC,CACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"assetCatalogIOS.js","names":[],"sources":["esm/rn-commands/bundle/assetCatalogIOS.js"],"sourcesContent":["import assetPathUtils from \"./assetPathUtils\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nfunction cleanAssetCatalog(catalogDir) {\n const files = fs.readdirSync(catalogDir).filter((file) => file.endsWith(\".imageset\"));\n for (const file of files) {\n fs.rmSync(path.join(catalogDir, file), { recursive: true, force: true });\n }\n}\nfunction getImageSet(catalogDir, asset, scales) {\n const fileName = assetPathUtils.getResourceIdentifier(asset);\n return {\n basePath: path.join(catalogDir, `${fileName}.imageset`),\n files: scales.map((scale, idx) => {\n const suffix = scale === 1 ? \"\" : `@${scale}x`;\n return {\n name: `${fileName + suffix}.${asset.type}`,\n scale,\n src: asset.files[idx]\n };\n })\n };\n}\nfunction isCatalogAsset(asset) {\n return asset.type === \"png\" || asset.type === \"jpg\" || asset.type === \"jpeg\";\n}\nfunction writeImageSet(imageSet) {\n fs.mkdirSync(imageSet.basePath, { recursive: true });\n for (const file of imageSet.files) {\n const dest = path.join(imageSet.basePath, file.name);\n fs.copyFileSync(file.src, dest);\n }\n fs.writeFileSync(\n path.join(imageSet.basePath, \"Contents.json\"),\n JSON.stringify({\n images: imageSet.files.map((file) => ({\n filename: file.name,\n idiom: \"universal\",\n scale: `${file.scale}x`\n })),\n info: {\n author: \"xcode\",\n version: 1\n }\n })\n );\n}\nexport {\n cleanAssetCatalog,\n getImageSet,\n isCatalogAsset,\n writeImageSet\n};\n//# sourceMappingURL=assetCatalogIOS.js.map\n"],"mappings":";;;;;AAGA,SAAS,kBAAkB,YAAY;CACrC,MAAM,QAAQ,GAAG,YAAY,UAAU,CAAC,CAAC,QAAQ,SAAS,KAAK,SAAS,WAAW,CAAC;CACpF,KAAK,MAAM,QAAQ,OAAO;EACxB,GAAG,OAAO,KAAK,KAAK,YAAY,IAAI,GAAG;GAAE,WAAW;GAAM,OAAO;EAAK,CAAC;CACzE;AACF;AACA,SAAS,YAAY,YAAY,OAAO,QAAQ;CAC9C,MAAM,WAAW,eAAe,sBAAsB,KAAK;CAC3D,OAAO;EACL,UAAU,KAAK,KAAK,YAAY,GAAG,SAAS,UAAU;EACtD,OAAO,OAAO,KAAK,OAAO,QAAQ;GAChC,MAAM,SAAS,UAAU,IAAI,KAAK,IAAI,MAAM;GAC5C,OAAO;IACL,MAAM,GAAG,WAAW,OAAO,GAAG,MAAM;IACpC;IACA,KAAK,MAAM,MAAM;GACnB;EACF,CAAC;CACH;AACF;AACA,SAAS,eAAe,OAAO;CAC7B,OAAO,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS;AACxE;AACA,SAAS,cAAc,UAAU;CAC/B,GAAG,UAAU,SAAS,UAAU,EAAE,WAAW,KAAK,CAAC;CACnD,KAAK,MAAM,QAAQ,SAAS,OAAO;EACjC,MAAM,OAAO,KAAK,KAAK,SAAS,UAAU,KAAK,IAAI;EACnD,GAAG,aAAa,KAAK,KAAK,IAAI;CAChC;CACA,GAAG,cACD,KAAK,KAAK,SAAS,UAAU,eAAe,GAC5C,KAAK,UAAU;EACb,QAAQ,SAAS,MAAM,KAAK,UAAU;GACpC,UAAU,KAAK;GACf,OAAO;GACP,OAAO,GAAG,KAAK,MAAM;EACvB,EAAE;EACF,MAAM;GACJ,QAAQ;GACR,SAAS;EACX;CACF,CAAC,CACH;AACF"}