vxrn 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 (442) hide show
  1. package/dist/cli.mjs +288 -0
  2. package/dist/cli.mjs.map +1 -0
  3. package/dist/cli.native.js +292 -0
  4. package/dist/cli.native.js.map +1 -0
  5. package/dist/config/getAdditionalViteConfig.mjs +67 -0
  6. package/dist/config/getAdditionalViteConfig.mjs.map +1 -0
  7. package/dist/config/getAdditionalViteConfig.native.js +67 -0
  8. package/dist/config/getAdditionalViteConfig.native.js.map +1 -0
  9. package/dist/config/getBaseViteConfigOnly.mjs +84 -0
  10. package/dist/config/getBaseViteConfigOnly.mjs.map +1 -0
  11. package/dist/config/getBaseViteConfigOnly.native.js +86 -0
  12. package/dist/config/getBaseViteConfigOnly.native.js.map +1 -0
  13. package/dist/config/getBaseViteConfigWithPlugins.mjs +10 -0
  14. package/dist/config/getBaseViteConfigWithPlugins.mjs.map +1 -0
  15. package/dist/config/getBaseViteConfigWithPlugins.native.js +10 -0
  16. package/dist/config/getBaseViteConfigWithPlugins.native.js.map +1 -0
  17. package/dist/config/getBaseVitePlugins.mjs +141 -0
  18. package/dist/config/getBaseVitePlugins.mjs.map +1 -0
  19. package/dist/config/getBaseVitePlugins.native.js +163 -0
  20. package/dist/config/getBaseVitePlugins.native.js.map +1 -0
  21. package/dist/config/getNonCliModeOnlyVitePlugins.mjs +8 -0
  22. package/dist/config/getNonCliModeOnlyVitePlugins.mjs.map +1 -0
  23. package/dist/config/getNonCliModeOnlyVitePlugins.native.js +6 -0
  24. package/dist/config/getNonCliModeOnlyVitePlugins.native.js.map +1 -0
  25. package/dist/config/getOptimizeDeps.mjs +47 -0
  26. package/dist/config/getOptimizeDeps.mjs.map +1 -0
  27. package/dist/config/getOptimizeDeps.native.js +47 -0
  28. package/dist/config/getOptimizeDeps.native.js.map +1 -0
  29. package/dist/config/getOptimizeDeps.test.mjs +20 -0
  30. package/dist/config/getOptimizeDeps.test.mjs.map +1 -0
  31. package/dist/config/getOptimizeDeps.test.native.js +39 -0
  32. package/dist/config/getOptimizeDeps.test.native.js.map +1 -0
  33. package/dist/config/getOptionsFilled.mjs +69 -0
  34. package/dist/config/getOptionsFilled.mjs.map +1 -0
  35. package/dist/config/getOptionsFilled.native.js +73 -0
  36. package/dist/config/getOptionsFilled.native.js.map +1 -0
  37. package/dist/config/getReactNativePlugins.mjs +23 -0
  38. package/dist/config/getReactNativePlugins.mjs.map +1 -0
  39. package/dist/config/getReactNativePlugins.native.js +25 -0
  40. package/dist/config/getReactNativePlugins.native.js.map +1 -0
  41. package/dist/config/getServerOptionsFilled.mjs +40 -0
  42. package/dist/config/getServerOptionsFilled.mjs.map +1 -0
  43. package/dist/config/getServerOptionsFilled.native.js +43 -0
  44. package/dist/config/getServerOptionsFilled.native.js.map +1 -0
  45. package/dist/config/getServerOptionsFilled.test.mjs +20 -0
  46. package/dist/config/getServerOptionsFilled.test.mjs.map +1 -0
  47. package/dist/config/getServerOptionsFilled.test.native.js +20 -0
  48. package/dist/config/getServerOptionsFilled.test.native.js.map +1 -0
  49. package/dist/config/getViteServerConfig.mjs +51 -0
  50. package/dist/config/getViteServerConfig.mjs.map +1 -0
  51. package/dist/config/getViteServerConfig.native.js +52 -0
  52. package/dist/config/getViteServerConfig.native.js.map +1 -0
  53. package/dist/config/mergeUserConfig.mjs +37 -0
  54. package/dist/config/mergeUserConfig.mjs.map +1 -0
  55. package/dist/config/mergeUserConfig.native.js +47 -0
  56. package/dist/config/mergeUserConfig.native.js.map +1 -0
  57. package/dist/config/mergeUserConfig.test.mjs +108 -0
  58. package/dist/config/mergeUserConfig.test.mjs.map +1 -0
  59. package/dist/config/mergeUserConfig.test.native.js +108 -0
  60. package/dist/config/mergeUserConfig.test.native.js.map +1 -0
  61. package/dist/constants/defaults.mjs +15 -0
  62. package/dist/constants/defaults.mjs.map +1 -0
  63. package/dist/constants/defaults.native.js +15 -0
  64. package/dist/constants/defaults.native.js.map +1 -0
  65. package/dist/constants.mjs +10 -0
  66. package/dist/constants.mjs.map +1 -0
  67. package/dist/constants.native.js +10 -0
  68. package/dist/constants.native.js.map +1 -0
  69. package/dist/exports/build.mjs +294 -0
  70. package/dist/exports/build.mjs.map +1 -0
  71. package/dist/exports/build.native.js +307 -0
  72. package/dist/exports/build.native.js.map +1 -0
  73. package/dist/exports/clean.mjs +99 -0
  74. package/dist/exports/clean.mjs.map +1 -0
  75. package/dist/exports/clean.native.js +111 -0
  76. package/dist/exports/clean.native.js.map +1 -0
  77. package/dist/exports/clean.test.mjs +81 -0
  78. package/dist/exports/clean.test.mjs.map +1 -0
  79. package/dist/exports/clean.test.native.js +88 -0
  80. package/dist/exports/clean.test.native.js.map +1 -0
  81. package/dist/exports/createServer.mjs +56 -0
  82. package/dist/exports/createServer.mjs.map +1 -0
  83. package/dist/exports/createServer.native.js +57 -0
  84. package/dist/exports/createServer.native.js.map +1 -0
  85. package/dist/exports/dev.mjs +204 -0
  86. package/dist/exports/dev.mjs.map +1 -0
  87. package/dist/exports/dev.native.js +218 -0
  88. package/dist/exports/dev.native.js.map +1 -0
  89. package/dist/exports/loadEnv.mjs +65 -0
  90. package/dist/exports/loadEnv.mjs.map +1 -0
  91. package/dist/exports/loadEnv.native.js +74 -0
  92. package/dist/exports/loadEnv.native.js.map +1 -0
  93. package/dist/exports/loadEnv.test.mjs +65 -0
  94. package/dist/exports/loadEnv.test.mjs.map +1 -0
  95. package/dist/exports/loadEnv.test.native.js +65 -0
  96. package/dist/exports/loadEnv.test.native.js.map +1 -0
  97. package/dist/exports/patch.mjs +12 -0
  98. package/dist/exports/patch.mjs.map +1 -0
  99. package/dist/exports/patch.native.js +12 -0
  100. package/dist/exports/patch.native.js.map +1 -0
  101. package/dist/exports/prebuild.mjs +212 -0
  102. package/dist/exports/prebuild.mjs.map +1 -0
  103. package/dist/exports/prebuild.native.js +215 -0
  104. package/dist/exports/prebuild.native.js.map +1 -0
  105. package/dist/exports/prebuildWithoutExpo.mjs +53 -0
  106. package/dist/exports/prebuildWithoutExpo.mjs.map +1 -0
  107. package/dist/exports/prebuildWithoutExpo.native.js +54 -0
  108. package/dist/exports/prebuildWithoutExpo.native.js.map +1 -0
  109. package/dist/exports/runAndroid.mjs +14 -0
  110. package/dist/exports/runAndroid.mjs.map +1 -0
  111. package/dist/exports/runAndroid.native.js +15 -0
  112. package/dist/exports/runAndroid.native.js.map +1 -0
  113. package/dist/exports/runIos.mjs +14 -0
  114. package/dist/exports/runIos.mjs.map +1 -0
  115. package/dist/exports/runIos.native.js +15 -0
  116. package/dist/exports/runIos.native.js.map +1 -0
  117. package/dist/exports/serve.mjs +37 -0
  118. package/dist/exports/serve.mjs.map +1 -0
  119. package/dist/exports/serve.native.js +40 -0
  120. package/dist/exports/serve.native.js.map +1 -0
  121. package/dist/exports/serveStaticAssets.mjs +133 -0
  122. package/dist/exports/serveStaticAssets.mjs.map +1 -0
  123. package/dist/exports/serveStaticAssets.native.js +213 -0
  124. package/dist/exports/serveStaticAssets.native.js.map +1 -0
  125. package/dist/index.js +22 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/index.mjs +22 -0
  128. package/dist/index.mjs.map +1 -0
  129. package/dist/index.native.js +22 -0
  130. package/dist/index.native.js.map +1 -0
  131. package/dist/patches/builtInDepPatches.mjs +483 -0
  132. package/dist/patches/builtInDepPatches.mjs.map +1 -0
  133. package/dist/patches/builtInDepPatches.native.js +486 -0
  134. package/dist/patches/builtInDepPatches.native.js.map +1 -0
  135. package/dist/plugins/applyBuiltInPatchesPlugin.mjs +17 -0
  136. package/dist/plugins/applyBuiltInPatchesPlugin.mjs.map +1 -0
  137. package/dist/plugins/applyBuiltInPatchesPlugin.native.js +17 -0
  138. package/dist/plugins/applyBuiltInPatchesPlugin.native.js.map +1 -0
  139. package/dist/plugins/autoDepOptimizePlugin.mjs +108 -0
  140. package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -0
  141. package/dist/plugins/autoDepOptimizePlugin.native.js +121 -0
  142. package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -0
  143. package/dist/plugins/autoDepOptimizePlugin.test.mjs +31 -0
  144. package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +1 -0
  145. package/dist/plugins/autoDepOptimizePlugin.test.native.js +39 -0
  146. package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +1 -0
  147. package/dist/plugins/clientInjectPlugin.mjs +16 -0
  148. package/dist/plugins/clientInjectPlugin.mjs.map +1 -0
  149. package/dist/plugins/clientInjectPlugin.native.js +16 -0
  150. package/dist/plugins/clientInjectPlugin.native.js.map +1 -0
  151. package/dist/plugins/defaultDepOptimizePlugin.mjs +30 -0
  152. package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -0
  153. package/dist/plugins/defaultDepOptimizePlugin.native.js +30 -0
  154. package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -0
  155. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +189 -0
  156. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
  157. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +202 -0
  158. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  159. package/dist/plugins/getResolvedConfigSubset.mjs +12 -0
  160. package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -0
  161. package/dist/plugins/getResolvedConfigSubset.native.js +12 -0
  162. package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -0
  163. package/dist/plugins/reactNativeCommonJsPlugin.mjs +194 -0
  164. package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -0
  165. package/dist/plugins/reactNativeCommonJsPlugin.native.js +275 -0
  166. package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -0
  167. package/dist/plugins/reactNativeDevAssetPlugin.mjs +99 -0
  168. package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -0
  169. package/dist/plugins/reactNativeDevAssetPlugin.native.js +108 -0
  170. package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -0
  171. package/dist/plugins/reactNativeDevServer.mjs +221 -0
  172. package/dist/plugins/reactNativeDevServer.mjs.map +1 -0
  173. package/dist/plugins/reactNativeDevServer.native.js +263 -0
  174. package/dist/plugins/reactNativeDevServer.native.js.map +1 -0
  175. package/dist/plugins/resolveIdScan.test.mjs +31 -0
  176. package/dist/plugins/resolveIdScan.test.mjs.map +1 -0
  177. package/dist/plugins/resolveIdScan.test.native.js +38 -0
  178. package/dist/plugins/resolveIdScan.test.native.js.map +1 -0
  179. package/dist/plugins/rollupRemoveUnusedImports.mjs +11 -0
  180. package/dist/plugins/rollupRemoveUnusedImports.mjs.map +1 -0
  181. package/dist/plugins/rollupRemoveUnusedImports.native.js +11 -0
  182. package/dist/plugins/rollupRemoveUnusedImports.native.js.map +1 -0
  183. package/dist/plugins/serverExtensions.test.mjs +106 -0
  184. package/dist/plugins/serverExtensions.test.mjs.map +1 -0
  185. package/dist/plugins/serverExtensions.test.native.js +117 -0
  186. package/dist/plugins/serverExtensions.test.native.js.map +1 -0
  187. package/dist/rn-commands/bundle/buildBundle.mjs +68 -0
  188. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -0
  189. package/dist/rn-commands/bundle/buildBundle.native.js +75 -0
  190. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -0
  191. package/dist/runtime/hmr-client.mjs +145 -0
  192. package/dist/runtime/hmr-client.mjs.map +1 -0
  193. package/dist/runtime/hmr-client.native.js +237 -0
  194. package/dist/runtime/hmr-client.native.js.map +1 -0
  195. package/dist/runtime/hmr-runtime.mjs +200 -0
  196. package/dist/runtime/hmr-runtime.mjs.map +1 -0
  197. package/dist/runtime/hmr-runtime.native.js +441 -0
  198. package/dist/runtime/hmr-runtime.native.js.map +1 -0
  199. package/dist/runtime/hmr-types.mjs +2 -0
  200. package/dist/runtime/hmr-types.mjs.map +1 -0
  201. package/dist/runtime/hmr-types.native.js +2 -0
  202. package/dist/runtime/hmr-types.native.js.map +1 -0
  203. package/dist/runtime/native-prelude.mjs +94 -0
  204. package/dist/runtime/native-prelude.mjs.map +1 -0
  205. package/dist/runtime/native-prelude.native.js +94 -0
  206. package/dist/runtime/native-prelude.native.js.map +1 -0
  207. package/dist/runtime/react-refresh-utils.mjs +29 -0
  208. package/dist/runtime/react-refresh-utils.mjs.map +1 -0
  209. package/dist/runtime/react-refresh-utils.native.js +34 -0
  210. package/dist/runtime/react-refresh-utils.native.js.map +1 -0
  211. package/dist/serve/node.mjs +62 -0
  212. package/dist/serve/node.mjs.map +1 -0
  213. package/dist/serve/node.native.js +107 -0
  214. package/dist/serve/node.native.js.map +1 -0
  215. package/dist/serve/node.test.mjs +60 -0
  216. package/dist/serve/node.test.mjs.map +1 -0
  217. package/dist/serve/node.test.native.js +72 -0
  218. package/dist/serve/node.test.native.js.map +1 -0
  219. package/dist/types.mjs +2 -0
  220. package/dist/types.mjs.map +1 -0
  221. package/dist/types.native.js +2 -0
  222. package/dist/types.native.js.map +1 -0
  223. package/dist/user-interface/index.mjs +312 -0
  224. package/dist/user-interface/index.mjs.map +1 -0
  225. package/dist/user-interface/index.native.js +349 -0
  226. package/dist/user-interface/index.native.js.map +1 -0
  227. package/dist/utils/assert.mjs +12 -0
  228. package/dist/utils/assert.mjs.map +1 -0
  229. package/dist/utils/assert.native.js +24 -0
  230. package/dist/utils/assert.native.js.map +1 -0
  231. package/dist/utils/bindKeypressInput.mjs +47 -0
  232. package/dist/utils/bindKeypressInput.mjs.map +1 -0
  233. package/dist/utils/bindKeypressInput.native.js +47 -0
  234. package/dist/utils/bindKeypressInput.native.js.map +1 -0
  235. package/dist/utils/bindKeypressInput.test.mjs +48 -0
  236. package/dist/utils/bindKeypressInput.test.mjs.map +1 -0
  237. package/dist/utils/bindKeypressInput.test.native.js +48 -0
  238. package/dist/utils/bindKeypressInput.test.native.js.map +1 -0
  239. package/dist/utils/coerceToArray.mjs +5 -0
  240. package/dist/utils/coerceToArray.mjs.map +1 -0
  241. package/dist/utils/coerceToArray.native.js +5 -0
  242. package/dist/utils/coerceToArray.native.js.map +1 -0
  243. package/dist/utils/connectedNativeClients.mjs +9 -0
  244. package/dist/utils/connectedNativeClients.mjs.map +1 -0
  245. package/dist/utils/connectedNativeClients.native.js +9 -0
  246. package/dist/utils/connectedNativeClients.native.js.map +1 -0
  247. package/dist/utils/createNativeDevEngine.mjs +939 -0
  248. package/dist/utils/createNativeDevEngine.mjs.map +1 -0
  249. package/dist/utils/createNativeDevEngine.native.js +999 -0
  250. package/dist/utils/createNativeDevEngine.native.js.map +1 -0
  251. package/dist/utils/createNativeDevEngine.test.mjs +169 -0
  252. package/dist/utils/createNativeDevEngine.test.mjs.map +1 -0
  253. package/dist/utils/createNativeDevEngine.test.native.js +203 -0
  254. package/dist/utils/createNativeDevEngine.test.native.js.map +1 -0
  255. package/dist/utils/dispose.mjs +9 -0
  256. package/dist/utils/dispose.mjs.map +1 -0
  257. package/dist/utils/dispose.native.js +11 -0
  258. package/dist/utils/dispose.native.js.map +1 -0
  259. package/dist/utils/environmentUtils.mjs +14 -0
  260. package/dist/utils/environmentUtils.mjs.map +1 -0
  261. package/dist/utils/environmentUtils.native.js +14 -0
  262. package/dist/utils/environmentUtils.native.js.map +1 -0
  263. package/dist/utils/execSync.mjs +9 -0
  264. package/dist/utils/execSync.mjs.map +1 -0
  265. package/dist/utils/execSync.native.js +9 -0
  266. package/dist/utils/execSync.native.js.map +1 -0
  267. package/dist/utils/expoRun.mjs +48 -0
  268. package/dist/utils/expoRun.mjs.map +1 -0
  269. package/dist/utils/expoRun.native.js +49 -0
  270. package/dist/utils/expoRun.native.js.map +1 -0
  271. package/dist/utils/filterViteServerResolvedUrls.mjs +29 -0
  272. package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -0
  273. package/dist/utils/filterViteServerResolvedUrls.native.js +70 -0
  274. package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -0
  275. package/dist/utils/getBoundPort.mjs +9 -0
  276. package/dist/utils/getBoundPort.mjs.map +1 -0
  277. package/dist/utils/getBoundPort.native.js +16 -0
  278. package/dist/utils/getBoundPort.native.js.map +1 -0
  279. package/dist/utils/getBoundPort.test.mjs +71 -0
  280. package/dist/utils/getBoundPort.test.mjs.map +1 -0
  281. package/dist/utils/getBoundPort.test.native.js +82 -0
  282. package/dist/utils/getBoundPort.test.native.js.map +1 -0
  283. package/dist/utils/getCacheDir.mjs +6 -0
  284. package/dist/utils/getCacheDir.mjs.map +1 -0
  285. package/dist/utils/getCacheDir.native.js +6 -0
  286. package/dist/utils/getCacheDir.native.js.map +1 -0
  287. package/dist/utils/getServerEntry.mjs +10 -0
  288. package/dist/utils/getServerEntry.mjs.map +1 -0
  289. package/dist/utils/getServerEntry.native.js +17 -0
  290. package/dist/utils/getServerEntry.native.js.map +1 -0
  291. package/dist/utils/getVitePath.mjs +49 -0
  292. package/dist/utils/getVitePath.mjs.map +1 -0
  293. package/dist/utils/getVitePath.native.js +48 -0
  294. package/dist/utils/getVitePath.native.js.map +1 -0
  295. package/dist/utils/globDir.mjs +18 -0
  296. package/dist/utils/globDir.mjs.map +1 -0
  297. package/dist/utils/globDir.native.js +21 -0
  298. package/dist/utils/globDir.native.js.map +1 -0
  299. package/dist/utils/imageSizePatch.test.mjs +29 -0
  300. package/dist/utils/imageSizePatch.test.mjs.map +1 -0
  301. package/dist/utils/imageSizePatch.test.native.js +30 -0
  302. package/dist/utils/imageSizePatch.test.native.js.map +1 -0
  303. package/dist/utils/isWithin.mjs +7 -0
  304. package/dist/utils/isWithin.mjs.map +1 -0
  305. package/dist/utils/isWithin.native.js +7 -0
  306. package/dist/utils/isWithin.native.js.map +1 -0
  307. package/dist/utils/patches.mjs +279 -0
  308. package/dist/utils/patches.mjs.map +1 -0
  309. package/dist/utils/patches.native.js +508 -0
  310. package/dist/utils/patches.native.js.map +1 -0
  311. package/dist/utils/patches.test.mjs +214 -0
  312. package/dist/utils/patches.test.mjs.map +1 -0
  313. package/dist/utils/patches.test.native.js +224 -0
  314. package/dist/utils/patches.test.native.js.map +1 -0
  315. package/dist/utils/printServerUrls.mjs +12 -0
  316. package/dist/utils/printServerUrls.mjs.map +1 -0
  317. package/dist/utils/printServerUrls.native.js +56 -0
  318. package/dist/utils/printServerUrls.native.js.map +1 -0
  319. package/dist/utils/removeUndefined.mjs +11 -0
  320. package/dist/utils/removeUndefined.mjs.map +1 -0
  321. package/dist/utils/removeUndefined.native.js +11 -0
  322. package/dist/utils/removeUndefined.native.js.map +1 -0
  323. package/dist/utils/scanDepsToOptimize.mjs +176 -0
  324. package/dist/utils/scanDepsToOptimize.mjs.map +1 -0
  325. package/dist/utils/scanDepsToOptimize.native.js +212 -0
  326. package/dist/utils/scanDepsToOptimize.native.js.map +1 -0
  327. package/dist/utils/state.mjs +28 -0
  328. package/dist/utils/state.mjs.map +1 -0
  329. package/dist/utils/state.native.js +28 -0
  330. package/dist/utils/state.native.js.map +1 -0
  331. package/dist/utils/uniq.mjs +5 -0
  332. package/dist/utils/uniq.mjs.map +1 -0
  333. package/dist/utils/uniq.native.js +5 -0
  334. package/dist/utils/uniq.native.js.map +1 -0
  335. package/dist/utils/utils.mjs +32 -0
  336. package/dist/utils/utils.mjs.map +1 -0
  337. package/dist/utils/utils.native.js +53 -0
  338. package/dist/utils/utils.native.js.map +1 -0
  339. package/dist/vendor/debugger-app/index.mjs +2 -0
  340. package/dist/vendor/debugger-app/index.mjs.map +1 -0
  341. package/dist/vendor/debugger-app/index.native.js +2 -0
  342. package/dist/vendor/debugger-app/index.native.js.map +1 -0
  343. package/dist/vendor/debugger-app/src/debuggerWorker.mjs +2 -0
  344. package/dist/vendor/debugger-app/src/debuggerWorker.mjs.map +1 -0
  345. package/dist/vendor/debugger-app/src/debuggerWorker.native.js +2 -0
  346. package/dist/vendor/debugger-app/src/debuggerWorker.native.js.map +1 -0
  347. package/dist/vendor/debugger-app/src/index.css +41 -0
  348. package/dist/vendor/debugger-app/src/index.css.map +6 -0
  349. package/dist/vendor/debugger-app/src/index.mjs +2 -0
  350. package/dist/vendor/debugger-app/src/index.mjs.map +1 -0
  351. package/dist/vendor/debugger-app/src/index.native.js +2 -0
  352. package/dist/vendor/debugger-app/src/index.native.js.map +1 -0
  353. package/dist/vxrn-vite-plugin.mjs +44 -0
  354. package/dist/vxrn-vite-plugin.mjs.map +1 -0
  355. package/dist/vxrn-vite-plugin.native.js +45 -0
  356. package/dist/vxrn-vite-plugin.native.js.map +1 -0
  357. package/package.json +11 -11
  358. package/types/cli.d.ts.map +1 -0
  359. package/types/config/getAdditionalViteConfig.d.ts.map +1 -0
  360. package/types/config/getBaseViteConfigOnly.d.ts.map +1 -0
  361. package/types/config/getBaseViteConfigWithPlugins.d.ts.map +1 -0
  362. package/types/config/getBaseVitePlugins.d.ts.map +1 -0
  363. package/types/config/getNonCliModeOnlyVitePlugins.d.ts.map +1 -0
  364. package/types/config/getOptimizeDeps.d.ts.map +1 -0
  365. package/types/config/getOptimizeDeps.test.d.ts.map +1 -0
  366. package/types/config/getOptionsFilled.d.ts.map +1 -0
  367. package/types/config/getReactNativePlugins.d.ts.map +1 -0
  368. package/types/config/getServerOptionsFilled.d.ts.map +1 -0
  369. package/types/config/getServerOptionsFilled.test.d.ts.map +1 -0
  370. package/types/config/getViteServerConfig.d.ts.map +1 -0
  371. package/types/config/mergeUserConfig.d.ts.map +1 -0
  372. package/types/config/mergeUserConfig.test.d.ts.map +1 -0
  373. package/types/constants/defaults.d.ts.map +1 -0
  374. package/types/constants.d.ts.map +1 -0
  375. package/types/exports/build.d.ts.map +1 -0
  376. package/types/exports/clean.d.ts.map +1 -0
  377. package/types/exports/clean.test.d.ts.map +1 -0
  378. package/types/exports/createServer.d.ts.map +1 -0
  379. package/types/exports/dev.d.ts.map +1 -0
  380. package/types/exports/loadEnv.d.ts.map +1 -0
  381. package/types/exports/loadEnv.test.d.ts.map +1 -0
  382. package/types/exports/patch.d.ts.map +1 -0
  383. package/types/exports/prebuild.d.ts.map +1 -0
  384. package/types/exports/prebuildWithoutExpo.d.ts.map +1 -0
  385. package/types/exports/runAndroid.d.ts.map +1 -0
  386. package/types/exports/runIos.d.ts.map +1 -0
  387. package/types/exports/serve.d.ts.map +1 -0
  388. package/types/exports/serveStaticAssets.d.ts.map +1 -0
  389. package/types/index.d.ts.map +1 -0
  390. package/types/patches/builtInDepPatches.d.ts.map +1 -0
  391. package/types/plugins/applyBuiltInPatchesPlugin.d.ts.map +1 -0
  392. package/types/plugins/autoDepOptimizePlugin.d.ts.map +1 -0
  393. package/types/plugins/autoDepOptimizePlugin.test.d.ts.map +1 -0
  394. package/types/plugins/clientInjectPlugin.d.ts.map +1 -0
  395. package/types/plugins/defaultDepOptimizePlugin.d.ts.map +1 -0
  396. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
  397. package/types/plugins/getResolvedConfigSubset.d.ts.map +1 -0
  398. package/types/plugins/reactNativeCommonJsPlugin.d.ts.map +1 -0
  399. package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -0
  400. package/types/plugins/reactNativeDevServer.d.ts.map +1 -0
  401. package/types/plugins/resolveIdScan.test.d.ts.map +1 -0
  402. package/types/plugins/rollupRemoveUnusedImports.d.ts.map +1 -0
  403. package/types/plugins/serverExtensions.test.d.ts.map +1 -0
  404. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -0
  405. package/types/runtime/hmr-client.d.ts.map +1 -0
  406. package/types/runtime/hmr-runtime.d.ts.map +1 -0
  407. package/types/runtime/hmr-types.d.ts.map +1 -0
  408. package/types/runtime/native-prelude.d.ts.map +1 -0
  409. package/types/runtime/react-refresh-utils.d.ts.map +1 -0
  410. package/types/serve/node.d.ts.map +1 -0
  411. package/types/serve/node.test.d.ts.map +1 -0
  412. package/types/types.d.ts.map +1 -0
  413. package/types/user-interface/index.d.ts.map +1 -0
  414. package/types/utils/assert.d.ts.map +1 -0
  415. package/types/utils/bindKeypressInput.d.ts.map +1 -0
  416. package/types/utils/bindKeypressInput.test.d.ts.map +1 -0
  417. package/types/utils/coerceToArray.d.ts.map +1 -0
  418. package/types/utils/connectedNativeClients.d.ts.map +1 -0
  419. package/types/utils/createNativeDevEngine.d.ts.map +1 -0
  420. package/types/utils/createNativeDevEngine.test.d.ts.map +1 -0
  421. package/types/utils/dispose.d.ts.map +1 -0
  422. package/types/utils/environmentUtils.d.ts.map +1 -0
  423. package/types/utils/execSync.d.ts.map +1 -0
  424. package/types/utils/expoRun.d.ts.map +1 -0
  425. package/types/utils/filterViteServerResolvedUrls.d.ts.map +1 -0
  426. package/types/utils/getBoundPort.d.ts.map +1 -0
  427. package/types/utils/getBoundPort.test.d.ts.map +1 -0
  428. package/types/utils/getCacheDir.d.ts.map +1 -0
  429. package/types/utils/getServerEntry.d.ts.map +1 -0
  430. package/types/utils/getVitePath.d.ts.map +1 -0
  431. package/types/utils/globDir.d.ts.map +1 -0
  432. package/types/utils/imageSizePatch.test.d.ts.map +1 -0
  433. package/types/utils/isWithin.d.ts.map +1 -0
  434. package/types/utils/patches.d.ts.map +1 -0
  435. package/types/utils/patches.test.d.ts.map +1 -0
  436. package/types/utils/printServerUrls.d.ts.map +1 -0
  437. package/types/utils/removeUndefined.d.ts.map +1 -0
  438. package/types/utils/scanDepsToOptimize.d.ts.map +1 -0
  439. package/types/utils/state.d.ts.map +1 -0
  440. package/types/utils/uniq.d.ts.map +1 -0
  441. package/types/utils/utils.d.ts.map +1 -0
  442. package/types/vxrn-vite-plugin.d.ts.map +1 -0
