vxrn 1.27.1 → 2.0.0-beta.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/dist/cli.mjs +212 -261
  2. package/dist/cli.mjs.map +1 -1
  3. package/dist/cli.native.js +216 -265
  4. package/dist/cli.native.js.map +1 -1
  5. package/dist/config/getAdditionalViteConfig.mjs +33 -62
  6. package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
  7. package/dist/config/getAdditionalViteConfig.native.js +33 -62
  8. package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
  9. package/dist/config/getBaseViteConfigOnly.mjs +84 -77
  10. package/dist/config/getBaseViteConfigOnly.mjs.map +1 -1
  11. package/dist/config/getBaseViteConfigOnly.native.js +86 -79
  12. package/dist/config/getBaseViteConfigOnly.native.js.map +1 -1
  13. package/dist/config/getBaseViteConfigWithPlugins.mjs +6 -4
  14. package/dist/config/getBaseViteConfigWithPlugins.mjs.map +1 -1
  15. package/dist/config/getBaseViteConfigWithPlugins.native.js +6 -4
  16. package/dist/config/getBaseViteConfigWithPlugins.native.js.map +1 -1
  17. package/dist/config/getBaseVitePlugins.mjs +102 -130
  18. package/dist/config/getBaseVitePlugins.mjs.map +1 -1
  19. package/dist/config/getBaseVitePlugins.native.js +123 -152
  20. package/dist/config/getBaseVitePlugins.native.js.map +1 -1
  21. package/dist/config/getNonCliModeOnlyVitePlugins.mjs +3 -3
  22. package/dist/config/getNonCliModeOnlyVitePlugins.mjs.map +1 -1
  23. package/dist/config/getNonCliModeOnlyVitePlugins.native.js +3 -1
  24. package/dist/config/getNonCliModeOnlyVitePlugins.native.js.map +1 -1
  25. package/dist/config/getOptimizeDeps.mjs +138 -42
  26. package/dist/config/getOptimizeDeps.mjs.map +1 -1
  27. package/dist/config/getOptimizeDeps.native.js +138 -42
  28. package/dist/config/getOptimizeDeps.native.js.map +1 -1
  29. package/dist/config/getOptionsFilled.mjs +48 -52
  30. package/dist/config/getOptionsFilled.mjs.map +1 -1
  31. package/dist/config/getOptionsFilled.native.js +51 -55
  32. package/dist/config/getOptionsFilled.native.js.map +1 -1
  33. package/dist/config/getReactNativePlugins.mjs +23 -15
  34. package/dist/config/getReactNativePlugins.mjs.map +1 -1
  35. package/dist/config/getReactNativePlugins.native.js +25 -16
  36. package/dist/config/getReactNativePlugins.native.js.map +1 -1
  37. package/dist/config/getServerOptionsFilled.mjs +33 -35
  38. package/dist/config/getServerOptionsFilled.mjs.map +1 -1
  39. package/dist/config/getServerOptionsFilled.native.js +35 -38
  40. package/dist/config/getServerOptionsFilled.native.js.map +1 -1
  41. package/dist/config/getViteServerConfig.mjs +34 -45
  42. package/dist/config/getViteServerConfig.mjs.map +1 -1
  43. package/dist/config/getViteServerConfig.native.js +35 -46
  44. package/dist/config/getViteServerConfig.native.js.map +1 -1
  45. package/dist/config/mergeUserConfig.mjs +50 -28
  46. package/dist/config/mergeUserConfig.mjs.map +1 -1
  47. package/dist/config/mergeUserConfig.native.js +60 -38
  48. package/dist/config/mergeUserConfig.native.js.map +1 -1
  49. package/dist/constants/defaults.mjs +29 -12
  50. package/dist/constants/defaults.mjs.map +1 -1
  51. package/dist/constants/defaults.native.js +29 -12
  52. package/dist/constants/defaults.native.js.map +1 -1
  53. package/dist/constants.mjs +41 -6
  54. package/dist/constants.mjs.map +1 -1
  55. package/dist/constants.native.js +41 -6
  56. package/dist/constants.native.js.map +1 -1
  57. package/dist/exports/build.mjs +218 -270
  58. package/dist/exports/build.mjs.map +1 -1
  59. package/dist/exports/build.native.js +226 -283
  60. package/dist/exports/build.native.js.map +1 -1
  61. package/dist/exports/clean.mjs +71 -78
  62. package/dist/exports/clean.mjs.map +1 -1
  63. package/dist/exports/clean.native.js +76 -90
  64. package/dist/exports/clean.native.js.map +1 -1
  65. package/dist/exports/createServer.mjs +43 -46
  66. package/dist/exports/createServer.mjs.map +1 -1
  67. package/dist/exports/createServer.native.js +45 -48
  68. package/dist/exports/createServer.native.js.map +1 -1
  69. package/dist/exports/dev.mjs +177 -201
  70. package/dist/exports/dev.mjs.map +1 -1
  71. package/dist/exports/dev.native.js +191 -215
  72. package/dist/exports/dev.native.js.map +1 -1
  73. package/dist/exports/loadEnv.mjs +51 -48
  74. package/dist/exports/loadEnv.mjs.map +1 -1
  75. package/dist/exports/loadEnv.native.js +59 -57
  76. package/dist/exports/loadEnv.native.js.map +1 -1
  77. package/dist/exports/patch.mjs +9 -7
  78. package/dist/exports/patch.mjs.map +1 -1
  79. package/dist/exports/patch.native.js +9 -7
  80. package/dist/exports/patch.native.js.map +1 -1
  81. package/dist/exports/prebuild.mjs +177 -157
  82. package/dist/exports/prebuild.mjs.map +1 -1
  83. package/dist/exports/prebuild.native.js +197 -160
  84. package/dist/exports/prebuild.native.js.map +1 -1
  85. package/dist/exports/prebuildWithoutExpo.mjs +46 -44
  86. package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
  87. package/dist/exports/prebuildWithoutExpo.native.js +48 -46
  88. package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
  89. package/dist/exports/runAndroid.mjs +9 -10
  90. package/dist/exports/runAndroid.mjs.map +1 -1
  91. package/dist/exports/runAndroid.native.js +10 -11
  92. package/dist/exports/runAndroid.native.js.map +1 -1
  93. package/dist/exports/runIos.mjs +9 -10
  94. package/dist/exports/runIos.mjs.map +1 -1
  95. package/dist/exports/runIos.native.js +10 -11
  96. package/dist/exports/runIos.native.js.map +1 -1
  97. package/dist/exports/serve.mjs +23 -31
  98. package/dist/exports/serve.mjs.map +1 -1
  99. package/dist/exports/serve.native.js +26 -34
  100. package/dist/exports/serve.native.js.map +1 -1
  101. package/dist/exports/serveStaticAssets.mjs +109 -113
  102. package/dist/exports/serveStaticAssets.mjs.map +1 -1
  103. package/dist/exports/serveStaticAssets.native.js +180 -192
  104. package/dist/exports/serveStaticAssets.native.js.map +1 -1
  105. package/dist/index.js +25 -14
  106. package/dist/index.mjs +25 -14
  107. package/dist/index.native.js +25 -14
  108. package/dist/patches/builtInDepPatches.mjs +346 -435
  109. package/dist/patches/builtInDepPatches.mjs.map +1 -1
  110. package/dist/patches/builtInDepPatches.native.js +349 -438
  111. package/dist/patches/builtInDepPatches.native.js.map +1 -1
  112. package/dist/plugins/applyBuiltInPatchesPlugin.mjs +11 -11
  113. package/dist/plugins/applyBuiltInPatchesPlugin.mjs.map +1 -1
  114. package/dist/plugins/applyBuiltInPatchesPlugin.native.js +11 -11
  115. package/dist/plugins/applyBuiltInPatchesPlugin.native.js.map +1 -1
  116. package/dist/plugins/autoDepOptimizePlugin.mjs +87 -90
  117. package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -1
  118. package/dist/plugins/autoDepOptimizePlugin.native.js +99 -102
  119. package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
  120. package/dist/plugins/clientInjectPlugin.mjs +13 -11
  121. package/dist/plugins/clientInjectPlugin.mjs.map +1 -1
  122. package/dist/plugins/clientInjectPlugin.native.js +13 -11
  123. package/dist/plugins/clientInjectPlugin.native.js.map +1 -1
  124. package/dist/plugins/defaultDepOptimizePlugin.mjs +15 -23
  125. package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -1
  126. package/dist/plugins/defaultDepOptimizePlugin.native.js +15 -23
  127. package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -1
  128. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +163 -179
  129. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  130. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +169 -191
  131. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  132. package/dist/plugins/getResolvedConfigSubset.mjs +6 -5
  133. package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -1
  134. package/dist/plugins/getResolvedConfigSubset.native.js +6 -5
  135. package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -1
  136. package/dist/plugins/reactNativeCommonJsPlugin.mjs +210 -178
  137. package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -1
  138. package/dist/plugins/reactNativeCommonJsPlugin.native.js +283 -259
  139. package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
  140. package/dist/plugins/reactNativeDevAssetPlugin.mjs +72 -83
  141. package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
  142. package/dist/plugins/reactNativeDevAssetPlugin.native.js +75 -92
  143. package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
  144. package/dist/plugins/reactNativeDevServer.mjs +283 -328
  145. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  146. package/dist/plugins/reactNativeDevServer.native.js +332 -391
  147. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  148. package/dist/plugins/rnCodegenPlugin.mjs +13 -12
  149. package/dist/plugins/rnCodegenPlugin.mjs.map +1 -1
  150. package/dist/plugins/rnCodegenPlugin.native.js +13 -12
  151. package/dist/plugins/rnCodegenPlugin.native.js.map +1 -1
  152. package/dist/plugins/rollupRemoveUnusedImports.mjs +8 -7
  153. package/dist/plugins/rollupRemoveUnusedImports.mjs.map +1 -1
  154. package/dist/plugins/rollupRemoveUnusedImports.native.js +8 -7
  155. package/dist/plugins/rollupRemoveUnusedImports.native.js.map +1 -1
  156. package/dist/plugins/workletImportsPlugin.mjs +127 -132
  157. package/dist/plugins/workletImportsPlugin.mjs.map +1 -1
  158. package/dist/plugins/workletImportsPlugin.native.js +192 -203
  159. package/dist/plugins/workletImportsPlugin.native.js.map +1 -1
  160. package/dist/rn-commands/bundle/buildBundle.mjs +45 -79
  161. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  162. package/dist/rn-commands/bundle/buildBundle.native.js +45 -85
  163. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  164. package/dist/runtime/hmr-client.mjs +133 -140
  165. package/dist/runtime/hmr-client.mjs.map +1 -1
  166. package/dist/runtime/hmr-client.native.js +223 -222
  167. package/dist/runtime/hmr-client.native.js.map +1 -1
  168. package/dist/runtime/hmr-runtime.mjs +192 -194
  169. package/dist/runtime/hmr-runtime.mjs.map +1 -1
  170. package/dist/runtime/hmr-runtime.native.js +424 -411
  171. package/dist/runtime/hmr-runtime.native.js.map +1 -1
  172. package/dist/runtime/hmr-types.mjs +0 -2
  173. package/dist/runtime/hmr-types.native.js +0 -2
  174. package/dist/runtime/native-prelude.mjs +2 -1
  175. package/dist/runtime/native-prelude.mjs.map +1 -1
  176. package/dist/runtime/native-prelude.native.js +2 -1
  177. package/dist/runtime/native-prelude.native.js.map +1 -1
  178. package/dist/runtime/react-refresh-utils.mjs +23 -22
  179. package/dist/runtime/react-refresh-utils.mjs.map +1 -1
  180. package/dist/runtime/react-refresh-utils.native.js +23 -27
  181. package/dist/runtime/react-refresh-utils.native.js.map +1 -1
  182. package/dist/serve/node.mjs +49 -49
  183. package/dist/serve/node.mjs.map +1 -1
  184. package/dist/serve/node.native.js +92 -96
  185. package/dist/serve/node.native.js.map +1 -1
  186. package/dist/types.mjs +0 -2
  187. package/dist/types.native.js +0 -2
  188. package/dist/user-interface/index.mjs +245 -262
  189. package/dist/user-interface/index.mjs.map +1 -1
  190. package/dist/user-interface/index.native.js +274 -298
  191. package/dist/user-interface/index.native.js.map +1 -1
  192. package/dist/utils/assert.mjs +7 -6
  193. package/dist/utils/assert.mjs.map +1 -1
  194. package/dist/utils/assert.native.js +7 -18
  195. package/dist/utils/assert.native.js.map +1 -1
  196. package/dist/utils/bindKeypressInput.mjs +36 -38
  197. package/dist/utils/bindKeypressInput.mjs.map +1 -1
  198. package/dist/utils/bindKeypressInput.native.js +36 -38
  199. package/dist/utils/bindKeypressInput.native.js.map +1 -1
  200. package/dist/utils/coerceToArray.mjs +2 -1
  201. package/dist/utils/coerceToArray.mjs.map +1 -1
  202. package/dist/utils/coerceToArray.native.js +2 -1
  203. package/dist/utils/coerceToArray.native.js.map +1 -1
  204. package/dist/utils/connectedNativeClients.mjs +3 -2
  205. package/dist/utils/connectedNativeClients.mjs.map +1 -1
  206. package/dist/utils/connectedNativeClients.native.js +3 -2
  207. package/dist/utils/connectedNativeClients.native.js.map +1 -1
  208. package/dist/utils/createNativeDevEngine.mjs +992 -966
  209. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  210. package/dist/utils/createNativeDevEngine.native.js +1184 -1179
  211. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  212. package/dist/utils/dispose.mjs +4 -3
  213. package/dist/utils/dispose.mjs.map +1 -1
  214. package/dist/utils/dispose.native.js +6 -5
  215. package/dist/utils/dispose.native.js.map +1 -1
  216. package/dist/utils/environmentUtils.mjs +5 -4
  217. package/dist/utils/environmentUtils.mjs.map +1 -1
  218. package/dist/utils/environmentUtils.native.js +5 -4
  219. package/dist/utils/environmentUtils.native.js.map +1 -1
  220. package/dist/utils/execSync.mjs +7 -5
  221. package/dist/utils/execSync.mjs.map +1 -1
  222. package/dist/utils/execSync.native.js +8 -6
  223. package/dist/utils/execSync.native.js.map +1 -1
  224. package/dist/utils/expoRun.mjs +27 -35
  225. package/dist/utils/expoRun.mjs.map +1 -1
  226. package/dist/utils/expoRun.native.js +27 -35
  227. package/dist/utils/expoRun.native.js.map +1 -1
  228. package/dist/utils/filterViteServerResolvedUrls.mjs +24 -22
  229. package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -1
  230. package/dist/utils/filterViteServerResolvedUrls.native.js +61 -63
  231. package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -1
  232. package/dist/utils/getBoundPort.mjs +6 -5
  233. package/dist/utils/getBoundPort.mjs.map +1 -1
  234. package/dist/utils/getBoundPort.native.js +8 -12
  235. package/dist/utils/getBoundPort.native.js.map +1 -1
  236. package/dist/utils/getCacheDir.mjs +3 -1
  237. package/dist/utils/getCacheDir.mjs.map +1 -1
  238. package/dist/utils/getCacheDir.native.js +3 -1
  239. package/dist/utils/getCacheDir.native.js.map +1 -1
  240. package/dist/utils/getServerEntry.mjs +6 -4
  241. package/dist/utils/getServerEntry.mjs.map +1 -1
  242. package/dist/utils/getServerEntry.native.js +8 -11
  243. package/dist/utils/getServerEntry.native.js.map +1 -1
  244. package/dist/utils/getVitePath.mjs +42 -42
  245. package/dist/utils/getVitePath.mjs.map +1 -1
  246. package/dist/utils/getVitePath.native.js +43 -41
  247. package/dist/utils/getVitePath.native.js.map +1 -1
  248. package/dist/utils/globDir.mjs +7 -11
  249. package/dist/utils/globDir.mjs.map +1 -1
  250. package/dist/utils/globDir.native.js +10 -14
  251. package/dist/utils/globDir.native.js.map +1 -1
  252. package/dist/utils/isWithin.mjs +4 -2
  253. package/dist/utils/isWithin.mjs.map +1 -1
  254. package/dist/utils/isWithin.native.js +4 -2
  255. package/dist/utils/isWithin.native.js.map +1 -1
  256. package/dist/utils/patches.mjs +233 -255
  257. package/dist/utils/patches.mjs.map +1 -1
  258. package/dist/utils/patches.native.js +415 -460
  259. package/dist/utils/patches.native.js.map +1 -1
  260. package/dist/utils/printServerUrls.mjs +9 -7
  261. package/dist/utils/printServerUrls.mjs.map +1 -1
  262. package/dist/utils/printServerUrls.native.js +48 -51
  263. package/dist/utils/printServerUrls.native.js.map +1 -1
  264. package/dist/utils/removeUndefined.mjs +8 -7
  265. package/dist/utils/removeUndefined.mjs.map +1 -1
  266. package/dist/utils/removeUndefined.native.js +8 -7
  267. package/dist/utils/removeUndefined.native.js.map +1 -1
  268. package/dist/utils/scanDepsToOptimize.mjs +194 -161
  269. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  270. package/dist/utils/scanDepsToOptimize.native.js +227 -197
  271. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  272. package/dist/utils/state.mjs +18 -18
  273. package/dist/utils/state.mjs.map +1 -1
  274. package/dist/utils/state.native.js +18 -18
  275. package/dist/utils/state.native.js.map +1 -1
  276. package/dist/utils/symbolicateNativeStack.mjs +54 -54
  277. package/dist/utils/symbolicateNativeStack.mjs.map +1 -1
  278. package/dist/utils/symbolicateNativeStack.native.js +58 -58
  279. package/dist/utils/symbolicateNativeStack.native.js.map +1 -1
  280. package/dist/utils/uniq.mjs +2 -1
  281. package/dist/utils/uniq.mjs.map +1 -1
  282. package/dist/utils/uniq.native.js +2 -1
  283. package/dist/utils/uniq.native.js.map +1 -1
  284. package/dist/utils/utils.mjs +19 -19
  285. package/dist/utils/utils.mjs.map +1 -1
  286. package/dist/utils/utils.native.js +38 -40
  287. package/dist/utils/utils.native.js.map +1 -1
  288. package/dist/vendor/debugger-app/index.mjs +0 -2
  289. package/dist/vendor/debugger-app/index.native.js +0 -2
  290. package/dist/vendor/debugger-app/src/debuggerWorker.mjs +0 -2
  291. package/dist/vendor/debugger-app/src/debuggerWorker.native.js +0 -2
  292. package/dist/vendor/debugger-app/src/index.mjs +0 -2
  293. package/dist/vendor/debugger-app/src/index.native.js +0 -2
  294. package/dist/vxrn-vite-plugin.mjs +34 -33
  295. package/dist/vxrn-vite-plugin.mjs.map +1 -1
  296. package/dist/vxrn-vite-plugin.native.js +35 -34
  297. package/dist/vxrn-vite-plugin.native.js.map +1 -1
  298. package/expo-plugin.cjs +12 -6
  299. package/package.json +12 -13
  300. package/src/config/getBaseViteConfigOnly.ts +6 -0
  301. package/src/exports/prebuild.ts +40 -12
  302. package/src/patches/builtInDepPatches.ts +24 -48
  303. package/src/utils/createNativeDevEngine.test.ts +1 -1
  304. package/src/utils/createNativeDevEngine.ts +15 -9
  305. package/src/utils/scanDepsToOptimize.ts +0 -3
  306. package/types/config/getBaseViteConfigOnly.d.ts.map +1 -1
  307. package/types/config/getOptimizeDeps.d.ts.map +1 -1
  308. package/types/config/getOptionsFilled.d.ts +15 -15
  309. package/types/config/getOptionsFilled.d.ts.map +1 -1
  310. package/types/exports/build.d.ts +11 -11
  311. package/types/exports/build.d.ts.map +1 -1
  312. package/types/exports/clean.d.ts +1 -1
  313. package/types/exports/clean.d.ts.map +1 -1
  314. package/types/exports/createServer.d.ts.map +1 -1
  315. package/types/exports/dev.d.ts.map +1 -1
  316. package/types/exports/patch.d.ts.map +1 -1
  317. package/types/exports/prebuild.d.ts +3 -3
  318. package/types/exports/prebuild.d.ts.map +1 -1
  319. package/types/exports/prebuildWithoutExpo.d.ts +1 -1
  320. package/types/exports/prebuildWithoutExpo.d.ts.map +1 -1
  321. package/types/exports/runAndroid.d.ts.map +1 -1
  322. package/types/exports/runIos.d.ts.map +1 -1
  323. package/types/exports/serve.d.ts.map +1 -1
  324. package/types/patches/builtInDepPatches.d.ts.map +1 -1
  325. package/types/plugins/autoDepOptimizePlugin.d.ts.map +1 -1
  326. package/types/plugins/rollupRemoveUnusedImports.d.ts.map +1 -1
  327. package/types/runtime/hmr-client.d.ts.map +1 -1
  328. package/types/runtime/hmr-runtime.d.ts.map +1 -1
  329. package/types/runtime/hmr-types.d.ts.map +1 -1
  330. package/types/utils/createNativeDevEngine.d.ts +1 -1
  331. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
  332. package/types/utils/execSync.d.ts.map +1 -1
  333. package/types/utils/getServerEntry.d.ts.map +1 -1
  334. package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
  335. package/types/vxrn-vite-plugin.d.ts.map +1 -1
  336. package/dist/config/getOptimizeDeps.test.mjs +0 -20
  337. package/dist/config/getOptimizeDeps.test.mjs.map +0 -1
  338. package/dist/config/getOptimizeDeps.test.native.js +0 -39
  339. package/dist/config/getOptimizeDeps.test.native.js.map +0 -1
  340. package/dist/config/getServerOptionsFilled.test.mjs +0 -20
  341. package/dist/config/getServerOptionsFilled.test.mjs.map +0 -1
  342. package/dist/config/getServerOptionsFilled.test.native.js +0 -20
  343. package/dist/config/getServerOptionsFilled.test.native.js.map +0 -1
  344. package/dist/config/getViteServerConfig.test.mjs +0 -26
  345. package/dist/config/getViteServerConfig.test.mjs.map +0 -1
  346. package/dist/config/getViteServerConfig.test.native.js +0 -26
  347. package/dist/config/getViteServerConfig.test.native.js.map +0 -1
  348. package/dist/config/mergeUserConfig.test.mjs +0 -108
  349. package/dist/config/mergeUserConfig.test.mjs.map +0 -1
  350. package/dist/config/mergeUserConfig.test.native.js +0 -108
  351. package/dist/config/mergeUserConfig.test.native.js.map +0 -1
  352. package/dist/exports/clean.test.mjs +0 -81
  353. package/dist/exports/clean.test.mjs.map +0 -1
  354. package/dist/exports/clean.test.native.js +0 -88
  355. package/dist/exports/clean.test.native.js.map +0 -1
  356. package/dist/exports/loadEnv.test.mjs +0 -65
  357. package/dist/exports/loadEnv.test.mjs.map +0 -1
  358. package/dist/exports/loadEnv.test.native.js +0 -65
  359. package/dist/exports/loadEnv.test.native.js.map +0 -1
  360. package/dist/index.js.map +0 -1
  361. package/dist/index.mjs.map +0 -1
  362. package/dist/index.native.js.map +0 -1
  363. package/dist/plugins/autoDepOptimizePlugin.test.mjs +0 -31
  364. package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +0 -1
  365. package/dist/plugins/autoDepOptimizePlugin.test.native.js +0 -39
  366. package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +0 -1
  367. package/dist/plugins/resolveIdScan.test.mjs +0 -31
  368. package/dist/plugins/resolveIdScan.test.mjs.map +0 -1
  369. package/dist/plugins/resolveIdScan.test.native.js +0 -38
  370. package/dist/plugins/resolveIdScan.test.native.js.map +0 -1
  371. package/dist/plugins/rnCodegenPlugin.test.mjs +0 -239
  372. package/dist/plugins/rnCodegenPlugin.test.mjs.map +0 -1
  373. package/dist/plugins/rnCodegenPlugin.test.native.js +0 -242
  374. package/dist/plugins/rnCodegenPlugin.test.native.js.map +0 -1
  375. package/dist/plugins/serverExtensions.test.mjs +0 -106
  376. package/dist/plugins/serverExtensions.test.mjs.map +0 -1
  377. package/dist/plugins/serverExtensions.test.native.js +0 -117
  378. package/dist/plugins/serverExtensions.test.native.js.map +0 -1
  379. package/dist/runtime/hmr-types.mjs.map +0 -1
  380. package/dist/runtime/hmr-types.native.js.map +0 -1
  381. package/dist/serve/node.test.mjs +0 -60
  382. package/dist/serve/node.test.mjs.map +0 -1
  383. package/dist/serve/node.test.native.js +0 -72
  384. package/dist/serve/node.test.native.js.map +0 -1
  385. package/dist/types.mjs.map +0 -1
  386. package/dist/types.native.js.map +0 -1
  387. package/dist/utils/bindKeypressInput.test.mjs +0 -48
  388. package/dist/utils/bindKeypressInput.test.mjs.map +0 -1
  389. package/dist/utils/bindKeypressInput.test.native.js +0 -48
  390. package/dist/utils/bindKeypressInput.test.native.js.map +0 -1
  391. package/dist/utils/createNativeDevEngine.test.mjs +0 -1788
  392. package/dist/utils/createNativeDevEngine.test.mjs.map +0 -1
  393. package/dist/utils/createNativeDevEngine.test.native.js +0 -1942
  394. package/dist/utils/createNativeDevEngine.test.native.js.map +0 -1
  395. package/dist/utils/createNativeDevEngineFailure.test.mjs +0 -44
  396. package/dist/utils/createNativeDevEngineFailure.test.mjs.map +0 -1
  397. package/dist/utils/createNativeDevEngineFailure.test.native.js +0 -54
  398. package/dist/utils/createNativeDevEngineFailure.test.native.js.map +0 -1
  399. package/dist/utils/getBoundPort.test.mjs +0 -71
  400. package/dist/utils/getBoundPort.test.mjs.map +0 -1
  401. package/dist/utils/getBoundPort.test.native.js +0 -82
  402. package/dist/utils/getBoundPort.test.native.js.map +0 -1
  403. package/dist/utils/imageSizePatch.test.mjs +0 -29
  404. package/dist/utils/imageSizePatch.test.mjs.map +0 -1
  405. package/dist/utils/imageSizePatch.test.native.js +0 -30
  406. package/dist/utils/imageSizePatch.test.native.js.map +0 -1
  407. package/dist/utils/patches.test.mjs +0 -242
  408. package/dist/utils/patches.test.mjs.map +0 -1
  409. package/dist/utils/patches.test.native.js +0 -271
  410. package/dist/utils/patches.test.native.js.map +0 -1
  411. package/dist/utils/symbolicateNativeStack.test.mjs +0 -96
  412. package/dist/utils/symbolicateNativeStack.test.mjs.map +0 -1
  413. package/dist/utils/symbolicateNativeStack.test.native.js +0 -96
  414. package/dist/utils/symbolicateNativeStack.test.native.js.map +0 -1
  415. package/dist/vendor/debugger-app/index.mjs.map +0 -1
  416. package/dist/vendor/debugger-app/index.native.js.map +0 -1
  417. package/dist/vendor/debugger-app/src/debuggerWorker.mjs.map +0 -1
  418. package/dist/vendor/debugger-app/src/debuggerWorker.native.js.map +0 -1
  419. package/dist/vendor/debugger-app/src/index.mjs.map +0 -1
  420. package/dist/vendor/debugger-app/src/index.native.js.map +0 -1
  421. package/types/config/getOptimizeDeps.test.d.ts +0 -2
  422. package/types/config/getOptimizeDeps.test.d.ts.map +0 -1
  423. package/types/config/getServerOptionsFilled.test.d.ts +0 -2
  424. package/types/config/getServerOptionsFilled.test.d.ts.map +0 -1
  425. package/types/config/getViteServerConfig.test.d.ts +0 -2
  426. package/types/config/getViteServerConfig.test.d.ts.map +0 -1
  427. package/types/config/mergeUserConfig.test.d.ts +0 -2
  428. package/types/config/mergeUserConfig.test.d.ts.map +0 -1
  429. package/types/exports/clean.test.d.ts +0 -2
  430. package/types/exports/clean.test.d.ts.map +0 -1
  431. package/types/exports/loadEnv.test.d.ts +0 -2
  432. package/types/exports/loadEnv.test.d.ts.map +0 -1
  433. package/types/plugins/autoDepOptimizePlugin.test.d.ts +0 -2
  434. package/types/plugins/autoDepOptimizePlugin.test.d.ts.map +0 -1
  435. package/types/plugins/resolveIdScan.test.d.ts +0 -2
  436. package/types/plugins/resolveIdScan.test.d.ts.map +0 -1
  437. package/types/plugins/rnCodegenPlugin.test.d.ts +0 -2
  438. package/types/plugins/rnCodegenPlugin.test.d.ts.map +0 -1
  439. package/types/plugins/serverExtensions.test.d.ts +0 -2
  440. package/types/plugins/serverExtensions.test.d.ts.map +0 -1
  441. package/types/serve/node.test.d.ts +0 -2
  442. package/types/serve/node.test.d.ts.map +0 -1
  443. package/types/utils/bindKeypressInput.test.d.ts +0 -2
  444. package/types/utils/bindKeypressInput.test.d.ts.map +0 -1
  445. package/types/utils/createNativeDevEngine.test.d.ts +0 -2
  446. package/types/utils/createNativeDevEngine.test.d.ts.map +0 -1
  447. package/types/utils/createNativeDevEngineFailure.test.d.ts +0 -2
  448. package/types/utils/createNativeDevEngineFailure.test.d.ts.map +0 -1
  449. package/types/utils/getBoundPort.test.d.ts +0 -2
  450. package/types/utils/getBoundPort.test.d.ts.map +0 -1
  451. package/types/utils/imageSizePatch.test.d.ts +0 -2
  452. package/types/utils/imageSizePatch.test.d.ts.map +0 -1
  453. package/types/utils/patches.test.d.ts +0 -2
  454. package/types/utils/patches.test.d.ts.map +0 -1
  455. package/types/utils/symbolicateNativeStack.test.d.ts +0 -2
  456. package/types/utils/symbolicateNativeStack.test.d.ts.map +0 -1
