@vxrn/vite-plugin-metro 1.25.5 → 1.25.6

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,244 @@
1
+ import { spawn } from "child_process";
2
+ import { resolve } from "path";
3
+ import micromatch from "micromatch";
4
+ import { projectImport, projectResolve } from "../utils/projectImport.native.js";
5
+ import { getTerminalReporter } from "../utils/getTerminalReporter.native.js";
6
+ import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
7
+ var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
8
+ var watchmanResponsivePromises = /* @__PURE__ */new Map();
9
+ var didWarnAboutWatchmanFallback = false;
10
+ var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
11
+ function getPlatformFromBundleUrl(url) {
12
+ var _url_match;
13
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
14
+ return platform === "android" ? "android" : "ios";
15
+ }
16
+ function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
17
+ var resolvedMainModulePath = resolveMainModuleName({
18
+ platform: getPlatformFromBundleUrl(url)
19
+ });
20
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
21
+ return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
22
+ }
23
+ return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);
24
+ }
25
+ async function isWatchmanResponsive(projectRoot) {
26
+ var probe = watchmanResponsivePromises.get(projectRoot);
27
+ if (probe) {
28
+ return probe;
29
+ }
30
+ probe = new Promise(function (resolve2) {
31
+ var settled = false;
32
+ var finish = function (value) {
33
+ if (settled) return;
34
+ settled = true;
35
+ clearTimeout(timeout);
36
+ resolve2(value);
37
+ };
38
+ var child = spawn("watchman", ["watch-project", projectRoot], {
39
+ stdio: "ignore"
40
+ });
41
+ var timeout = setTimeout(function () {
42
+ child.kill();
43
+ finish(false);
44
+ }, WATCHMAN_PROBE_TIMEOUT_MS);
45
+ child.once("error", function () {
46
+ finish(false);
47
+ });
48
+ child.once("exit", function (code) {
49
+ finish(code === 0);
50
+ });
51
+ });
52
+ watchmanResponsivePromises.set(projectRoot, probe);
53
+ return probe;
54
+ }
55
+ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
56
+ var _ref;
57
+ var _metroPluginOptions_argv, _defaultConfig_resolver;
58
+ var extraConfig = {};
59
+ var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
60
+ var {
61
+ mainModuleName,
62
+ defaultConfigOverrides,
63
+ watchman,
64
+ excludeModules
65
+ } = metroPluginOptions;
66
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
67
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
68
+ didWarnAboutWatchmanFallback = true;
69
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
70
+ }
71
+ var {
72
+ getDefaultConfig
73
+ } = await projectImport(projectRoot, "@expo/metro-config");
74
+ var _defaultConfig = getDefaultConfig(projectRoot);
75
+ if (mainModuleName) {
76
+ var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
77
+ var resolveMainModuleName = await async function () {
78
+ var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
79
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
80
+ patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
81
+ return function (p) {
82
+ return manifestHandlerMiddleware.resolveMainModuleName({
83
+ pkg: {
84
+ main: mainModuleName
85
+ },
86
+ platform: p.platform
87
+ });
88
+ };
89
+ }();
90
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
91
+ _defaultConfig.server.rewriteRequestUrl = function (url) {
92
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
93
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
94
+ }
95
+ return origRewriteRequestUrl(url);
96
+ };
97
+ }
98
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
99
+ var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
100
+ var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
101
+ var defaultConfig = {
102
+ ..._defaultConfig,
103
+ resolver: {
104
+ ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
105
+ useWatchman,
106
+ blockList,
107
+ sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
108
+ // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.
109
+ resolveRequest: function (context, moduleName, platform) {
110
+ var _defaultConfig_resolver2;
111
+ var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
112
+ if (excludeModules && excludeModules.length > 0) {
113
+ if (micromatch.isMatch(moduleName, excludeModules)) {
114
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
115
+ }
116
+ }
117
+ if (moduleName.startsWith("@babel/runtime")) {
118
+ var contextOverride = {
119
+ ...context,
120
+ unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
121
+ return c !== "import";
122
+ })
123
+ };
124
+ return origResolveRequestFn(contextOverride, moduleName, platform);
125
+ }
126
+ return origResolveRequestFn(context, moduleName, platform);
127
+ }
128
+ },
129
+ transformer: {
130
+ ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
131
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
132
+ },
133
+ reporter: await getTerminalReporter(projectRoot)
134
+ };
135
+ var merged = {
136
+ ...defaultConfig,
137
+ ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
138
+ };
139
+ return {
140
+ defaultConfig: merged,
141
+ projectRoot,
142
+ extraConfig
143
+ };
144
+ }
145
+ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
146
+ var _ref;
147
+ var _metroPluginOptions_argv, _defaultConfig_resolver;
148
+ var extraConfig = {};
149
+ var projectRoot = resolve((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
150
+ var {
151
+ mainModuleName,
152
+ argv,
153
+ defaultConfigOverrides,
154
+ watchman,
155
+ excludeModules
156
+ } = metroPluginOptions;
157
+ var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);
158
+ if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {
159
+ didWarnAboutWatchmanFallback = true;
160
+ console.warn("[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.");
161
+ }
162
+ var {
163
+ loadConfig
164
+ } = await projectImport(projectRoot, "metro");
165
+ var {
166
+ getDefaultConfig
167
+ } = await projectImport(projectRoot, "@expo/metro-config");
168
+ var _defaultConfig = getDefaultConfig(projectRoot);
169
+ if (mainModuleName) {
170
+ var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl;
171
+ var resolveMainModuleName = await async function () {
172
+ var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
173
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
174
+ patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName);
175
+ return function (p) {
176
+ return manifestHandlerMiddleware.resolveMainModuleName({
177
+ pkg: {
178
+ main: mainModuleName
179
+ },
180
+ platform: p.platform
181
+ });
182
+ };
183
+ }();
184
+ extraConfig.getResolveMainModuleName = resolveMainModuleName;
185
+ _defaultConfig.server.rewriteRequestUrl = function (url) {
186
+ if (url.includes("/.expo/.virtual-metro-entry.bundle?") || rootIndexBundleRequestPattern.test(url)) {
187
+ return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
188
+ }
189
+ return origRewriteRequestUrl(url);
190
+ };
191
+ }
192
+ var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
193
+ var buildOutputExclusions = [/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/, /[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/, /[/\\]\.docker(?:[/\\]|$)/, /[/\\]\.vite(?:[/\\]|$)/];
194
+ var blockList = [...(existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [existingBlockList] : []), ...buildOutputExclusions];
195
+ var defaultConfig = {
196
+ ..._defaultConfig,
197
+ resolver: {
198
+ ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver),
199
+ useWatchman,
200
+ blockList,
201
+ sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
202
+ // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
203
+ resolveRequest: function (context, moduleName, platform) {
204
+ var _defaultConfig_resolver2;
205
+ var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
206
+ if (excludeModules && excludeModules.length > 0) {
207
+ if (micromatch.isMatch(moduleName, excludeModules)) {
208
+ return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
209
+ }
210
+ }
211
+ if (moduleName.startsWith("@babel/runtime")) {
212
+ var contextOverride = {
213
+ ...context,
214
+ unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
215
+ return c !== "import";
216
+ })
217
+ };
218
+ return origResolveRequestFn(contextOverride, moduleName, platform);
219
+ }
220
+ return origResolveRequestFn(context, moduleName, platform);
221
+ }
222
+ },
223
+ transformer: {
224
+ ...(_defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer),
225
+ babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer")
226
+ },
227
+ reporter: await getTerminalReporter(projectRoot)
228
+ };
229
+ var metroConfig = await loadConfig({
230
+ cwd: projectRoot,
231
+ projectRoot,
232
+ "reset-cache": !!process.env.METRO_RESET_CACHE,
233
+ ...argv
234
+ }, {
235
+ ...defaultConfig,
236
+ ...(typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
237
+ });
238
+ return {
239
+ ...metroConfig,
240
+ ...extraConfig
241
+ };
242
+ }
243
+ export { buildMetroConfigInputFromViteConfig, getMetroConfigFromViteConfig };
244
+ //# sourceMappingURL=getMetroConfigFromViteConfig.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["spawn","resolve","micromatch","projectImport","projectResolve","getTerminalReporter","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","value","timeout","child","stdio","setTimeout","kill","once","code","set","buildMetroConfigInputFromViteConfig","config","metroPluginOptions","_ref","_metroPluginOptions_argv","_defaultConfig_resolver","extraConfig","argv","root","mainModuleName","defaultConfigOverrides","watchman","excludeModules","useWatchman","console","warn","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","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","reporter","merged","getMetroConfigFromViteConfig","loadConfig","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { getMetroBabelConfigFromViteConfig } from "./getMetroBabelConfigFromViteConfig.mjs";
2
+ function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
3
+ const originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
4
+ const defaultBabelConfig = getMetroBabelConfigFromViteConfig(config);
5
+ metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => {
6
+ let babelConfig = {
7
+ ...defaultBabelConfig,
8
+ ...options.babelConfig,
9
+ plugins: [...(defaultBabelConfig.plugins || []), ...(options.babelConfig?.plugins || [])]
10
+ };
11
+ if (options.babelConfigOverrides) {
12
+ babelConfig = options.babelConfigOverrides(babelConfig);
13
+ }
14
+ const viteCustomTransformOptions = {
15
+ // config: server.config,
16
+ babelConfig,
17
+ oneViteMetroBabelConfig: options.oneViteMetroBabelConfig
18
+ };
19
+ return originalTransformFile(filePath, {
20
+ ...transformOptions,
21
+ customTransformOptions: {
22
+ ...transformOptions.customTransformOptions,
23
+ // Pass into our own babel-transformer
24
+ vite: viteCustomTransformOptions
25
+ }
26
+ }, fileBuffer);
27
+ };
28
+ }
29
+ export { patchMetroServerWithViteConfigAndMetroPluginOptions };
30
+ //# sourceMappingURL=patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getMetroBabelConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroServer","config","options","originalTransformFile","getBundler","transformFile","bind","defaultBabelConfig","filePath","transformOptions","fileBuffer","babelConfig","plugins","babelConfigOverrides","viteCustomTransformOptions","oneViteMetroBabelConfig","customTransformOptions","vite"],"sources":["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,iCAAA,QAAyC;AAE3C,SAASC,oDACdC,WAAA,EACAC,MAAA,EACAC,OAAA,EACA;EAEA,MAAMC,qBAAA,GAAwBH,WAAA,CAC3BI,UAAA,CAAW,EACXA,UAAA,CAAW,EACXC,aAAA,CAAcC,IAAA,CAAKN,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,CAAC;EAE3D,MAAMG,kBAAA,GAAqBT,iCAAA,CAAkCG,MAAM;EAEnED,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,EAAEC,aAAA,GAAgB,OACpDG,QAAA,EACAC,gBAAA,EACAC,UAAA,KACG;IACH,IAAIC,WAAA,GAAgC;MAClC,GAAGJ,kBAAA;MACH,GAAGL,OAAA,CAAQS,WAAA;MACXC,OAAA,EAAS,CACP,IAAIL,kBAAA,CAAmBK,OAAA,IAAW,EAAC,GACnC,IAAIV,OAAA,CAAQS,WAAA,EAAaC,OAAA,IAAW,EAAC;IAEzC;IAEA,IAAIV,OAAA,CAAQW,oBAAA,EAAsB;MAChCF,WAAA,GAAcT,OAAA,CAAQW,oBAAA,CAAqBF,WAAW;IACxD;IAEA,MAAMG,0BAAA,GAAyD;MAAA;MAE7DH,WAAA;MACAI,uBAAA,EAAyBb,OAAA,CAAQa;IACnC;IACA,OAAOZ,qBAAA,CACLK,QAAA,EACA;MACE,GAAGC,gBAAA;MACHO,sBAAA,EAAwB;QACtB,GAAGP,gBAAA,CAAiBO,sBAAA;QAAA;QAEpBC,IAAA,EAAMH;MACR;IACF,GACAJ,UACF;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { getMetroBabelConfigFromViteConfig } from "./getMetroBabelConfigFromViteConfig.native.js";
2
+ function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
3
+ var originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
4
+ var defaultBabelConfig = getMetroBabelConfigFromViteConfig(config);
5
+ metroServer.getBundler().getBundler().transformFile = async function (filePath, transformOptions, fileBuffer) {
6
+ var _options_babelConfig;
7
+ var babelConfig = {
8
+ ...defaultBabelConfig,
9
+ ...options.babelConfig,
10
+ plugins: [...(defaultBabelConfig.plugins || []), ...(((_options_babelConfig = options.babelConfig) === null || _options_babelConfig === void 0 ? void 0 : _options_babelConfig.plugins) || [])]
11
+ };
12
+ if (options.babelConfigOverrides) {
13
+ babelConfig = options.babelConfigOverrides(babelConfig);
14
+ }
15
+ var viteCustomTransformOptions = {
16
+ // config: server.config,
17
+ babelConfig,
18
+ oneViteMetroBabelConfig: options.oneViteMetroBabelConfig
19
+ };
20
+ return originalTransformFile(filePath, {
21
+ ...transformOptions,
22
+ customTransformOptions: {
23
+ ...transformOptions.customTransformOptions,
24
+ // Pass into our own babel-transformer
25
+ vite: viteCustomTransformOptions
26
+ }
27
+ }, fileBuffer);
28
+ };
29
+ }
30
+ export { patchMetroServerWithViteConfigAndMetroPluginOptions };
31
+ //# sourceMappingURL=patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getMetroBabelConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroServer","config","options","originalTransformFile","getBundler","transformFile","bind","defaultBabelConfig","filePath","transformOptions","fileBuffer","_options_babelConfig","babelConfig","plugins","babelConfigOverrides","viteCustomTransformOptions","oneViteMetroBabelConfig","customTransformOptions","vite"],"sources":["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,iCAAA,QAAyC;AAE3C,SAASC,oDACdC,WAAA,EACAC,MAAA,EACAC,OAAA,EACA;EAEA,IAAAC,qBAAM,GAAAH,WAAwB,CAAAI,UAC3B,GAAWA,UACX,GAAWC,aACX,CAAAC,IAAc,CAAAN,WAAK,CAAAI,UAAY,GAAWA,UAAE,GAAW;EAE1D,IAAAG,kBAAM,GAAAT,iCAAqB,CAAAG,MAAkC;EAE7DD,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,EAAEC,aAAA,GAAgB,gBACpDG,QACA,EAAAC,gBACA,EAAAC,UACG;IACH,IAAIC,oBAAgC;IAAA,IAClCC,WAAG;MACH,GAAGL,kBAAQ;MACX,GAAAL,OAAS,CAAAU,WAAA;MAAAC,OACH,GACJ,IAAIN,kBAAQ,CAAAM,OAAa,MAAW,GACtC,MAAAF,oBAAA,GAAAT,OAAA,CAAAU,WAAA,cAAAD,oBAAA,uBAAAA,oBAAA,CAAAE,OAAA;IAGF;IACE,IAAAX,OAAA,CAAAY,oBAAsB;MACxBF,WAAA,GAAAV,OAAA,CAAAY,oBAAA,CAAAF,WAAA;IAEA;IAA+D,IAAAG,0BAAA;MAE7D;MACAH,WAAA;MACFI,uBAAA,EAAAd,OAAA,CAAAc;IACA;IAAO,OACLb,qBAAA,CAAAK,QAAA;MACA,GAAAC,gBAAA;MAAAQ,sBACK;QACH,GAAAR,gBAAA,CAAAQ,sBAAwB;QAAA;QACFC,IAAA,EAAAH;MAAA;IAEd,GAAAL,UACR;EAAA;AACF;AACA,SAEJX,mDAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import { resolve } from "node:path";
2
+ import { TLSSocket } from "node:tls";
3
+ import { projectImport } from "../utils/projectImport.mjs";
4
+ import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs";
5
+ function expoManifestRequestHandlerPlugin(options) {
6
+ return {
7
+ name: "expo-manifest-request-handler",
8
+ // configResolved(config) {
9
+ // projectRoot = config.root
10
+ // },
11
+ configureServer(server) {
12
+ const projectRoot = resolve(server.config.root);
13
+ let ExpoGoManifestHandlerMiddleware;
14
+ const importPromise = projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(mod => {
15
+ ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
16
+ });
17
+ server.middlewares.use(async (req, res, next) => {
18
+ if (!req.headers["expo-platform"]) {
19
+ return next();
20
+ }
21
+ if (!ExpoGoManifestHandlerMiddleware) {
22
+ await importPromise;
23
+ }
24
+ const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
25
+ const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
26
+ constructUrl: ({
27
+ scheme,
28
+ hostname
29
+ }) => {
30
+ const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
31
+ if (!scheme) {
32
+ return host;
33
+ }
34
+ return `${protocol || scheme}://${host}`;
35
+ }
36
+ });
37
+ if (options?.mainModuleName) {
38
+ patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, options.mainModuleName);
39
+ }
40
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
41
+ });
42
+ }
43
+ };
44
+ }
45
+ export { expoManifestRequestHandlerPlugin };
46
+ //# sourceMappingURL=expoManifestRequestHandlerPlugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolve","TLSSocket","projectImport","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","expoManifestRequestHandlerPlugin","options","name","configureServer","server","projectRoot","config","root","ExpoGoManifestHandlerMiddleware","importPromise","then","mod","default","middlewares","use","req","res","next","headers","protocol","socket","encrypted","manifestHandlerMiddleware","constructUrl","scheme","hostname","host","mainModuleName","handleRequestAsync"],"sources":["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,SAAA,QAAiB;AAG1B,SAASC,aAAA,QAAqB;AAC9B,SAASC,4DAAA,QAAoE;AActE,SAASC,iCACdC,OAAA,EACc;EAGd,OAAO;IACLC,IAAA,EAAM;IAAA;IAAA;IAAA;IAINC,gBAAgBC,MAAA,EAAQ;MAEtB,MAAMC,WAAA,GAAcT,OAAA,CAAQQ,MAAA,CAAOE,MAAA,CAAOC,IAAI;MAG9C,IAAIC,+BAAA;MACJ,MAAMC,aAAA,GAAgBX,aAAA,CACpBO,WAAA,EACA,gFACF,EAAEK,IAAA,CAAMC,GAAA,IAAQ;QACdH,+BAAA,GAAkCG,GAAA,CAAIC,OAAA,CAAQJ,+BAAA;MAChD,CAAC;MAEDJ,MAAA,CAAOS,WAAA,CAAYC,GAAA,CAAI,OAAOC,GAAA,EAAKC,GAAA,EAAKC,IAAA,KAAS;QAC/C,IAAI,CAACF,GAAA,CAAIG,OAAA,CAAQ,eAAe,GAAG;UAEjC,OAAOD,IAAA,CAAK;QACd;QAGA,IAAI,CAACT,+BAAA,EAAiC;UACpC,MAAMC,aAAA;QACR;QAEA,MAAMU,QAAA,GACJJ,GAAA,CAAIK,MAAA,YAAkBvB,SAAA,IAAakB,GAAA,CAAIK,MAAA,CAAOC,SAAA,GAAY,UAAU;QAEtE,MAAMC,yBAAA,GAA4B,IAAId,+BAAA,CACpCH,WAAA,EACA;UACEkB,YAAA,EAAcA,CAAC;YAAEC,MAAA;YAAQC;UAAS,MAAM;YAEtC,MAAMC,IAAA,GAAOX,GAAA,CAAIG,OAAA,CAAQ,kBAAkB,KAAKH,GAAA,CAAIG,OAAA,CAAQQ,IAAA,IAAQD,QAAA;YAEpE,IAAI,CAACD,MAAA,EAAQ;cAIX,OAAOE,IAAA;YACT;YAEA,OAAO,GAAGP,QAAA,IAAYK,MAAM,MAAME,IAAI;UACxC;QACF,CACF;QAEA,IAAIzB,OAAA,EAAS0B,cAAA,EAAgB;UAC3B5B,4DAAA,CACEuB,yBAAA,EACArB,OAAA,CAAQ0B,cACV;QACF;QAGAL,yBAAA,CAA0BM,kBAAA,CAAmBb,GAAA,EAAKC,GAAA,EAAKC,IAAI;MAC7D,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ import { resolve } from "path";
2
+ import { TLSSocket } from "tls";
3
+ import { projectImport } from "../utils/projectImport.native.js";
4
+ import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
5
+ function _instanceof(left, right) {
6
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
7
+ return !!right[Symbol.hasInstance](left);
8
+ } else {
9
+ return left instanceof right;
10
+ }
11
+ }
12
+ function expoManifestRequestHandlerPlugin(options) {
13
+ return {
14
+ name: "expo-manifest-request-handler",
15
+ // configResolved(config) {
16
+ // projectRoot = config.root
17
+ // },
18
+ configureServer(server) {
19
+ var projectRoot = resolve(server.config.root);
20
+ var ExpoGoManifestHandlerMiddleware;
21
+ var importPromise = projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(function (mod) {
22
+ ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
23
+ });
24
+ server.middlewares.use(async function (req, res, next) {
25
+ if (!req.headers["expo-platform"]) {
26
+ return next();
27
+ }
28
+ if (!ExpoGoManifestHandlerMiddleware) {
29
+ await importPromise;
30
+ }
31
+ var protocol = _instanceof(req.socket, TLSSocket) && req.socket.encrypted ? "https" : "http";
32
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
33
+ constructUrl: function (param) {
34
+ var {
35
+ scheme,
36
+ hostname
37
+ } = param;
38
+ var host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
39
+ if (!scheme) {
40
+ return host;
41
+ }
42
+ return `${protocol || scheme}://${host}`;
43
+ }
44
+ });
45
+ if (options === null || options === void 0 ? void 0 : options.mainModuleName) {
46
+ patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, options.mainModuleName);
47
+ }
48
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
49
+ });
50
+ }
51
+ };
52
+ }
53
+ export { expoManifestRequestHandlerPlugin };
54
+ //# sourceMappingURL=expoManifestRequestHandlerPlugin.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolve","TLSSocket","projectImport","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","_instanceof","left","right","Symbol","hasInstance","expoManifestRequestHandlerPlugin","options","name","configureServer","server","projectRoot","config","root","ExpoGoManifestHandlerMiddleware","importPromise","then","mod","default","middlewares","use","req","res","next","headers","protocol","socket","encrypted","manifestHandlerMiddleware","constructUrl","param","scheme","hostname","host","mainModuleName","handleRequestAsync"],"sources":["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,SAAA,QAAiB;AAG1B,SAASC,aAAA,QAAqB;AAC9B,SAASC,4DAAA,QAAoE;AActE,SAASC,YAAAC,IAAA,EAAAC,KAAA;EAKd,IAAAA,KAAO,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACL,OAAM,EAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EAAA;IAAA,OAAAA,IAAA,YAAAC,KAAA;EAAA;AAAA;AAMJ,SAAAG,gCAAmCA,CAAAC,OAAO;EAG1C;IACAC,IAAA,iCAAsB;IAAA;IACpB;IACA;IAEAC,gBAAAC,MAAA;MACF,IAACC,WAAA,GAAAd,OAAA,CAAAa,MAAA,CAAAE,MAAA,CAAAC,IAAA;MAED,IAAAC,+BAAmC;MACjC,IAAAC,aAAS,GAAQhB,aAAA,CAAeY,WAAG,oFAAAK,IAAA,WAAAC,GAAA;QAEjCH,+BAAY,GAAAG,GAAA,CAAAC,OAAA,CAAAJ,+BAAA;MAAA,EACd;MAGAJ,MAAI,CAACS,WAAA,CAAAC,GAAA,iBAAAC,GAAiC,EAAAC,GAAA,EAAAC,IAAA;QACpC,KAAAF,GAAM,CAAAG,OAAA;UACR,OAAAD,IAAA;QAEA;QAGA,KAAAT,+BAAkC,EAAI;UACpC,MAAAC,aAAA;QAAA;QACA,IACEU,QAAA,GAAAxB,WAAiB,CAAAoB,GAAQ,CAAAK,MAAA,EAAS5B,SAAM,KAAAuB,GAAA,CAAAK,MAAA,CAAAC,SAAA;QAEtC,IAAAC,yBAAiB,GAAQ,IAAAd,+BAAmC,CAAAH,WAAQ;UAEpEkB,YAAK,WAAAA,CAAQC,KAAA;YAIX;cAAAC,MAAO;cAAAC;YAAA,IAAAF,KAAA;YAAA,IACTG,IAAA,GAAAZ,GAAA,CAAAG,OAAA,wBAAAH,GAAA,CAAAG,OAAA,CAAAS,IAAA,IAAAD,QAAA;YAEA,KAAAD,MAAO,EAAG;cACZ,OAAAE,IAAA;YACF;YACF,UAAAR,QAAA,IAAAM,MAAA,MAAAE,IAAA;UAEA;QACE;QAAA,IACE1B,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAA2B,cAAA;UAAAlC,4DACQ,CAAA4B,yBAAA,EAAArB,OAAA,CAAA2B,cAAA;QAAA;QAEZN,yBAAA,CAAAO,kBAAA,CAAAd,GAAA,EAAAC,GAAA,EAAAC,IAAA;MAGA;IAA2D;EAC5D;AACH;AAEJ,S","ignoreList":[]}