@@ -0,0 +1,312 @@
1
+ import { exec } from "node:child_process";
2
+ import module from "node:module";
3
+ import { pathToFileURL } from "node:url";
4
+ import { filterViteServerResolvedUrls } from "../utils/filterViteServerResolvedUrls.mjs";
5
+ import { getBoundPort } from "../utils/getBoundPort.mjs";
6
+ const COMMANDS = [{
7
+ keys: "ow",
8
+ label: "open web",
9
+ terminalLabel: "\x1B[1mo\x1B[0mpen \x1B[1mw\x1B[0meb",
10
+ action: ctx => {
11
+ const url = ctx.server.resolvedUrls?.local[0];
12
+ if (!url) {
13
+ console.warn("Cannot get the local server URL.");
14
+ return;
15
+ }
16
+ nativeOpen(url);
17
+ }
18
+ }, {
19
+ keys: "oi",
20
+ label: "open app in iOS Simulator",
21
+ terminalLabel: "\x1B[1mo\x1B[0mpen app in \x1B[1mi\x1B[0mOS Simulator",
22
+ action: ctx => {
23
+ openIos(ctx);
24
+ }
25
+ }, {
26
+ keys: "oa",
27
+ label: "open app in Android Emulator",
28
+ terminalLabel: "\x1B[1mo\x1B[0mpen app in \x1B[1mA\x1B[0mndroid Emulator",
29
+ action: ctx => {
30
+ openAndroid(ctx);
31
+ }
32
+ }, {
33
+ keys: "oe",
34
+ label: "open editor",
35
+ terminalLabel: "\x1B[1mo\x1B[0mpen \x1B[1me\x1B[0mditor",
36
+ action: async ctx => {
37
+ const {
38
+ defaultEditor
39
+ } = await import("env-editor");
40
+ exec(`${defaultEditor().binary} .`);
41
+ }
42
+ }, {
43
+ keys: "qr",
44
+ label: "show Expo Go QR code",
45
+ terminalLabel: "show Expo Go \x1B[1mQR\x1B[0m code",
46
+ action: ctx => {
47
+ const url = getExpoGoUrl(ctx);
48
+ if (!url) {
49
+ return;
50
+ }
51
+ printNativeQrCodeAndInstructions(url);
52
+ }
53
+ },
54
+ // TODO this would need to be per-platform
55
+ {
56
+ keys: "dt",
57
+ label: "open React Native DevTools",
58
+ terminalLabel: "open React Native \x1B[1mD\x1B[0mev\x1B[1mT\x1B[0mools",
59
+ action: ctx => {
60
+ const {
61
+ host,
62
+ port
63
+ } = ctx.server.config.server;
64
+ const serverUrl = `http://${typeof host === "string" && !!host ? host : "localhost"}:${port}`;
65
+ const url = new URL("/open-debugger", serverUrl);
66
+ (async () => {
67
+ const response = await fetch(url, {
68
+ method: "POST",
69
+ signal: AbortSignal.timeout(3e3)
70
+ }).catch(error => {
71
+ if (error.name === "TimeoutError") {
72
+ return null;
73
+ }
74
+ throw error;
75
+ });
76
+ if (!response) {} else if (response.ok === false) {
77
+ const responseText = await response.text();
78
+ if (responseText.includes("Unable to find debugger target")) {
79
+ return;
80
+ }
81
+ console.warn(`Failed to open React Native DevTools, ${url} returns ${response.status}: ${responseText}.`);
82
+ }
83
+ })();
84
+ }
85
+ }, {
86
+ keys: "?",
87
+ label: "open editor",
88
+ terminalLabel: "show this menu",
89
+ action: async ctx => {}
90
+ }];
91
+ async function startUserInterface(context) {
92
+ if (!supportsKeyboardCommands()) {
93
+ return;
94
+ }
95
+ printCommandsTable(context);
96
+ startInterceptingKeyStrokes(context);
97
+ }
98
+ function printCommandsTable(context) {
99
+ const longestKeyLength = COMMANDS.reduce((max, command) => Math.max(max, command.keys.length), 0);
100
+ const commandsInfo = COMMANDS.map(cmd => getCommandInfoInTerminal(cmd, {
101
+ longestKeyLength
102
+ })).join("\n");
103
+ console.info(`
104
+ ${commandsInfo}
105
+ `);
106
+ }
107
+ function getCommandInfoInTerminal(command, {
108
+ longestKeyLength = 0
109
+ } = {}) {
110
+ return `\x1B[90m\u203A\x1B[0m Press \x1B[1m${longestKeyLength ? command.keys.padEnd(longestKeyLength, " ") : command.keys}\x1B[0m \x1B[90m\u2502\x1B[0m ${command.terminalLabel}`;
111
+ }
112
+ function restoreTerminal() {
113
+ const {
114
+ stdin
115
+ } = process;
116
+ if (stdin.isTTY && stdin.setRawMode) {
117
+ try {
118
+ stdin.setRawMode(false);
119
+ } catch {}
120
+ }
121
+ process.stdout.write("\x1B[0m");
122
+ }
123
+ function supportsKeyboardCommands() {
124
+ const {
125
+ stdin
126
+ } = process;
127
+ return Boolean(stdin.isTTY && stdin.setRawMode);
128
+ }
129
+ function startInterceptingKeyStrokes(context) {
130
+ const {
131
+ stdin
132
+ } = process;
133
+ if (!supportsKeyboardCommands()) {
134
+ return;
135
+ }
136
+ stdin.setRawMode(true);
137
+ stdin.resume();
138
+ stdin.setEncoding("utf8");
139
+ stdin.on("data", handleKeypress.bind(null, context));
140
+ stdin.unref();
141
+ process.on("exit", restoreTerminal);
142
+ process.on("SIGINT", () => {
143
+ restoreTerminal();
144
+ process.exit(0);
145
+ });
146
+ process.on("SIGTERM", () => {
147
+ restoreTerminal();
148
+ process.exit(0);
149
+ });
150
+ }
151
+ let pressedKeys = "";
152
+ let clearPressedKeysTimer = null;
153
+ function clearPressedKeys() {
154
+ pressedKeys = "";
155
+ clearPrintedInfo();
156
+ }
157
+ function resetClearPressedKeysTimer() {
158
+ if (clearPressedKeysTimer) {
159
+ clearTimeout(clearPressedKeysTimer);
160
+ }
161
+ clearPressedKeysTimer = setTimeout(clearPressedKeys, 3e3);
162
+ clearPressedKeysTimer.unref();
163
+ }
164
+ function handleKeypress(context, key) {
165
+ if (key === "\x1B") {
166
+ clearPrintedInfo();
167
+ pressedKeys = "";
168
+ return;
169
+ }
170
+ if (key === "?" || key === "/") {
171
+ clearPrintedInfo();
172
+ console.info("> ?\n\u21D2 Available commands:");
173
+ printCommandsTable(context);
174
+ return;
175
+ }
176
+ resetClearPressedKeysTimer();
177
+ if (key === "\x7F") {
178
+ pressedKeys = pressedKeys.slice(0, -1);
179
+ } else {
180
+ key = key.toLowerCase();
181
+ if (/^[a-z]$/.test(key)) {
182
+ pressedKeys += key;
183
+ }
184
+ }
185
+ if (pressedKeys.length === 0) {
186
+ clearPrintedInfo();
187
+ return;
188
+ }
189
+ const matchedCommand = COMMANDS.find(command => command.keys === pressedKeys);
190
+ if (matchedCommand) {
191
+ clearPrintedInfo();
192
+ console.info(`> ${matchedCommand.keys}
193
+ \u21D2 ${matchedCommand.label}...`);
194
+ pressedKeys = "";
195
+ setTimeout(() => matchedCommand.action?.(context), 500);
196
+ return;
197
+ }
198
+ if (pressedKeys.length >= 3) {
199
+ clearPrintedInfo();
200
+ console.info(`> ${pressedKeys}
201
+ No matching command for "${pressedKeys}"! Press "?" for help.`);
202
+ pressedKeys = "";
203
+ return;
204
+ }
205
+ const possibleCommands = COMMANDS.filter(command => command.keys.startsWith(pressedKeys));
206
+ const commandsInfo = possibleCommands.map(command => {
207
+ const matchedPart = command.keys.slice(0, pressedKeys.length);
208
+ const remainingPart = command.keys.slice(pressedKeys.length);
209
+ return ` \x1B[4m${matchedPart}\x1B[0m\x1B[1m${remainingPart}\x1B[0m\x1B[90m - \x1B[0m${command.terminalLabel}`;
210
+ }).join("\n");
211
+ const infoToPrint = `
212
+ ${commandsInfo}
213
+ > ${pressedKeys}`;
214
+ printInfo(infoToPrint);
215
+ }
216
+ let lastPrintedInfo = "";
217
+ function printInfo(info) {
218
+ clearPrintedInfo();
219
+ lastPrintedInfo = info;
220
+ process.stdout.write(info);
221
+ }
222
+ function clearPrintedInfo() {
223
+ if (lastPrintedInfo) {
224
+ process.stdout.write("\x1B[2K");
225
+ process.stdout.write("\x1B[1A\x1B[2K".repeat(lastPrintedInfo.split("\n").length - 1));
226
+ process.stdout.write("\x1B[2K");
227
+ process.stdout.write("\x1B[G");
228
+ }
229
+ lastPrintedInfo = "";
230
+ }
231
+ async function printNativeQrCodeAndInstructions(url) {
232
+ const qrcode = await import("qrcode-terminal");
233
+ (qrcode.default || qrcode).generate(url, {
234
+ small: true
235
+ }, code => {
236
+ console.info(`To open the app on your iPhone, install the Expo Go app and scan the QR code below with your iPhone camera:
237
+ ${code}`);
238
+ });
239
+ }
240
+ function nativeOpen(url) {
241
+ const start = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
242
+ exec(`${start} ${url}`);
243
+ }
244
+ async function openIos(ctx) {
245
+ const projectRoot = ctx.server.config.root;
246
+ const port = getBoundPort(ctx.server);
247
+ try {
248
+ const require2 = module.createRequire(projectRoot);
249
+ const applePlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/ios/ApplePlatformManager.js", {
250
+ paths: [projectRoot]
251
+ });
252
+ const applePlatformManagerModule = await import(pathToFileURL(applePlatformManagerModuleImportPath).href);
253
+ const PlatformManager = applePlatformManagerModule.default.ApplePlatformManager;
254
+ const platformManager = new PlatformManager(projectRoot, port, {
255
+ /** Expo Go URL. */
256
+ getExpoGoUrl: () => getExpoGoUrl(ctx),
257
+ /** Get the base URL for the dev server hosting this platform manager. */
258
+ getDevServerUrl: () => null,
259
+ /** Get redirect URL for native disambiguation. */
260
+ getRedirectUrl: () => null,
261
+ /** Dev Client */
262
+ getCustomRuntimeUrl: props => null
263
+ });
264
+ await platformManager.openAsync({
265
+ runtime: "expo"
266
+ });
267
+ } catch (e) {
268
+ const stack = e instanceof Error ? e.stack : null;
269
+ console.error(`Failed to open app in iOS Simulator: ${e}${stack ? `
270
+ ${stack}` : ""}`);
271
+ }
272
+ }
273
+ async function openAndroid(ctx) {
274
+ const projectRoot = ctx.server.config.root;
275
+ const port = getBoundPort(ctx.server);
276
+ try {
277
+ const require2 = module.createRequire(projectRoot);
278
+ const androidPlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/android/AndroidPlatformManager.js", {
279
+ paths: [projectRoot]
280
+ });
281
+ const androidPlatformManagerModule = await import(pathToFileURL(androidPlatformManagerModuleImportPath).href);
282
+ const PlatformManager = androidPlatformManagerModule.default.AndroidPlatformManager;
283
+ const platformManager = new PlatformManager(projectRoot, port, {
284
+ /** Expo Go URL. */
285
+ getExpoGoUrl: () => getExpoGoUrl(ctx),
286
+ /** Get the base URL for the dev server hosting this platform manager. */
287
+ getDevServerUrl: () => null,
288
+ /** Get redirect URL for native disambiguation. */
289
+ getRedirectUrl: () => null,
290
+ /** Dev Client */
291
+ getCustomRuntimeUrl: props => null
292
+ });
293
+ await platformManager.openAsync({
294
+ runtime: "expo"
295
+ });
296
+ } catch (e) {
297
+ const stack = e instanceof Error ? e.stack : null;
298
+ console.error(`Failed to open app in Android Emulator: ${e}${stack ? `
299
+ ${stack}` : ""}`);
300
+ }
301
+ }
302
+ function getExpoGoUrl(ctx) {
303
+ const urls = filterViteServerResolvedUrls(ctx.server.resolvedUrls)?.network;
304
+ const url = urls?.[urls.length - 1];
305
+ if (!url) {
306
+ console.warn("Cannot get the local server URL.");
307
+ return;
308
+ }
309
+ return url.replace(/^https?/, "exp");
310
+ }
311
+ export { startUserInterface };
312
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exec","module","pathToFileURL","filterViteServerResolvedUrls","getBoundPort","COMMANDS","keys","label","terminalLabel","action","ctx","url","server","resolvedUrls","local","console","warn","nativeOpen","openIos","openAndroid","defaultEditor","binary","getExpoGoUrl","printNativeQrCodeAndInstructions","host","port","config","serverUrl","URL","response","fetch","method","signal","AbortSignal","timeout","catch","error","name","ok","responseText","text","includes","status","startUserInterface","context","supportsKeyboardCommands","printCommandsTable","startInterceptingKeyStrokes","longestKeyLength","reduce","max","command","Math","length","commandsInfo","map","cmd","getCommandInfoInTerminal","join","info","padEnd","restoreTerminal","stdin","process","isTTY","setRawMode","stdout","write","Boolean","resume","setEncoding","on","handleKeypress","bind","unref","exit","pressedKeys","clearPressedKeysTimer","clearPressedKeys","clearPrintedInfo","resetClearPressedKeysTimer","clearTimeout","setTimeout","key","slice","toLowerCase","test","matchedCommand","find","possibleCommands","filter","startsWith","matchedPart","remainingPart","infoToPrint","printInfo","lastPrintedInfo","repeat","split","qrcode","default","generate","small","code","start","platform","projectRoot","root","require","createRequire","applePlatformManagerModuleImportPath","resolve","paths","applePlatformManagerModule","href","PlatformManager","ApplePlatformManager","platformManager","getDevServerUrl","getRedirectUrl","getCustomRuntimeUrl","props","openAsync","runtime","e","stack","Error","androidPlatformManagerModuleImportPath","androidPlatformManagerModule","AndroidPlatformManager","urls","network","replace"],"sources":["../../src/user-interface/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,349 @@
1
+ import { exec } from "child_process";
2
+ import module from "module";
3
+ import { pathToFileURL } from "url";
4
+ import { filterViteServerResolvedUrls } from "../utils/filterViteServerResolvedUrls.native.js";
5
+ import { getBoundPort } from "../utils/getBoundPort.native.js";
6
+ function _instanceof(left, right) {
7
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
8
+ return !!right[Symbol.hasInstance](left);
9
+ } else {
10
+ return left instanceof right;
11
+ }
12
+ }
13
+ var COMMANDS = [{
14
+ keys: "ow",
15
+ label: "open web",
16
+ terminalLabel: "\x1B[1mo\x1B[0mpen \x1B[1mw\x1B[0meb",
17
+ action: function (ctx) {
18
+ var _ctx_server_resolvedUrls;
19
+ var url = (_ctx_server_resolvedUrls = ctx.server.resolvedUrls) === null || _ctx_server_resolvedUrls === void 0 ? void 0 : _ctx_server_resolvedUrls.local[0];
20
+ if (!url) {
21
+ console.warn("Cannot get the local server URL.");
22
+ return;
23
+ }
24
+ nativeOpen(url);
25
+ }
26
+ }, {
27
+ keys: "oi",
28
+ label: "open app in iOS Simulator",
29
+ terminalLabel: "\x1B[1mo\x1B[0mpen app in \x1B[1mi\x1B[0mOS Simulator",
30
+ action: function (ctx) {
31
+ openIos(ctx);
32
+ }
33
+ }, {
34
+ keys: "oa",
35
+ label: "open app in Android Emulator",
36
+ terminalLabel: "\x1B[1mo\x1B[0mpen app in \x1B[1mA\x1B[0mndroid Emulator",
37
+ action: function (ctx) {
38
+ openAndroid(ctx);
39
+ }
40
+ }, {
41
+ keys: "oe",
42
+ label: "open editor",
43
+ terminalLabel: "\x1B[1mo\x1B[0mpen \x1B[1me\x1B[0mditor",
44
+ action: async function (ctx) {
45
+ var {
46
+ defaultEditor
47
+ } = await import("env-editor");
48
+ exec(`${defaultEditor().binary} .`);
49
+ }
50
+ }, {
51
+ keys: "qr",
52
+ label: "show Expo Go QR code",
53
+ terminalLabel: "show Expo Go \x1B[1mQR\x1B[0m code",
54
+ action: function (ctx) {
55
+ var url = getExpoGoUrl(ctx);
56
+ if (!url) {
57
+ return;
58
+ }
59
+ printNativeQrCodeAndInstructions(url);
60
+ }
61
+ },
62
+ // TODO this would need to be per-platform
63
+ {
64
+ keys: "dt",
65
+ label: "open React Native DevTools",
66
+ terminalLabel: "open React Native \x1B[1mD\x1B[0mev\x1B[1mT\x1B[0mools",
67
+ action: function (ctx) {
68
+ var {
69
+ host,
70
+ port
71
+ } = ctx.server.config.server;
72
+ var serverUrl = `http://${typeof host === "string" && !!host ? host : "localhost"}:${port}`;
73
+ var url = new URL("/open-debugger", serverUrl);
74
+ (async function () {
75
+ var response = await fetch(url, {
76
+ method: "POST",
77
+ signal: AbortSignal.timeout(3e3)
78
+ }).catch(function (error) {
79
+ if (error.name === "TimeoutError") {
80
+ return null;
81
+ }
82
+ throw error;
83
+ });
84
+ if (!response) {} else if (response.ok === false) {
85
+ var responseText = await response.text();
86
+ if (responseText.includes("Unable to find debugger target")) {
87
+ return;
88
+ }
89
+ console.warn(`Failed to open React Native DevTools, ${url} returns ${response.status}: ${responseText}.`);
90
+ }
91
+ })();
92
+ }
93
+ }, {
94
+ keys: "?",
95
+ label: "open editor",
96
+ terminalLabel: "show this menu",
97
+ action: async function (ctx) {}
98
+ }];
99
+ async function startUserInterface(context) {
100
+ if (!supportsKeyboardCommands()) {
101
+ return;
102
+ }
103
+ printCommandsTable(context);
104
+ startInterceptingKeyStrokes(context);
105
+ }
106
+ function printCommandsTable(context) {
107
+ var longestKeyLength = COMMANDS.reduce(function (max, command) {
108
+ return Math.max(max, command.keys.length);
109
+ }, 0);
110
+ var commandsInfo = COMMANDS.map(function (cmd) {
111
+ return getCommandInfoInTerminal(cmd, {
112
+ longestKeyLength
113
+ });
114
+ }).join("\n");
115
+ console.info(`
116
+ ${commandsInfo}
117
+ `);
118
+ }
119
+ function getCommandInfoInTerminal(command) {
120
+ var {
121
+ longestKeyLength = 0
122
+ } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
123
+ return `\x1B[90m\u203A\x1B[0m Press \x1B[1m${longestKeyLength ? command.keys.padEnd(longestKeyLength, " ") : command.keys}\x1B[0m \x1B[90m\u2502\x1B[0m ${command.terminalLabel}`;
124
+ }
125
+ function restoreTerminal() {
126
+ var {
127
+ stdin
128
+ } = process;
129
+ if (stdin.isTTY && stdin.setRawMode) {
130
+ try {
131
+ stdin.setRawMode(false);
132
+ } catch (unused) {}
133
+ }
134
+ process.stdout.write("\x1B[0m");
135
+ }
136
+ function supportsKeyboardCommands() {
137
+ var {
138
+ stdin
139
+ } = process;
140
+ return Boolean(stdin.isTTY && stdin.setRawMode);
141
+ }
142
+ function startInterceptingKeyStrokes(context) {
143
+ var {
144
+ stdin
145
+ } = process;
146
+ if (!supportsKeyboardCommands()) {
147
+ return;
148
+ }
149
+ stdin.setRawMode(true);
150
+ stdin.resume();
151
+ stdin.setEncoding("utf8");
152
+ stdin.on("data", handleKeypress.bind(null, context));
153
+ stdin.unref();
154
+ process.on("exit", restoreTerminal);
155
+ process.on("SIGINT", function () {
156
+ restoreTerminal();
157
+ process.exit(0);
158
+ });
159
+ process.on("SIGTERM", function () {
160
+ restoreTerminal();
161
+ process.exit(0);
162
+ });
163
+ }
164
+ var pressedKeys = "";
165
+ var clearPressedKeysTimer = null;
166
+ function clearPressedKeys() {
167
+ pressedKeys = "";
168
+ clearPrintedInfo();
169
+ }
170
+ function resetClearPressedKeysTimer() {
171
+ if (clearPressedKeysTimer) {
172
+ clearTimeout(clearPressedKeysTimer);
173
+ }
174
+ clearPressedKeysTimer = setTimeout(clearPressedKeys, 3e3);
175
+ clearPressedKeysTimer.unref();
176
+ }
177
+ function handleKeypress(context, key) {
178
+ if (key === "\x1B") {
179
+ clearPrintedInfo();
180
+ pressedKeys = "";
181
+ return;
182
+ }
183
+ if (key === "?" || key === "/") {
184
+ clearPrintedInfo();
185
+ console.info("> ?\n\u21D2 Available commands:");
186
+ printCommandsTable(context);
187
+ return;
188
+ }
189
+ resetClearPressedKeysTimer();
190
+ if (key === "\x7F") {
191
+ pressedKeys = pressedKeys.slice(0, -1);
192
+ } else {
193
+ key = key.toLowerCase();
194
+ if (/^[a-z]$/.test(key)) {
195
+ pressedKeys += key;
196
+ }
197
+ }
198
+ if (pressedKeys.length === 0) {
199
+ clearPrintedInfo();
200
+ return;
201
+ }
202
+ var matchedCommand = COMMANDS.find(function (command) {
203
+ return command.keys === pressedKeys;
204
+ });
205
+ if (matchedCommand) {
206
+ clearPrintedInfo();
207
+ console.info(`> ${matchedCommand.keys}
208
+ \u21D2 ${matchedCommand.label}...`);
209
+ pressedKeys = "";
210
+ setTimeout(function () {
211
+ var _matchedCommand_action;
212
+ return (_matchedCommand_action = matchedCommand.action) === null || _matchedCommand_action === void 0 ? void 0 : _matchedCommand_action.call(matchedCommand, context);
213
+ }, 500);
214
+ return;
215
+ }
216
+ if (pressedKeys.length >= 3) {
217
+ clearPrintedInfo();
218
+ console.info(`> ${pressedKeys}
219
+ No matching command for "${pressedKeys}"! Press "?" for help.`);
220
+ pressedKeys = "";
221
+ return;
222
+ }
223
+ var possibleCommands = COMMANDS.filter(function (command) {
224
+ return command.keys.startsWith(pressedKeys);
225
+ });
226
+ var commandsInfo = possibleCommands.map(function (command) {
227
+ var matchedPart = command.keys.slice(0, pressedKeys.length);
228
+ var remainingPart = command.keys.slice(pressedKeys.length);
229
+ return ` \x1B[4m${matchedPart}\x1B[0m\x1B[1m${remainingPart}\x1B[0m\x1B[90m - \x1B[0m${command.terminalLabel}`;
230
+ }).join("\n");
231
+ var infoToPrint = `
232
+ ${commandsInfo}
233
+ > ${pressedKeys}`;
234
+ printInfo(infoToPrint);
235
+ }
236
+ var lastPrintedInfo = "";
237
+ function printInfo(info) {
238
+ clearPrintedInfo();
239
+ lastPrintedInfo = info;
240
+ process.stdout.write(info);
241
+ }
242
+ function clearPrintedInfo() {
243
+ if (lastPrintedInfo) {
244
+ process.stdout.write("\x1B[2K");
245
+ process.stdout.write("\x1B[1A\x1B[2K".repeat(lastPrintedInfo.split("\n").length - 1));
246
+ process.stdout.write("\x1B[2K");
247
+ process.stdout.write("\x1B[G");
248
+ }
249
+ lastPrintedInfo = "";
250
+ }
251
+ async function printNativeQrCodeAndInstructions(url) {
252
+ var qrcode = await import("qrcode-terminal");
253
+ (qrcode.default || qrcode).generate(url, {
254
+ small: true
255
+ }, function (code) {
256
+ console.info(`To open the app on your iPhone, install the Expo Go app and scan the QR code below with your iPhone camera:
257
+ ${code}`);
258
+ });
259
+ }
260
+ function nativeOpen(url) {
261
+ var start = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
262
+ exec(`${start} ${url}`);
263
+ }
264
+ async function openIos(ctx) {
265
+ var projectRoot = ctx.server.config.root;
266
+ var port = getBoundPort(ctx.server);
267
+ try {
268
+ var require2 = module.createRequire(projectRoot);
269
+ var applePlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/ios/ApplePlatformManager.js", {
270
+ paths: [projectRoot]
271
+ });
272
+ var applePlatformManagerModule = await import(pathToFileURL(applePlatformManagerModuleImportPath).href);
273
+ var PlatformManager = applePlatformManagerModule.default.ApplePlatformManager;
274
+ var platformManager = new PlatformManager(projectRoot, port, {
275
+ /** Expo Go URL. */
276
+ getExpoGoUrl: function () {
277
+ return getExpoGoUrl(ctx);
278
+ },
279
+ /** Get the base URL for the dev server hosting this platform manager. */
280
+ getDevServerUrl: function () {
281
+ return null;
282
+ },
283
+ /** Get redirect URL for native disambiguation. */
284
+ getRedirectUrl: function () {
285
+ return null;
286
+ },
287
+ /** Dev Client */
288
+ getCustomRuntimeUrl: function (props) {
289
+ return null;
290
+ }
291
+ });
292
+ await platformManager.openAsync({
293
+ runtime: "expo"
294
+ });
295
+ } catch (e) {
296
+ var stack = _instanceof(e, Error) ? e.stack : null;
297
+ console.error(`Failed to open app in iOS Simulator: ${e}${stack ? `
298
+ ${stack}` : ""}`);
299
+ }
300
+ }
301
+ async function openAndroid(ctx) {
302
+ var projectRoot = ctx.server.config.root;
303
+ var port = getBoundPort(ctx.server);
304
+ try {
305
+ var require2 = module.createRequire(projectRoot);
306
+ var androidPlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/android/AndroidPlatformManager.js", {
307
+ paths: [projectRoot]
308
+ });
309
+ var androidPlatformManagerModule = await import(pathToFileURL(androidPlatformManagerModuleImportPath).href);
310
+ var PlatformManager = androidPlatformManagerModule.default.AndroidPlatformManager;
311
+ var platformManager = new PlatformManager(projectRoot, port, {
312
+ /** Expo Go URL. */
313
+ getExpoGoUrl: function () {
314
+ return getExpoGoUrl(ctx);
315
+ },
316
+ /** Get the base URL for the dev server hosting this platform manager. */
317
+ getDevServerUrl: function () {
318
+ return null;
319
+ },
320
+ /** Get redirect URL for native disambiguation. */
321
+ getRedirectUrl: function () {
322
+ return null;
323
+ },
324
+ /** Dev Client */
325
+ getCustomRuntimeUrl: function (props) {
326
+ return null;
327
+ }
328
+ });
329
+ await platformManager.openAsync({
330
+ runtime: "expo"
331
+ });
332
+ } catch (e) {
333
+ var stack = _instanceof(e, Error) ? e.stack : null;
334
+ console.error(`Failed to open app in Android Emulator: ${e}${stack ? `
335
+ ${stack}` : ""}`);
336
+ }
337
+ }
338
+ function getExpoGoUrl(ctx) {
339
+ var _filterViteServerResolvedUrls;
340
+ var urls = (_filterViteServerResolvedUrls = filterViteServerResolvedUrls(ctx.server.resolvedUrls)) === null || _filterViteServerResolvedUrls === void 0 ? void 0 : _filterViteServerResolvedUrls.network;
341
+ var url = urls === null || urls === void 0 ? void 0 : urls[urls.length - 1];
342
+ if (!url) {
343
+ console.warn("Cannot get the local server URL.");
344
+ return;
345
+ }
346
+ return url.replace(/^https?/, "exp");
347
+ }
348
+ export { startUserInterface };
349
+ //# sourceMappingURL=index.native.js.map