@vxrn/vite-plugin-metro 1.25.5 → 1.25.7

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 (259) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +130 -0
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +138 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -0
  4. package/dist/cjs/env/platformEnv.cjs +76 -0
  5. package/dist/cjs/env/platformEnv.native.js +98 -0
  6. package/dist/cjs/env/platformEnv.native.js.map +1 -0
  7. package/dist/cjs/index.cjs +41 -0
  8. package/dist/cjs/index.native.js +44 -0
  9. package/dist/cjs/index.native.js.map +1 -0
  10. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +62 -0
  11. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +109 -0
  12. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -0
  13. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +270 -0
  14. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +284 -0
  15. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -0
  16. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +55 -0
  17. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +59 -0
  18. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -0
  19. package/dist/cjs/metro-config/types.cjs +18 -0
  20. package/dist/cjs/metro-config/types.native.js +21 -0
  21. package/dist/cjs/metro-config/types.native.js.map +1 -0
  22. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +71 -0
  23. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +82 -0
  24. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  25. package/dist/cjs/plugins/metroPlugin.cjs +272 -0
  26. package/dist/cjs/plugins/metroPlugin.native.js +281 -0
  27. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -0
  28. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +90 -0
  29. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +135 -0
  30. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -0
  31. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +74 -0
  32. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +77 -0
  33. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -0
  34. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +62 -0
  35. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +67 -0
  36. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -0
  37. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +87 -0
  38. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +94 -0
  39. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -0
  40. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +51 -0
  41. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +75 -0
  42. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -0
  43. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +46 -0
  44. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +49 -0
  45. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -0
  46. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +49 -0
  47. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +52 -0
  48. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -0
  49. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +45 -0
  50. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +48 -0
  51. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -0
  52. package/dist/cjs/rn-commands/bundle/index.cjs +30 -0
  53. package/dist/cjs/rn-commands/bundle/index.native.js +33 -0
  54. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -0
  55. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +121 -0
  56. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +143 -0
  57. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -0
  58. package/dist/cjs/rn-commands/bundle/types.cjs +18 -0
  59. package/dist/cjs/rn-commands/bundle/types.native.js +21 -0
  60. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -0
  61. package/dist/cjs/rn-commands/index.cjs +39 -0
  62. package/dist/cjs/rn-commands/index.native.js +42 -0
  63. package/dist/cjs/rn-commands/index.native.js.map +1 -0
  64. package/dist/cjs/transformer/babel-core.cjs +30 -0
  65. package/dist/cjs/transformer/babel-core.native.js +33 -0
  66. package/dist/cjs/transformer/babel-core.native.js.map +1 -0
  67. package/dist/cjs/transformer/babel-transformer.cjs +176 -0
  68. package/dist/cjs/transformer/babel-transformer.native.js +186 -0
  69. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -0
  70. package/dist/cjs/transformer/loadBabelConfig.cjs +64 -0
  71. package/dist/cjs/transformer/loadBabelConfig.native.js +70 -0
  72. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -0
  73. package/dist/cjs/transformer/transformSync.cjs +85 -0
  74. package/dist/cjs/transformer/transformSync.native.js +91 -0
  75. package/dist/cjs/transformer/transformSync.native.js.map +1 -0
  76. package/dist/cjs/transformer/transformSync.test.cjs +36 -0
  77. package/dist/cjs/transformer/transformSync.test.native.js +49 -0
  78. package/dist/cjs/transformer/transformSync.test.native.js.map +1 -0
  79. package/dist/cjs/transformer/types.cjs +18 -0
  80. package/dist/cjs/transformer/types.native.js +21 -0
  81. package/dist/cjs/transformer/types.native.js.map +1 -0
  82. package/dist/cjs/utils/exit.cjs +174 -0
  83. package/dist/cjs/utils/exit.native.js +281 -0
  84. package/dist/cjs/utils/exit.native.js.map +1 -0
  85. package/dist/cjs/utils/getTerminalReporter.cjs +64 -0
  86. package/dist/cjs/utils/getTerminalReporter.native.js +70 -0
  87. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -0
  88. package/dist/cjs/utils/metroCacheManager.cjs +125 -0
  89. package/dist/cjs/utils/metroCacheManager.native.js +148 -0
  90. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -0
  91. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +39 -0
  92. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +42 -0
  93. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
  94. package/dist/cjs/utils/projectImport.cjs +72 -0
  95. package/dist/cjs/utils/projectImport.native.js +83 -0
  96. package/dist/cjs/utils/projectImport.native.js.map +1 -0
  97. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +93 -0
  98. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -0
  99. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +98 -0
  100. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -0
  101. package/dist/esm/env/platformEnv.mjs +49 -0
  102. package/dist/esm/env/platformEnv.mjs.map +1 -0
  103. package/dist/esm/env/platformEnv.native.js +68 -0
  104. package/dist/esm/env/platformEnv.native.js.map +1 -0
  105. package/dist/esm/index.js +8 -0
  106. package/dist/esm/index.js.map +1 -0
  107. package/dist/esm/index.mjs +8 -0
  108. package/dist/esm/index.mjs.map +1 -0
  109. package/dist/esm/index.native.js +8 -0
  110. package/dist/esm/index.native.js.map +1 -0
  111. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +37 -0
  112. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -0
  113. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +81 -0
  114. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -0
  115. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +233 -0
  116. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -0
  117. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +244 -0
  118. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -0
  119. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +30 -0
  120. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -0
  121. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +31 -0
  122. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -0
  123. package/dist/esm/metro-config/types.mjs +2 -0
  124. package/dist/esm/metro-config/types.mjs.map +1 -0
  125. package/dist/esm/metro-config/types.native.js +2 -0
  126. package/dist/esm/metro-config/types.native.js.map +1 -0
  127. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +46 -0
  128. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
  129. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +54 -0
  130. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  131. package/dist/esm/plugins/metroPlugin.mjs +236 -0
  132. package/dist/esm/plugins/metroPlugin.mjs.map +1 -0
  133. package/dist/esm/plugins/metroPlugin.native.js +242 -0
  134. package/dist/esm/plugins/metroPlugin.native.js.map +1 -0
  135. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +51 -0
  136. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -0
  137. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +93 -0
  138. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -0
  139. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +49 -0
  140. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -0
  141. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +49 -0
  142. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -0
  143. package/dist/esm/rn-commands/bundle/buildBundle.mjs +37 -0
  144. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -0
  145. package/dist/esm/rn-commands/bundle/buildBundle.native.js +39 -0
  146. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -0
  147. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +51 -0
  148. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -0
  149. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +55 -0
  150. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -0
  151. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +26 -0
  152. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -0
  153. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +47 -0
  154. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -0
  155. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +10 -0
  156. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -0
  157. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +10 -0
  158. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -0
  159. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +13 -0
  160. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -0
  161. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +13 -0
  162. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -0
  163. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +20 -0
  164. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -0
  165. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +20 -0
  166. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -0
  167. package/dist/esm/rn-commands/bundle/index.mjs +4 -0
  168. package/dist/esm/rn-commands/bundle/index.mjs.map +1 -0
  169. package/dist/esm/rn-commands/bundle/index.native.js +4 -0
  170. package/dist/esm/rn-commands/bundle/index.native.js.map +1 -0
  171. package/dist/esm/rn-commands/bundle/saveAssets.mjs +85 -0
  172. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -0
  173. package/dist/esm/rn-commands/bundle/saveAssets.native.js +104 -0
  174. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -0
  175. package/dist/esm/rn-commands/bundle/types.mjs +2 -0
  176. package/dist/esm/rn-commands/bundle/types.mjs.map +1 -0
  177. package/dist/esm/rn-commands/bundle/types.native.js +2 -0
  178. package/dist/esm/rn-commands/bundle/types.native.js.map +1 -0
  179. package/dist/esm/rn-commands/index.mjs +3 -0
  180. package/dist/esm/rn-commands/index.mjs.map +1 -0
  181. package/dist/esm/rn-commands/index.native.js +3 -0
  182. package/dist/esm/rn-commands/index.native.js.map +1 -0
  183. package/dist/esm/transformer/babel-core.mjs +3 -0
  184. package/dist/esm/transformer/babel-core.mjs.map +1 -0
  185. package/dist/esm/transformer/babel-core.native.js +3 -0
  186. package/dist/esm/transformer/babel-core.native.js.map +1 -0
  187. package/dist/esm/transformer/babel-transformer.mjs +148 -0
  188. package/dist/esm/transformer/babel-transformer.mjs.map +1 -0
  189. package/dist/esm/transformer/babel-transformer.native.js +160 -0
  190. package/dist/esm/transformer/babel-transformer.native.js.map +1 -0
  191. package/dist/esm/transformer/loadBabelConfig.mjs +28 -0
  192. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -0
  193. package/dist/esm/transformer/loadBabelConfig.native.js +31 -0
  194. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -0
  195. package/dist/esm/transformer/transformSync.mjs +49 -0
  196. package/dist/esm/transformer/transformSync.mjs.map +1 -0
  197. package/dist/esm/transformer/transformSync.native.js +52 -0
  198. package/dist/esm/transformer/transformSync.native.js.map +1 -0
  199. package/dist/esm/transformer/transformSync.test.mjs +37 -0
  200. package/dist/esm/transformer/transformSync.test.mjs.map +1 -0
  201. package/dist/esm/transformer/transformSync.test.native.js +47 -0
  202. package/dist/esm/transformer/transformSync.test.native.js.map +1 -0
  203. package/dist/esm/transformer/types.mjs +2 -0
  204. package/dist/esm/transformer/types.mjs.map +1 -0
  205. package/dist/esm/transformer/types.native.js +2 -0
  206. package/dist/esm/transformer/types.native.js.map +1 -0
  207. package/dist/esm/utils/exit.mjs +135 -0
  208. package/dist/esm/utils/exit.mjs.map +1 -0
  209. package/dist/esm/utils/exit.native.js +239 -0
  210. package/dist/esm/utils/exit.native.js.map +1 -0
  211. package/dist/esm/utils/getTerminalReporter.mjs +28 -0
  212. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -0
  213. package/dist/esm/utils/getTerminalReporter.native.js +31 -0
  214. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -0
  215. package/dist/esm/utils/metroCacheManager.mjs +100 -0
  216. package/dist/esm/utils/metroCacheManager.mjs.map +1 -0
  217. package/dist/esm/utils/metroCacheManager.native.js +120 -0
  218. package/dist/esm/utils/metroCacheManager.native.js.map +1 -0
  219. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +14 -0
  220. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -0
  221. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +14 -0
  222. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
  223. package/dist/esm/utils/projectImport.mjs +34 -0
  224. package/dist/esm/utils/projectImport.mjs.map +1 -0
  225. package/dist/esm/utils/projectImport.native.js +42 -0
  226. package/dist/esm/utils/projectImport.native.js.map +1 -0
  227. package/package.json +3 -3
  228. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -0
  229. package/types/env/platformEnv.d.ts.map +1 -0
  230. package/types/index.d.ts.map +1 -0
  231. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -0
  232. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -0
  233. package/types/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts.map +1 -0
  234. package/types/metro-config/types.d.ts.map +1 -0
  235. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
  236. package/types/plugins/metroPlugin.d.ts.map +1 -0
  237. package/types/rn-commands/bundle/assetCatalogIOS.d.ts.map +1 -0
  238. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -0
  239. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -0
  240. package/types/rn-commands/bundle/buildBundleWithConfig.d.ts.map +1 -0
  241. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -0
  242. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -0
  243. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -0
  244. package/types/rn-commands/bundle/getBuildBundleFn.d.ts.map +1 -0
  245. package/types/rn-commands/bundle/index.d.ts.map +1 -0
  246. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -0
  247. package/types/rn-commands/bundle/types.d.ts.map +1 -0
  248. package/types/rn-commands/index.d.ts.map +1 -0
  249. package/types/transformer/babel-core.d.ts.map +1 -0
  250. package/types/transformer/babel-transformer.d.ts.map +1 -0
  251. package/types/transformer/loadBabelConfig.d.ts.map +1 -0
  252. package/types/transformer/transformSync.d.ts.map +1 -0
  253. package/types/transformer/transformSync.test.d.ts.map +1 -0
  254. package/types/transformer/types.d.ts.map +1 -0
  255. package/types/utils/exit.d.ts.map +1 -0
  256. package/types/utils/getTerminalReporter.d.ts.map +1 -0
  257. package/types/utils/metroCacheManager.d.ts.map +1 -0
  258. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +1 -0
  259. package/types/utils/projectImport.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getMetroConfigFromViteConfig_exports","__export","buildMetroConfigInputFromViteConfig","getMetroConfigFromViteConfig","module","exports","import_child_process","require","import_path","import_micromatch","__toESM","import_projectImport","import_getTerminalReporter","import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","WATCHMAN_PROBE_TIMEOUT_MS","watchmanResponsivePromises","Map","didWarnAboutWatchmanFallback","rootIndexBundleRequestPattern","getPlatformFromBundleUrl","url","_url_match","platform","match","rewriteMainModuleBundleUrl","resolveMainModuleName","resolvedMainModulePath","includes","replace","isWatchmanResponsive","projectRoot","probe","get","Promise","resolve2","settled","finish","resolve","clearTimeout","timeout","child","spawn","stdio","setTimeout","kill","once","code","set","config","metroPluginOptions","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","console","warn","getDefaultConfig","projectImport","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","p","pkg","main","getResolveMainModuleName","test","existingBlockList","resolver","blockList","buildOutputExclusions","Array","isArray","defaultConfig","sourceExts","resolveRequest","context","moduleName","_defaultConfig_resolver2","origResolveRequestFn","length","isMatch","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","projectResolve","reporter","getTerminalReporter","merged","loadConfig","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oCAAA;AAAAC,QAAA,CAAAD,oCAAA;EAAAE,mCAAA,EAAAA,CAAA,KAAAA,mCAAA;EAAAC,4BAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAV,YAAA,CAAAK,oCAAsB;AACtB,IAAAM,oBAAwB,GAAAC,OAAA;AACxB,IAAAC,WAAA,GAAAD,OAAuB;AAQvB,IAAAE,iBAAA,GAAAC,OAA8C,CAAAH,OAAA;AAC9C,IAAAI,oBAAA,GAAAJ,OAAoC;AACpC,IAAAK,0BAAA,GAAAL,OAAA;AAMA,IAAAM,mEAAkC,GAAAN,OAAA;AAClC,IAAAO,yBAAM,MAA6B;AACnC,IAAIC,0BAAA,kBAA+B,IAAAC,GAAA;AACnC,IAAAC,4BAAM,QAAgC;AAEtC,IAAAC,6BAAS,GAAyB,+CAAgC;AAChE,SAAMC,wBAAqBA,CAAAC,GAAA;EAC3B,IAAAC,UAAO;EACT,IAAAC,QAAA,IAAAD,UAAA,GAAAD,GAAA,CAAAG,KAAA,mDAAAF,UAAA,uBAAAA,UAAA;EAEA,OAASC,QAAA,0BAEP;AAEA;AAAqD,SACnDE,0BAAUA,CAAAJ,GAAyB,EAAAK,qBAAG;EACxC,IAACC,sBAAA,GAAAD,qBAAA;IAEDH,QAAQ,EAAAH,wBAAS,CAAAC,GAAA;EACf;EACF,IAAAA,GAAA,CAAAO,QAAA;IAEA,OAAOP,GAAI,CAAAQ,OAAQ,+BAA+BF,sBAAM;EAC1D;EAEA,OAAAN,GAAA,CAAAQ,OAAe,CAAAV,6BAA0C,QAAAQ,sBAAA;AACvD;AACA,eAAWG,qBAAAC,WAAA;EACT,IAAAC,KAAO,GAAAhB,0BAAA,CAAAiB,GAAA,CAAAF,WAAA;EACT,IAAAC,KAAA;IAEA,OAAQA,KAAI;EACV;EAEAA,KAAA,GAAM,IAAAE,OAAU,WAAmBC,QAAA;IACjC,IAAAC,OAAI,GAAS;IACb,IAAAC,MAAA,GAAU,SAAAA,CAAArC,KAAA;MACV,IAAAoC,OAAA,EAAa;MACbE,OAAA,GAAQ,IAAK;MACfC,YAAA,CAAAC,OAAA;MAEAL,QAAM,CAAAnC,KAAA;IAA0D;IAEhE,IAACyC,KAAA,OAAAlC,oBAAA,CAAAmC,KAAA,eAED,eAAgB,EACdX,WAAW,CACX;MACFY,KAAG;IAEH;IACE,IAAAH,OAAO,GAAKI,UAAA;MACbH,KAAA,CAAAI,IAAA;MAEDR,MAAM,MAAK;IACT,GAAAtB,yBAAiB;IACnB0B,KAAC,CAAAK,IAAA;MACFT,MAAA;IAED;IACAI,KAAO,CAAAK,IAAA,mBAAAC,IAAA;MACTV,MAAA,CAAAU,IAAA;IAUA;EAIE;EACA/B,0BAAoB,CAAAgC,GAAA,CAAAjB,WAAA,EAAAC,KAAA,CAAQ;EAC5B,OAAMA,KAAE;AAER;AAEA,eAAI7B,mCAA2CA,CAAA8C,MAAA,EAAAC,kBAA8B;EAC3E,IAAAC,IAAA;EACA,IAAAC,wBAAQ,EAAAC,uBAAA;EAAA,IACNC,WAAA;EAAA,IACFvB,WAAA,OAAAtB,WAAA,CAAA6B,OAAA,GAAAa,IAAA,IAAAC,wBAAA,GAAAF,kBAAA,CAAAK,IAAA,cAAAH,wBAAA,uBAAAA,wBAAA,CAAArB,WAAA,cAAAoB,IAAA,cAAAA,IAAA,GAAAF,MAAA,CAAAO,IAAA;EACF;IAAAC,cAAA;IAAAC,sBAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAV,kBAAA;EAEA,IAAAW,WAAQ,GAAAF,QAAiB,KAAI,QAAMA,QAAA,cAAAA,QAAA,SAEhC7B,oBAAa,CAAAC,WAAoB;EAEpC,IAAA4B,QAAM,WAAmC,KAAAE,WAAA,IAAiB,CAAA3C,4BAAW;IAErEA,4BAAoB;IAClB4C,OAAM,CAAAC,IAAA,4FAAgD;EAEtD;EAEI;IAAAC;EAAM,cAAApD,oBACE,CAAAqD,aAAA,EAAAlC,WAAA;EAAA,IAAAmC,cACJ,GAAAF,gBAAA,CAAAjC,WAAA;EAAA,IAAA0B,cACA;IAAA,IACFU,qBACQ,GAAAD,cAAA,CAAAE,MAAA,CAAAC,iBAAA;IAEV,IAAA3C,qBAAM,2BAAgC;MAAA,IACpC4C,+BAAA,cAAA1D,oBAAA,CAAAqD,aAAA,EAAAlC,WAAA,qFAAAwC,OAAA,CAAAD,+BAAA;MAAA,IACCE,yBAAA,OAAAF,+BAAA,CAAAvC,WAAA;MACH,IAAAjB,mEAAA,CAAA2D,4DAAA,EAAAD,yBAAA,EAAAf,cAAA;MAEA,iBAAAiB,CAAA;QACE,OAAAF,yBAAA,CAAA9C,qBAAA;UACAiD,GAAA;YACFC,IAAA,EAAAnB;UAEA;UACElC,QAAO,EAAAmD,CAAA,CAAAnD;QAAgD,EACrD;MAA4B;IAChB,GACd;IAAC+B,WACH,CAAAuB,wBAAA,GAAAnD,qBAAA;IACFwC,cAAG,CAAAE,MAAA,CAAAC,iBAAA,aAAAhD,GAAA;MAEL,IAAAA,GAAA,CAAAO,QAAY,sCAA2B,KAAAT,6BAAA,CAAA2D,IAAA,CAAAzD,GAAA;QAGvC,OAAAI,0BAAwB,CAAAJ,GAAA,EAAqBK,qBAAQ;MACnD;MAIE,OAAAyC,qBAAO,CAAA9C,GAAA;IAAqD;EAE9D;EAAgC,IAClC0D,iBAAA,GAAAb,cAAA,aAAAA,cAAA,wBAAAb,uBAAA,GAAAa,cAAA,CAAAc,QAAA,cAAA3B,uBAAA,uBAAAA,uBAAA,CAAA4B,SAAA;EACF,IAAAC,qBAAA,IAEA,4CAA0C,EAC1C,4CAA8B,EAC5B,4BACA;EACA,IACAD,SAAA,IACF,IAAAF,iBAAA,GAAAI,KAAA,CAAAC,OAAA,CAAAL,iBAAA,IAAAA,iBAAA,IACAA,iBAA4B,CAC1B,GAAI,KAKJ,GAAGG,qBAAA,CACL;EAEA,IAAAG,aAAM;IACJ,GAAGnB,cAAA;IACHc,QAAA,EAAU;MACR,IAAGd,cAAA,KAAgB,QAAAA,cAAA,uBAAAA,cAAA,CAAAc,QAAA;MACnBnB,WAAA;MACAoB,SAAA;MACAK,UAAA,EAAY,CAA+C,MAC3D,OACE,MAAM,EAGN,IAAI,EACF,OACE,OAAO,MACL;MACA;MACAC,cACF,WAAAA,CAAAC,OAAA,EAAAC,UAAA,EAAAlE,QAAA;QAAA,IACFmE,wBAAA;QACF,IAAAC,oBAAA,IAAAzB,cAAA,aAAAA,cAAA,wBAAAwB,wBAAA,GAAAxB,cAAA,CAAAc,QAAA,cAAAU,wBAAA,uBAAAA,wBAAA,CAAAH,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAIA,IAAI3B,cAAW,IAAAA,cAAW,CAAAgC,MAAgB,GAAG;UAC3C,IAAAlF,iBAAM,CAAA6D,OAAkB,CAAAsB,OAAA,CAAAJ,UAAA,EAAA7B,cAAA;YACtB,OAAG+B,oBAAA,CAAAH,OAAA,mCAAAjE,QAAA;UAAA;QACsD;QAC1C,IACfkE,UAAA,CAAAK,UAAA;UACF,IAAAC,eAAA;YACA,GAAAP,OAAO;YACTQ,uBAAA,EAAAR,OAAA,CAAAQ,uBAAA,CAAAC,MAAA,WAAAC,CAAA;cAEA,OAAOA,CAAA;YACT;UACF;UACA,OAAaP,oBAAA,CAAAI,eAAA,EAAAN,UAAA,EAAAlE,QAAA;QACX;QACA,OAAAoE,oBAAsB,CAAAH,OAAA,EAAAC,UAAA,EAAAlE,QAAA;MAAA;IACpB;IACA4E,WACF;MACF,IAAAjC,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAAiC,WAAA;MACAC,oBAAgB,MAAAxF,oBAAA,CAAAyF,cAAA,EAAAtE,WAAoB,6CAAW;IACjD;IAEAuE,QAAM,QAAS,IAAAzF,0BAAA,CAAA0F,mBAAA,EAAAxE,WAAA;EAAA;EACV,IACHyE,MAAI,GAAO;IAGb,GAAAnB,aAAA;IAEA,WAAS3B,sBAAuB,eAAa,GAAAA,sBAAY,CAAA2B,aAAA,IAAA3B,sBAAA;EAC3D;EAEA;IAIE2B,aAAM,EAAAmB,MAA4B;IAIlCzE,WAAM;IACNuB;EAEA;AAEA;AACE,eAAAlD,4BAA+BA,CAAA6C,MAAA,EAAAC,kBAAA;EAC/B,IAAAC,IAAA;EAAQ,IACNC,wBAAA,EAAAC,uBAAA;EAAA,IACFC,WAAA;EACF,IAAAvB,WAAA,OAAAtB,WAAA,CAAA6B,OAAA,GAAAa,IAAA,IAAAC,wBAAA,GAAAF,kBAAA,CAAAK,IAAA,cAAAH,wBAAA,uBAAAA,wBAAA,CAAArB,WAAA,cAAAoB,IAAA,cAAAA,IAAA,GAAAF,MAAA,CAAAO,IAAA;EAEA;IAAMC,cAAa;IAAAF,IAAI;IAAAG,sBAAM;IAAAC,QAAA;IAAAC;EAE1B,IAAAV,kBAAoB;EACvB,IAAAW,WAAQ,GAAAF,QAAiB,KAAI,QAAMA,QAAA,cAAAA,QAAA,SAEhC7B,oBAAa,CAAAC,WAAoB;EAEpC,IAAA4B,QAAM,WAAmC,KAAAE,WAAA,IAAiB,CAAA3C,4BAAW;IAErEA,4BAAoB;IAClB4C,OAAM,CAAAC,IAAA,4FAAgD;EAQtD;EAEI;IAAA0C;EAAM,cAAA7F,oBACJ,CAAAqD,aAAM,EAAAlC,WAAA;EAAA;IACJiC;EAAA,cAAApD,oBAAA,CAAAqD,aAAA,EAAAlC,WAAA;EAAA,IAAAmC,cACA,GAAAF,gBAAA,CAAAjC,WAAA;EAAA,IACF0B,cACQ;IAEV,IAAAU,qBAAM,GAAAD,cAAgC,CAAAE,MAAA,CAAAC,iBAAA;IAAA,IACpC3C,qBAAA;MAAA,IACC4C,+BAAA,cAAA1D,oBAAA,CAAAqD,aAAA,EAAAlC,WAAA,qFAAAwC,OAAA,CAAAD,+BAAA;MACH,IAAAE,yBAAA,OAAAF,+BAAA,CAAAvC,WAAA;MAEA,IAAAjB,mEAAA,CAAA2D,4DAAA,EAAAD,yBAAA,EAAAf,cAAA;MAAA,OACE,UAAAiB,CAAA;QACA,OAAAF,yBAAA,CAAA9C,qBAAA;UACFiD,GAAA;YAEAC,IAAQ,EAAAnB;UACN;UACElC,QAAO,EAAAmD,CAAA,CAAAnD;QAAqB,EAC5B;MAAY;IACb,EACH;IACF+B,WAAG,CAAAuB,wBAAA,GAAAnD,qBAAA;IAELwC,cAAY,CAAAE,MAAA,CAAAC,iBAA2B,aAAAhD,GAAA;MAGvC,IAAAA,GAAA,CAAAO,QAAgB,sCAAqC,KAAAT,6BAAA,CAAA2D,IAAA,CAAAzD,GAAA;QACnD,OACMI,0BAAS,CAAAJ,GAAA,EAAAK,qBACb;MAEA;MACF,OAAAyC,qBAAA,CAAA9C,GAAA;IAEA;EAAgC;EAEpC,IAAA0D,iBAAA,GAAAb,cAAA,aAAAA,cAAA,wBAAAb,uBAAA,GAAAa,cAAA,CAAAc,QAAA,cAAA3B,uBAAA,uBAAAA,uBAAA,CAAA4B,SAAA;EAMA,IAAAC,qBAAM,GAAoB,CAC1B,4CAA8B,EAC5B,8CACA,4BACA;EAEF,IAAAD,SAAA,IACA,IAAAF,iBAA4B,GAAAI,KAAA,CAAAC,OAAA,CAAAL,iBAAA,IAAAA,iBAAA,IAC1BA,iBAAI,CAKJ,GAAG,KACL,GAAAG,qBAAA,CAEA;EAAwC,IACtCG,aAAG;IACH,GAAAnB,cAAU;IAAAc,QACL;MACH,IAAAd,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAAc,QAAA;MACAnB,WAAA;MACAoB,SAAA;MAA2DK,UAAA,GAC3D,MACE,OAIA,MAAI,EACF,MACE,OAAO,OACL,MACA;MACA;MACFC,cACF,WAAAA,CAAAC,OAAA,EAAAC,UAAA,EAAAlE,QAAA;QACF,IAAAmE,wBAAA;QAWA,IAAIC,oBAAW,GAAW,CAAAzB,cAAgB,KAAG,QAAAA,cAAA,wBAAAwB,wBAAA,GAAAxB,cAAA,CAAAc,QAAA,cAAAU,wBAAA,uBAAAA,wBAAA,CAAAH,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAC3C,IAAA3B,cAAM,IAAAA,cAAkB,CAAAgC,MAAA;UAAA,IACtBlF,iBAAG,CAAA6D,OAAA,CAAAsB,OAAA,CAAAJ,UAAA,EAAA7B,cAAA;YACH,OAAA+B,oBAAyB,CAAAH,OAAQ,iCAAwB,EAAAjE,QAAA;UAAA;QAC1C;QACf,IACFkE,UAAA,CAAAK,UAAA;UACA,IAAAC,eAAO;YACT,GAAAP,OAAA;YAEAQ,uBAAO,EAAqBR,OAAA,CAASQ,uBAAoB,CAAAC,MAAA,WAAAC,CAAA;cAC3D,OAAAA,CAAA;YACF;UACA;UACK,OAAAP,oBAAgB,CAAAI,eAAA,EAAAN,UAAA,EAAAlE,QAAA;QACnB;QACE,OAAAoE,oBAAA,CAAAH,OAAA,EAAAC,UAAA,EAAAlE,QAAA;MAAA;IACA;IAEJ4E,WAAA;MACA,IAAAjC,cAAU,KAAM,QAAAA,cAAA,uBAAoBA,cAAW,CAAAiC,WAAA;MACjDC,oBAAA,MAAAxF,oBAAA,CAAAyF,cAAA,EAAAtE,WAAA;IAEA;IACEuE,QAAA,YAAAzF,0BAAA,CAAA0F,mBAAA,EAAAxE,WAAA;EAAA;EACO,IACL2E,WAAA,SAAAD,UAAA;IAAAE,GACA,EAAA5E,WAAA;IAA6BA,WAC1B;IACL,iBAAA6E,OAAA,CAAAC,GAAA,CAAAC,iBAAA;IACA,GAAAvD;EAAA;IACK,GACH8B,aAAW;IAGb,WAAA3B,sBAAA,kBAAAA,sBAAA,CAAA2B,aAAA,IAAA3B,sBAAA;EACF;EAEA,OAAO;IACL,GAAGgD,WAAA;IACH,GAAGpD;EACL;AACF","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var patchMetroServerWithViteConfigAndMetroPluginOptions_exports = {};