@@ -3,187 +3,171 @@ import module from "node:module";
3
3
  import { TLSSocket } from "node:tls";
4
4
  import { pathToFileURL } from "node:url";
5
5
  import colors from "picocolors";
6
+
6
7
  function expoManifestRequestHandlerPlugin(options) {
7
- return {
8
- name: "vxrn:expo-manifest-request-handler",
9
- configureServer(server) {
10
- const projectRoot = server.config.root;
11
- const port = server.config.server.port;
12
- const {
13
- logger
14
- } = server.config;
15
- const defaultLogOptions = {
16
- timestamp: true
17
- };
18
- server.middlewares.use(async (req, res, next) => {
19
- if (!req.headers["expo-platform"]) {
20
- return next();
21
- }
22
- const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
23
- const host = `${req.headers["x-forwarded-host"] || req.headers.host || "127.0.0.1"}`;
24
- let ExpoGoManifestHandlerMiddleware;
25
- let expoGoManifestHandlerMiddlewareImportError;
26
- try {
27
- const require2 = module.createRequire(projectRoot);
28
- const importPath = require2.resolve("@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js", {
29
- paths: [projectRoot]
30
- });
31
- ExpoGoManifestHandlerMiddleware = (await import(pathToFileURL(importPath).href)).default.ExpoGoManifestHandlerMiddleware;
32
- } catch (e) {
33
- expoGoManifestHandlerMiddlewareImportError = e;
34
- }
35
- if (!ExpoGoManifestHandlerMiddleware) {
36
- if (expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === "MODULE_NOT_FOUND") {
37
- logger.warn(colors.yellow(`Failed to locate Expo SDK in your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
38
- } else {
39
- logger.warn(colors.yellow(`Failed to import Expo SDK from your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
40
- }
41
- logger.warn("Ignoring the error and responding with preset manifest, this may not work with Expo Go or your development build.", defaultLogOptions);
42
- logger.warn(colors.yellow(`Is this a Expo project, or are you using a supported version of Expo SDK? (${projectRoot})`), defaultLogOptions);
43
- const json = getIndexJsonResponse({
44
- projectRoot,
45
- port
46
- });
47
- res.setHeader("content-type", "application/json");
48
- res.write(JSON.stringify(json));
49
- res.end();
50
- return;
51
- }
52
- const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
53
- constructUrl: () => {
54
- return `${protocol}://${host}`;
55
- }
56
- });
57
- const origGetBundleUrl = manifestHandlerMiddleware._getBundleUrl.bind(manifestHandlerMiddleware);
58
- manifestHandlerMiddleware._getBundleUrl = (...args) => {
59
- const origBundleUrl = origGetBundleUrl(...args);
60
- let url = new URL(origBundleUrl);
61
- if (host) url.host = host;
62
- url.protocol = protocol;
63
- url.pathname = "/index.bundle";
64
- return url.toString();
65
- };
66
- manifestHandlerMiddleware._origGetManifestResponseAsync = manifestHandlerMiddleware._getManifestResponseAsync;
67
- manifestHandlerMiddleware._getManifestResponseAsync = async (...args) => {
68
- try {
69
- const response = await manifestHandlerMiddleware._origGetManifestResponseAsync(...args);
70
- const isWebResponse = response instanceof Response;
71
- const bodyText = isWebResponse ? await response.text() : response.body;
72
- const [, beforeBodyJson, bodyJson, afterBodyJson] = bodyText.match(/([^{]*)({.*})([^}]*)/) || [];
73
- if (!bodyJson) {
74
- throw new Error(`Unrecognized manifest response from expo: ${bodyText}`);
75
- }
76
- const parsedBody = JSON.parse(bodyJson);
77
- if (!parsedBody.extra) {
78
- parsedBody.extra = {};
79
- }
80
- if (!parsedBody.extra.expoClient) {
81
- parsedBody.extra.expoClient = {};
82
- }
83
- if (typeof parsedBody.extra.expoClient.hostUri === "string") {
84
- parsedBody.extra.expoClient.hostUri = parsedBody.extra.expoClient.hostUri.replace(/^https?:\/\//, "");
85
- }
86
- if (typeof parsedBody.extra.expoGo.debuggerHost === "string") {
87
- parsedBody.extra.expoGo.debuggerHost = parsedBody.extra.expoGo.debuggerHost.replace(/^https?:\/\//, "");
88
- }
89
- parsedBody.extra.expoClient.iconUrl = "https://github.com/user-attachments/assets/6894506b-df81-417c-a4cd-9c125c7ba37f";
90
- parsedBody.extra.expoClient.splash = {
91
- image: "__vxrn_unstable_internal/icon.png",
92
- resizeMode: "contain",
93
- backgroundColor: "#000000",
94
- imageUrl: "https://github.com/user-attachments/assets/e816c207-e7d2-4c2e-8aa5-0d4cbaa622bf"
95
- // TODO: Host this image somewhere.
96
- };
97
- const newBody = beforeBodyJson + JSON.stringify(parsedBody) + afterBodyJson;
98
- if (isWebResponse) {
99
- return new Response(newBody, {
100
- status: response.status,
101
- headers: response.headers
102
- });
103
- }
104
- response.body = newBody;
105
- return response;
106
- } catch (e) {
107
- if (e instanceof Error) {
108
- e.message = `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e.message}`;
109
- throw e;
110
- }
111
- throw new Error(`[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e}`);
112
- }
113
- };
114
- manifestHandlerMiddleware.handleRequestAsync(req, res, next);
115
- });
116
- }
117
- };
8
+ return {
9
+ name: "vxrn:expo-manifest-request-handler",
10
+ configureServer(server) {
11
+ const projectRoot = server.config.root;
12
+ const port = server.config.server.port;
13
+ const { logger } = server.config;
14
+ const defaultLogOptions = { timestamp: true };
15
+ server.middlewares.use(async (req, res, next) => {
16
+ if (!req.headers["expo-platform"]) {
17
+ return next();
18
+ }
19
+ const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
20
+ const host = `${req.headers["x-forwarded-host"] || req.headers.host || "127.0.0.1"}`;
21
+ let ExpoGoManifestHandlerMiddleware;
22
+ let expoGoManifestHandlerMiddlewareImportError;
23
+ try {
24
+ const require2 = module.createRequire(projectRoot);
25
+ const importPath = require2.resolve("@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js", { paths: [projectRoot] });
26
+ ExpoGoManifestHandlerMiddleware = (await import(pathToFileURL(importPath).href)).default.ExpoGoManifestHandlerMiddleware;
27
+ } catch (e) {
28
+ expoGoManifestHandlerMiddlewareImportError = e;
29
+ }
30
+ if (!ExpoGoManifestHandlerMiddleware) {
31
+ if (expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === "MODULE_NOT_FOUND") {
32
+ logger.warn(colors.yellow(`Failed to locate Expo SDK in your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
33
+ } else {
34
+ logger.warn(colors.yellow(`Failed to import Expo SDK from your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
35
+ }
36
+ logger.warn("Ignoring the error and responding with preset manifest, this may not work with Expo Go or your development build.", defaultLogOptions);
37
+ logger.warn(colors.yellow(`Is this a Expo project, or are you using a supported version of Expo SDK? (${projectRoot})`), defaultLogOptions);
38
+ const json = getIndexJsonResponse({
39
+ projectRoot,
40
+ port
41
+ });
42
+ res.setHeader("content-type", "application/json");
43
+ res.write(JSON.stringify(json));
44
+ res.end();
45
+ return;
46
+ }
47
+ const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, { constructUrl: () => {
48
+ return `${protocol}://${host}`;
49
+ } });
50
+ const origGetBundleUrl = manifestHandlerMiddleware._getBundleUrl.bind(manifestHandlerMiddleware);
51
+ manifestHandlerMiddleware._getBundleUrl = (...args) => {
52
+ const origBundleUrl = origGetBundleUrl(...args);
53
+ let url = new URL(origBundleUrl);
54
+ if (host) url.host = host;
55
+ url.protocol = protocol;
56
+ url.pathname = "/index.bundle";
57
+ return url.toString();
58
+ };
59
+ manifestHandlerMiddleware._origGetManifestResponseAsync = manifestHandlerMiddleware._getManifestResponseAsync;
60
+ manifestHandlerMiddleware._getManifestResponseAsync = async (...args) => {
61
+ try {
62
+ const response = await manifestHandlerMiddleware._origGetManifestResponseAsync(...args);
63
+ const isWebResponse = response instanceof Response;
64
+ const bodyText = isWebResponse ? await response.text() : response.body;
65
+ const [, beforeBodyJson, bodyJson, afterBodyJson] = bodyText.match(/([^{]*)({.*})([^}]*)/) || [];
66
+ if (!bodyJson) {
67
+ throw new Error(`Unrecognized manifest response from expo: ${bodyText}`);
68
+ }
69
+ const parsedBody = JSON.parse(bodyJson);
70
+ if (!parsedBody.extra) {
71
+ parsedBody.extra = {};
72
+ }
73
+ if (!parsedBody.extra.expoClient) {
74
+ parsedBody.extra.expoClient = {};
75
+ }
76
+ if (typeof parsedBody.extra.expoClient.hostUri === "string") {
77
+ parsedBody.extra.expoClient.hostUri = parsedBody.extra.expoClient.hostUri.replace(/^https?:\/\//, "");
78
+ }
79
+ if (typeof parsedBody.extra.expoGo.debuggerHost === "string") {
80
+ parsedBody.extra.expoGo.debuggerHost = parsedBody.extra.expoGo.debuggerHost.replace(/^https?:\/\//, "");
81
+ }
82
+ parsedBody.extra.expoClient.iconUrl = "https://github.com/user-attachments/assets/6894506b-df81-417c-a4cd-9c125c7ba37f";
83
+ parsedBody.extra.expoClient.splash = {
84
+ image: "__vxrn_unstable_internal/icon.png",
85
+ resizeMode: "contain",
86
+ backgroundColor: "#000000",
87
+ imageUrl: "https://github.com/user-attachments/assets/e816c207-e7d2-4c2e-8aa5-0d4cbaa622bf"
88
+ };
89
+ const newBody = beforeBodyJson + JSON.stringify(parsedBody) + afterBodyJson;
90
+ if (isWebResponse) {
91
+ return new Response(newBody, {
92
+ status: response.status,
93
+ headers: response.headers
94
+ });
95
+ }
96
+ response.body = newBody;
97
+ return response;
98
+ } catch (e) {
99
+ if (e instanceof Error) {
100
+ e.message = `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e.message}`;
101
+ throw e;
102
+ }
103
+ throw new Error(`[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e}`);
104
+ }
105
+ };
106
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
107
+ });
108
+ }
109
+ };
118
110
  }
119
- function getIndexJsonResponse({
120
- port,
121
- projectRoot
122
- }) {
123
- return {
124
- name: "myapp",
125
- slug: "myapp",
126
- scheme: "myapp",
127
- version: "1.0.0",
128
- jsEngine: "jsc",
129
- orientation: "portrait",
130
- icon: "./assets/icon.png",
131
- userInterfaceStyle: "light",
132
- splash: {
133
- image: "./assets/splash.png",
134
- resizeMode: "contain",
135
- backgroundColor: "#ffffff",
136
- imageUrl: "http://127.0.0.1:8081/assets/./assets/splash.png"
137
- },
138
- updates: {
139
- fallbackToCacheTimeout: 0
140
- },
141
- assetBundlePatterns: ["**/*"],
142
- ios: {
143
- supportsTablet: true,
144
- bundleIdentifier: "com.natew.myapp"
145
- },
146
- android: {
147
- package: "com.tamagui.myapp",
148
- adaptiveIcon: {
149
- foregroundImage: "./assets/adaptive-icon.png",
150
- backgroundColor: "#FFFFFF",
151
- foregroundImageUrl: "http://127.0.0.1:8081/assets/./assets/adaptive-icon.png"
152
- }
153
- },
154
- web: {
155
- favicon: "./assets/favicon.png"
156
- },
157
- extra: {
158
- eas: {
159
- projectId: "061b4470-78c7-4d6a-b850-8167fb0a3434"
160
- }
161
- },
162
- _internal: {
163
- isDebug: false,
164
- projectRoot,
165
- dynamicConfigPath: null,
166
- staticConfigPath: join(projectRoot, "app.json"),
167
- packageJsonPath: join(projectRoot, "package.json")
168
- },
169
- sdkVersion: "50.0.0",
170
- platforms: ["ios", "android", "web"],
171
- iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,
172
- debuggerHost: `127.0.0.1:${port}`,
173
- logUrl: `http://127.0.0.1:${port}/logs`,
174
- developer: {
175
- tool: "expo-cli",
176
- projectRoot
177
- },
178
- packagerOpts: {
179
- dev: true
180
- },
181
- mainModuleName: "index",
182
- __flipperHack: "React Native packager is running",
183
- hostUri: `127.0.0.1:${port}`,
184
- bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,
185
- id: "@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78"
186
- };
111
+ function getIndexJsonResponse({ port, projectRoot }) {
112
+ return {
113
+ name: "myapp",
114
+ slug: "myapp",
115
+ scheme: "myapp",
116
+ version: "1.0.0",
117
+ jsEngine: "jsc",
118
+ orientation: "portrait",
119
+ icon: "./assets/icon.png",
120
+ userInterfaceStyle: "light",
121
+ splash: {
122
+ image: "./assets/splash.png",
123
+ resizeMode: "contain",
124
+ backgroundColor: "#ffffff",
125
+ imageUrl: "http://127.0.0.1:8081/assets/./assets/splash.png"
126
+ },
127
+ updates: { fallbackToCacheTimeout: 0 },
128
+ assetBundlePatterns: ["**/*"],
129
+ ios: {
130
+ supportsTablet: true,
131
+ bundleIdentifier: "com.natew.myapp"
132
+ },
133
+ android: {
134
+ package: "com.tamagui.myapp",
135
+ adaptiveIcon: {
136
+ foregroundImage: "./assets/adaptive-icon.png",
137
+ backgroundColor: "#FFFFFF",
138
+ foregroundImageUrl: "http://127.0.0.1:8081/assets/./assets/adaptive-icon.png"
139
+ }
140
+ },
141
+ web: { favicon: "./assets/favicon.png" },
142
+ extra: { eas: { projectId: "061b4470-78c7-4d6a-b850-8167fb0a3434" } },
143
+ _internal: {
144
+ isDebug: false,
145
+ projectRoot,
146
+ dynamicConfigPath: null,
147
+ staticConfigPath: join(projectRoot, "app.json"),
148
+ packageJsonPath: join(projectRoot, "package.json")
149
+ },
150
+ sdkVersion: "50.0.0",
151
+ platforms: [
152
+ "ios",
153
+ "android",
154
+ "web"
155
+ ],
156
+ iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,
157
+ debuggerHost: `127.0.0.1:${port}`,
158
+ logUrl: `http://127.0.0.1:${port}/logs`,
159
+ developer: {
160
+ tool: "expo-cli",
161
+ projectRoot
162
+ },
163
+ packagerOpts: { dev: true },
164
+ mainModuleName: "index",
165
+ __flipperHack: "React Native packager is running",
166
+ hostUri: `127.0.0.1:${port}`,
167
+ bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,
168
+ id: "@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78"
169
+ };
187
170
  }
171
+
188
172
  export { expoManifestRequestHandlerPlugin };
189
173
  //# sourceMappingURL=expoManifestRequestHandlerPlugin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["join","module","TLSSocket","pathToFileURL","colors","expoManifestRequestHandlerPlugin","options","name","configureServer","server","projectRoot","config","root","port","logger","defaultLogOptions","timestamp","middlewares","use","req","res","next","headers","protocol","socket","encrypted","host","ExpoGoManifestHandlerMiddleware","expoGoManifestHandlerMiddlewareImportError","require","createRequire","importPath","resolve","paths","href","default","e","Error","code","warn","yellow","json","getIndexJsonResponse","setHeader","write","JSON","stringify","end","manifestHandlerMiddleware","constructUrl","origGetBundleUrl","_getBundleUrl","bind","args","origBundleUrl","url","URL","pathname","toString","_origGetManifestResponseAsync","_getManifestResponseAsync","response","isWebResponse","Response","bodyText","text","body","beforeBodyJson","bodyJson","afterBodyJson","match","parsedBody","parse","extra","expoClient","hostUri","replace","expoGo","debuggerHost","iconUrl","splash","image","resizeMode","backgroundColor","imageUrl","newBody","status","message","handleRequestAsync","slug","scheme","version","jsEngine","orientation","icon","userInterfaceStyle","updates","fallbackToCacheTimeout","assetBundlePatterns","ios","supportsTablet","bundleIdentifier","android","package","adaptiveIcon","foregroundImage","foregroundImageUrl","web","favicon","eas","projectId","_internal","isDebug","dynamicConfigPath","staticConfigPath","packageJsonPath","sdkVersion","platforms","logUrl","developer","tool","packagerOpts","dev","mainModuleName","__flipperHack","bundleUrl","id"],"sources":["../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"expoManifestRequestHandlerPlugin.js","names":[],"sources":["plugins/expoManifestRequestHandlerPlugin.js"],"sourcesContent":["import { join } from \"node:path\";\nimport module from \"node:module\";\nimport { TLSSocket } from \"node:tls\";\nimport { pathToFileURL } from \"node:url\";\nimport colors from \"picocolors\";\nfunction expoManifestRequestHandlerPlugin(options) {\n return {\n name: \"vxrn:expo-manifest-request-handler\",\n configureServer(server) {\n const projectRoot = server.config.root;\n const port = server.config.server.port;\n const { logger } = server.config;\n const defaultLogOptions = { timestamp: true };\n server.middlewares.use(async (req, res, next) => {\n if (!req.headers[\"expo-platform\"]) {\n return next();\n }\n const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? \"https\" : \"http\";\n const host = `${req.headers[\"x-forwarded-host\"] || req.headers.host || \"127.0.0.1\"}`;\n let ExpoGoManifestHandlerMiddleware;\n let expoGoManifestHandlerMiddlewareImportError;\n try {\n const require2 = module.createRequire(projectRoot);\n const importPath = require2.resolve(\n \"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js\",\n { paths: [projectRoot] }\n );\n ExpoGoManifestHandlerMiddleware = (await import(pathToFileURL(importPath).href)).default.ExpoGoManifestHandlerMiddleware;\n } catch (e) {\n expoGoManifestHandlerMiddlewareImportError = e;\n }\n if (!ExpoGoManifestHandlerMiddleware) {\n if (expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === \"MODULE_NOT_FOUND\") {\n logger.warn(\n colors.yellow(\n `Failed to locate Expo SDK in your project: ${expoGoManifestHandlerMiddlewareImportError}`\n ),\n defaultLogOptions\n );\n } else {\n logger.warn(\n colors.yellow(\n `Failed to import Expo SDK from your project: ${expoGoManifestHandlerMiddlewareImportError}`\n ),\n defaultLogOptions\n );\n }\n logger.warn(\n \"Ignoring the error and responding with preset manifest, this may not work with Expo Go or your development build.\",\n defaultLogOptions\n );\n logger.warn(\n colors.yellow(\n `Is this a Expo project, or are you using a supported version of Expo SDK? (${projectRoot})`\n ),\n defaultLogOptions\n );\n const json = getIndexJsonResponse({ projectRoot, port });\n res.setHeader(\"content-type\", \"application/json\");\n res.write(JSON.stringify(json));\n res.end();\n return;\n }\n const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(\n projectRoot,\n {\n constructUrl: () => {\n return `${protocol}://${host}`;\n }\n }\n );\n const origGetBundleUrl = manifestHandlerMiddleware._getBundleUrl.bind(\n manifestHandlerMiddleware\n );\n manifestHandlerMiddleware._getBundleUrl = (...args) => {\n const origBundleUrl = origGetBundleUrl(...args);\n let url = new URL(origBundleUrl);\n if (host) url.host = host;\n url.protocol = protocol;\n url.pathname = \"/index.bundle\";\n return url.toString();\n };\n manifestHandlerMiddleware._origGetManifestResponseAsync = manifestHandlerMiddleware._getManifestResponseAsync;\n manifestHandlerMiddleware._getManifestResponseAsync = async (...args) => {\n try {\n const response = await manifestHandlerMiddleware._origGetManifestResponseAsync(...args);\n const isWebResponse = response instanceof Response;\n const bodyText = isWebResponse ? await response.text() : response.body;\n const [, beforeBodyJson, bodyJson, afterBodyJson] = bodyText.match(/([^{]*)({.*})([^}]*)/) || [];\n if (!bodyJson) {\n throw new Error(`Unrecognized manifest response from expo: ${bodyText}`);\n }\n const parsedBody = JSON.parse(bodyJson);\n if (!parsedBody.extra) {\n parsedBody.extra = {};\n }\n if (!parsedBody.extra.expoClient) {\n parsedBody.extra.expoClient = {};\n }\n if (typeof parsedBody.extra.expoClient.hostUri === \"string\") {\n parsedBody.extra.expoClient.hostUri = parsedBody.extra.expoClient.hostUri.replace(/^https?:\\/\\//, \"\");\n }\n if (typeof parsedBody.extra.expoGo.debuggerHost === \"string\") {\n parsedBody.extra.expoGo.debuggerHost = parsedBody.extra.expoGo.debuggerHost.replace(/^https?:\\/\\//, \"\");\n }\n parsedBody.extra.expoClient.iconUrl = \"https://github.com/user-attachments/assets/6894506b-df81-417c-a4cd-9c125c7ba37f\";\n parsedBody.extra.expoClient.splash = {\n image: \"__vxrn_unstable_internal/icon.png\",\n resizeMode: \"contain\",\n backgroundColor: \"#000000\",\n imageUrl: \"https://github.com/user-attachments/assets/e816c207-e7d2-4c2e-8aa5-0d4cbaa622bf\"\n // TODO: Host this image somewhere.\n };\n const newBody = beforeBodyJson + JSON.stringify(parsedBody) + afterBodyJson;\n if (isWebResponse) {\n return new Response(newBody, {\n status: response.status,\n headers: response.headers\n });\n }\n response.body = newBody;\n return response;\n } catch (e) {\n if (e instanceof Error) {\n e.message = `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e.message}`;\n throw e;\n }\n throw new Error(\n `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e}`\n );\n }\n };\n manifestHandlerMiddleware.handleRequestAsync(req, res, next);\n });\n }\n };\n}\nfunction getIndexJsonResponse({\n port,\n projectRoot\n}) {\n return {\n name: \"myapp\",\n slug: \"myapp\",\n scheme: \"myapp\",\n version: \"1.0.0\",\n jsEngine: \"jsc\",\n orientation: \"portrait\",\n icon: \"./assets/icon.png\",\n userInterfaceStyle: \"light\",\n splash: {\n image: \"./assets/splash.png\",\n resizeMode: \"contain\",\n backgroundColor: \"#ffffff\",\n imageUrl: \"http://127.0.0.1:8081/assets/./assets/splash.png\"\n },\n updates: { fallbackToCacheTimeout: 0 },\n assetBundlePatterns: [\"**/*\"],\n ios: { supportsTablet: true, bundleIdentifier: \"com.natew.myapp\" },\n android: {\n package: \"com.tamagui.myapp\",\n adaptiveIcon: {\n foregroundImage: \"./assets/adaptive-icon.png\",\n backgroundColor: \"#FFFFFF\",\n foregroundImageUrl: \"http://127.0.0.1:8081/assets/./assets/adaptive-icon.png\"\n }\n },\n web: { favicon: \"./assets/favicon.png\" },\n extra: { eas: { projectId: \"061b4470-78c7-4d6a-b850-8167fb0a3434\" } },\n _internal: {\n isDebug: false,\n projectRoot,\n dynamicConfigPath: null,\n staticConfigPath: join(projectRoot, \"app.json\"),\n packageJsonPath: join(projectRoot, \"package.json\")\n },\n sdkVersion: \"50.0.0\",\n platforms: [\"ios\", \"android\", \"web\"],\n iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,\n debuggerHost: `127.0.0.1:${port}`,\n logUrl: `http://127.0.0.1:${port}/logs`,\n developer: { tool: \"expo-cli\", projectRoot },\n packagerOpts: { dev: true },\n mainModuleName: \"index\",\n __flipperHack: \"React Native packager is running\",\n hostUri: `127.0.0.1:${port}`,\n bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,\n id: \"@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78\"\n };\n}\nexport {\n expoManifestRequestHandlerPlugin\n};\n//# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map\n"],"mappings":"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"}