24
+ __export(patchMetroServerWithViteConfigAndMetroPluginOptions_exports, {
25
+ patchMetroServerWithViteConfigAndMetroPluginOptions: () => patchMetroServerWithViteConfigAndMetroPluginOptions
26
+ });
27
+ module.exports = __toCommonJS(patchMetroServerWithViteConfigAndMetroPluginOptions_exports);
28
+ var import_getMetroBabelConfigFromViteConfig = require("./getMetroBabelConfigFromViteConfig.cjs");
29
+ function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
30
+ const originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
31
+ const defaultBabelConfig = (0, import_getMetroBabelConfigFromViteConfig.getMetroBabelConfigFromViteConfig)(config);
32
+ metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => {
33
+ let babelConfig = {
34
+ ...defaultBabelConfig,
35
+ ...options.babelConfig,
36
+ plugins: [...(defaultBabelConfig.plugins || []), ...(options.babelConfig?.plugins || [])]
37
+ };
38
+ if (options.babelConfigOverrides) {
39
+ babelConfig = options.babelConfigOverrides(babelConfig);
40
+ }
41
+ const viteCustomTransformOptions = {
42
+ // config: server.config,
43
+ babelConfig,
44
+ oneViteMetroBabelConfig: options.oneViteMetroBabelConfig
45
+ };
46
+ return originalTransformFile(filePath, {
47
+ ...transformOptions,
48
+ customTransformOptions: {
49
+ ...transformOptions.customTransformOptions,
50
+ // Pass into our own babel-transformer
51
+ vite: viteCustomTransformOptions
52
+ }
53
+ }, fileBuffer);
54
+ };
55
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
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;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var patchMetroServerWithViteConfigAndMetroPluginOptions_exports = {};
26
+ __export(patchMetroServerWithViteConfigAndMetroPluginOptions_exports, {
27
+ patchMetroServerWithViteConfigAndMetroPluginOptions: () => patchMetroServerWithViteConfigAndMetroPluginOptions
28
+ });
29
+ module.exports = __toCommonJS(patchMetroServerWithViteConfigAndMetroPluginOptions_exports);
30
+ var import_getMetroBabelConfigFromViteConfig = require("./getMetroBabelConfigFromViteConfig.native.js");
31
+ function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
32
+ var originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
33
+ var defaultBabelConfig = (0, import_getMetroBabelConfigFromViteConfig.getMetroBabelConfigFromViteConfig)(config);
34
+ metroServer.getBundler().getBundler().transformFile = async function (filePath, transformOptions, fileBuffer) {
35
+ var _options_babelConfig;
36
+ var babelConfig = {
37
+ ...defaultBabelConfig,
38
+ ...options.babelConfig,
39
+ plugins: [...(defaultBabelConfig.plugins || []), ...(((_options_babelConfig = options.babelConfig) === null || _options_babelConfig === void 0 ? void 0 : _options_babelConfig.plugins) || [])]
40
+ };
41
+ if (options.babelConfigOverrides) {
42
+ babelConfig = options.babelConfigOverrides(babelConfig);
43
+ }
44
+ var viteCustomTransformOptions = {
45
+ // config: server.config,
46
+ babelConfig,
47
+ oneViteMetroBabelConfig: options.oneViteMetroBabelConfig
48
+ };
49
+ return originalTransformFile(filePath, {
50
+ ...transformOptions,
51
+ customTransformOptions: {
52
+ ...transformOptions.customTransformOptions,
53
+ // Pass into our own babel-transformer
54
+ vite: viteCustomTransformOptions
55
+ }
56
+ }, fileBuffer);
57
+ };
58
+ }
59
+ //# sourceMappingURL=patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","patchMetroServerWithViteConfigAndMetroPluginOptions_exports","__export","patchMetroServerWithViteConfigAndMetroPluginOptions","module","exports","import_getMetroBabelConfigFromViteConfig","require","metroServer","config","options","originalTransformFile","getBundler","transformFile","bind","defaultBabelConfig","getMetroBabelConfigFromViteConfig","filePath","transformOptions","fileBuffer","_options_babelConfig","babelConfig","plugins","babelConfigOverrides","viteCustomTransformOptions","oneViteMetroBabelConfig","customTransformOptions","vite"],"sources":["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2DAAA;AAAAC,QAAA,CAAAD,2DAAA;EAAAE,mDAAA,EAAAA,CAAA,KAAAA;AAAA;AAKAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,2DAAkD;AAE3C,IAAAK,wCAAS,GAAAC,OAAA,gDAId;AAEA,SAAMJ,mDAEHA,CAAAK,WACA,EAAAC,MAAA,EAAAC,OAAmB;EAEtB,IAAAC,qBAAM,GAAAH,WAAqB,CAAAI,UAAA,GAAAA,UAAA,GAAAC,aAAA,CAAAC,IAAA,CAAAN,WAAA,CAAAI,UAAkC,GAAAA,UAAM;EAEnE,IAAAG,kBAAY,GAAa,IAAAT,wCACvB,CAAAU,iCAEA,EACGP,MAAA;EACHD,WAAI,CAAAI,UAAgC,GAAAA,UAAA,GAAAC,aAAA,mBAAAI,QAAA,EAAAC,gBAAA,EAAAC,UAAA;IAAA,IAClCC,oBAAG;IAAA,IACHC,WAAW;MACX,GAAAN,kBAAS;MAAA,GACPL,OAAI,CAAAW,WAAA;MAA+BC,OAC/B,GACN,IAAAP,kBAAA,CAAAO,OAAA,SACF,MAAAF,oBAAA,GAAAV,OAAA,CAAAW,WAAA,cAAAD,oBAAA,uBAAAA,oBAAA,CAAAE,OAAA;IAGE;IACF,IAAAZ,OAAA,CAAAa,oBAAA;MAEAF,WAAM,GAAAX,OAAA,CAAAa,oBAAyD,CAAAF,WAAA;IAAA;IAAA,IAE7DG,0BAAA;MACA;MACFH,WAAA;MACAI,uBAAO,EAAAf,OAAA,CAAAe;IAAA;IACL,OACAd,qBAAA,CAAAM,QAAA;MAAA,GACEC,gBAAG;MAAAQ,sBACH;QAAwB,GACtBR,gBAAG,CAAAQ,sBAAiB;QAAA;QAAAC,IAEpB,EAAAH;MAAM;IACR,GACFL,UAAA;EAAA;AACA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
15
+ value: true
16
+ }), mod);
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
17
+ value: true
18
+ }), mod);
19
+ var types_exports = {};
20
+ module.exports = __toCommonJS(types_exports);
21
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports"],"sources":["../../../src/metro-config/types.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var expoManifestRequestHandlerPlugin_exports = {};
24
+ __export(expoManifestRequestHandlerPlugin_exports, {
25
+ expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
26
+ });
27
+ module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
28
+ var import_node_path = require("node:path");
29
+ var import_node_tls = require("node:tls");
30
+ var import_projectImport = require("../utils/projectImport.cjs");
31
+ var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
32
+ function expoManifestRequestHandlerPlugin(options) {
33
+ return {
34
+ name: "expo-manifest-request-handler",
35
+ // configResolved(config) {
36
+ // projectRoot = config.root
37
+ // },
38
+ configureServer(server) {
39
+ const projectRoot = (0, import_node_path.resolve)(server.config.root);
40
+ let ExpoGoManifestHandlerMiddleware;
41
+ const importPromise = (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(mod => {
42
+ ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
43
+ });
44
+ server.middlewares.use(async (req, res, next) => {
45
+ if (!req.headers["expo-platform"]) {
46
+ return next();
47
+ }
48
+ if (!ExpoGoManifestHandlerMiddleware) {
49
+ await importPromise;
50
+ }
51
+ const protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http";
52
+ const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
53
+ constructUrl: ({
54
+ scheme,
55
+ hostname
56
+ }) => {
57
+ const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
58
+ if (!scheme) {
59
+ return host;
60
+ }
61
+ return `${protocol || scheme}://${host}`;
62
+ }
63
+ });
64
+ if (options?.mainModuleName) {
65
+ (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName);
66
+ }
67
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
68
+ });
69
+ }
70
+ };
71
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
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;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var expoManifestRequestHandlerPlugin_exports = {};
26
+ __export(expoManifestRequestHandlerPlugin_exports, {
27
+ expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
28
+ });
29
+ module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
30
+ var import_path = require("path");
31
+ var import_tls = require("tls");
32
+ var import_projectImport = require("../utils/projectImport.native.js");
33
+ var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js");
34
+ function _instanceof(left, right) {
35
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
36
+ return !!right[Symbol.hasInstance](left);
37
+ } else {
38
+ return left instanceof right;
39
+ }
40
+ }
41
+ function expoManifestRequestHandlerPlugin(options) {
42
+ return {
43
+ name: "expo-manifest-request-handler",
44
+ // configResolved(config) {
45
+ // projectRoot = config.root
46
+ // },
47
+ configureServer(server) {
48
+ var projectRoot = (0, import_path.resolve)(server.config.root);
49
+ var ExpoGoManifestHandlerMiddleware;
50
+ var importPromise = (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(function (mod) {
51
+ ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
52
+ });
53
+ server.middlewares.use(async function (req, res, next) {
54
+ if (!req.headers["expo-platform"]) {
55
+ return next();
56
+ }
57
+ if (!ExpoGoManifestHandlerMiddleware) {
58
+ await importPromise;
59
+ }
60
+ var protocol = _instanceof(req.socket, import_tls.TLSSocket) && req.socket.encrypted ? "https" : "http";
61
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
62
+ constructUrl: function (param) {
63
+ var {
64
+ scheme,
65
+ hostname
66
+ } = param;
67
+ var host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
68
+ if (!scheme) {
69
+ return host;
70
+ }
71
+ return `${protocol || scheme}://${host}`;
72
+ }
73
+ });
74
+ if (options === null || options === void 0 ? void 0 : options.mainModuleName) {
75
+ (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName);
76
+ }
77
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
78
+ });
79
+ }
80
+ };
81
+ }
82
+ //# sourceMappingURL=expoManifestRequestHandlerPlugin.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","expoManifestRequestHandlerPlugin_exports","__export","expoManifestRequestHandlerPlugin","module","exports","import_path","require","import_tls","import_projectImport","import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","_instanceof","left","right","Symbol","hasInstance","options","name","configureServer","server","projectRoot","resolve","config","root","ExpoGoManifestHandlerMiddleware","importPromise","projectImport","then","default","middlewares","use","req","res","next","headers","protocol","socket","TLSSocket","encrypted","manifestHandlerMiddleware","constructUrl","param","scheme","hostname","host","mainModuleName","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","handleRequestAsync"],"sources":["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wCAAA;AAAAC,QAAA,CAAAD,wCAAA;EAAAE,gCAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAwB,CAAAK,wCAAA;AACxB,IAAAK,WAAA,GAAAC,OAA0B;AAG1B,IAAAC,UAAA,GAAAD,OAAA,MAA8B;AAC9B,IAAAE,oBAAA,GAAAF,OAAA;AAcO,IAAAG,mEAES,GAAAH,OAAA;AAGd,SAAOI,YAAAC,IAAA,EAAAC,KAAA;EAAA,IACLA,KAAM,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAAA,SAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EAAA;IAAA,OAAAA,IAAA,YAAAC,KAAA;EAAA;AAMJ;AAGA,SAAAV,gCAAIA,CAAAa,OAAA;EACJ;IAAsBC,IACpB;IAAA;IACA;IAEA;IAA8CC,eAC/CA,CAAAC,MAAA;MAED,IAAAC,WAAO,IAAY,GAAAd,WAAW,CAAAe,OAAU,EAAAF,MAAS,CAAAG,MAAA,CAAAC,IAAA;MAC/C,IAAAC,+BAAgC;MAE9B,IAAAC,aAAY,OAAAhB,oBAAA,CAAAiB,aAAA,EAAAN,WAAA,oFAAAO,IAAA,WAAA9B,GAAA;QACd2B,+BAAA,GAAA3B,GAAA,CAAA+B,OAAA,CAAAJ,+BAAA;MAGA;MACEL,MAAA,CAAAU,WAAM,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QACR,KAAAF,GAAA,CAAAG,OAAA;UAEA,OAAMD,IAAA;QAGN;QAAsC,IACpC,CAAAT,+BAAA;UACA,MAAAC,aAAA;QAAA;QAGI,IAAAU,QAAM,GAAAxB,WAAW,CAAAoB,GAAA,CAAQK,MAAA,EAAA5B,UAAkB,CAAA6B,SAAS,KAAAN,GAAQ,CAAAK,MAAQ,CAAAE,SAAA;QAEpE,IAAAC,yBAAa,OAAAf,+BAAA,CAAAJ,WAAA;UAIXoB,YAAA,EAAO,SAAAA,CAAAC,KAAA;YAAA,IACT;cAAAC,MAAA;cAAAC;YAAA,IAAAF,KAAA;YAEA,IAAAG,IAAA,GAAOb,GAAG,CAAAG,OAAA,mBAA4B,KAAAH,GAAA,CAAAG,OAAA,CAAAU,IAAA,IAAAD,QAAA;YACxC,KAAAD,MAAA;cACF,OAAAE,IAAA;YACF;YAEI,UAAST,QAAA,IAAAO,MAAgB,MAAAE,IAAA;UAC3B;QAAA;QACE,IACA5B,OAAA,KAAQ,QAAAA,OAAA,uBAAAA,OAAA,CAAA6B,cAAA;UACV,IAAAnC,mEAAA,CAAAoC,4DAAA,EAAAP,yBAAA,EAAAvB,OAAA,CAAA6B,cAAA;QACF;QAGAN,yBAAA,CAA0BQ,kBAAA,CAAmBhB,GAAA,EAAKC,GAAA,EAAKC,IAAI;MAC7D,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,272 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
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;
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
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var metroPlugin_exports = {};
35
+ __export(metroPlugin_exports, {
36
+ metroPlugin: () => metroPlugin
37
+ });
38
+ module.exports = __toCommonJS(metroPlugin_exports);
39
+ var import_node_fs = require("node:fs");
40
+ var import_promises = require("node:fs/promises");
41
+ var import_node_path = require("node:path");
42
+ var import_launch_editor = __toESM(require("launch-editor"), 1);
43
+ var import_debug = require("@vxrn/debug");
44
+ var import_utils = require("@vxrn/utils");
45
+ var import_metroCacheManager = require("../utils/metroCacheManager.cjs");
46
+ var import_projectImport = require("../utils/projectImport.cjs");
47
+ var import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.cjs");
48
+ var import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs");
49
+ const {
50
+ debug
51
+ } = (0, import_debug.createDebugger)("vite-plugin-metro");
52
+ 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
+ }