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
@@ -7,339 +7,294 @@ import { createDevMiddleware } from "@react-native/dev-middleware";
7
7
  import { createNativeDevEngine } from "../utils/createNativeDevEngine.mjs";
8
8
  import { getBoundPort } from "../utils/getBoundPort.mjs";
9
9
  import { getNativeFramePlatform, isNativeBundleFrame, symbolicateNativeStack } from "../utils/symbolicateNativeStack.mjs";
10
+
10
11
  function getNativeAssetContentType(type) {
11
- switch (type.toLowerCase()) {
12
- case "bmp":
13
- return "image/bmp";
14
- case "gif":
15
- return "image/gif";
16
- case "jpeg":
17
- case "jpg":
18
- return "image/jpeg";
19
- case "json":
20
- return "application/json";
21
- case "otf":
22
- return "font/otf";
23
- case "png":
24
- return "image/png";
25
- case "svg":
26
- return "image/svg+xml";
27
- case "ttf":
28
- return "font/ttf";
29
- case "webp":
30
- return "image/webp";
31
- case "woff":
32
- return "font/woff";
33
- case "woff2":
34
- return "font/woff2";
35
- default:
36
- return "application/octet-stream";
37
- }
12
+ switch (type.toLowerCase()) {
13
+ case "bmp": return "image/bmp";
14
+ case "gif": return "image/gif";
15
+ case "jpeg":
16
+ case "jpg": return "image/jpeg";
17
+ case "json": return "application/json";
18
+ case "otf": return "font/otf";
19
+ case "png": return "image/png";
20
+ case "svg": return "image/svg+xml";
21
+ case "ttf": return "font/ttf";
22
+ case "webp": return "image/webp";
23
+ case "woff": return "font/woff";
24
+ case "woff2": return "font/woff2";
25
+ default: return "application/octet-stream";
26
+ }
38
27
  }
39
28
  function createReactNativeDevServerPlugin(options) {
40
- return {
41
- name: "vite-plugin-react-native-server",
42
- configureServer(server) {
43
- const {
44
- host
45
- } = server.config.server;
46
- const {
47
- root
48
- } = server.config;
49
- const hmrWSS = new WebSocketServer({
50
- noServer: true
51
- });
52
- const clientWSS = new WebSocketServer({
53
- noServer: true
54
- });
55
- const messageWSS = createMessageSocket();
56
- const validPlatforms = {
57
- ios: "ios",
58
- android: "android"
59
- };
60
- const devEngines = {};
61
- const devEngineCreating = {};
62
- const warnedProdBundleRequest = /* @__PURE__ */new Set();
63
- const pendingReloadPlatforms = /* @__PURE__ */new Set();
64
- const devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
65
- const reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
66
- const {
67
- middleware,
68
- websocketEndpoints
69
- } = createDevMiddleware({
70
- serverBaseUrl: reactNativeDevToolsUrl,
71
- logger: console,
72
- unstable_experiments: {
73
- enableStandaloneFuseboxShell: false
74
- }
75
- });
76
- server.middlewares.use(async (req, res, next) => {
77
- if (req.method !== "GET" && req.method !== "HEAD") return next();
78
- const rawUrl = req.url || "/";
79
- const rawPathname = rawUrl.split("?", 1)[0];
80
- if (!rawPathname.startsWith("/assets/")) return next();
81
- const url = new URL(rawUrl, `http://${req.headers.host || "localhost"}`);
82
- const platform = validPlatforms[url.searchParams.get("platform") || ""];
83
- const engine = platform ? devEngines[platform] : void 0;
84
- if (!engine) return next();
85
- let pathname;
86
- try {
87
- pathname = decodeURIComponent(rawPathname);
88
- } catch {
89
- res.writeHead(400, {
90
- "Content-Type": "text/plain"
91
- });
92
- res.end("Invalid native asset path");
93
- return;
94
- }
95
- const asset = engine.getAsset(pathname, url.searchParams.get("hash") || void 0);
96
- if (!asset) {
97
- res.writeHead(404, {
98
- "Content-Type": "text/plain"
99
- });
100
- res.end("Native asset not found");
101
- return;
102
- }
103
- try {
104
- const contents = await readFile(asset.filePath);
105
- res.writeHead(200, {
106
- "Cache-Control": "no-cache",
107
- "Content-Length": String(contents.byteLength),
108
- "Content-Type": getNativeAssetContentType(asset.type)
109
- });
110
- res.end(req.method === "HEAD" ? void 0 : contents);
111
- } catch (error) {
112
- console.error(`[vxrn] failed to serve native asset ${pathname}: ${error instanceof Error ? error.message : String(error)}`);
113
- res.writeHead(500, {
114
- "Content-Type": "text/plain"
115
- });
116
- res.end("Failed to read native asset");
117
- }
118
- });
119
- server.middlewares.use(middleware);
120
- server.httpServer?.on("upgrade", (req, socket, head) => {
121
- const url = req.url || "";
122
- for (const endpoint of devToolsSocketEndpoints) {
123
- if (url.startsWith(endpoint)) {
124
- const wss = websocketEndpoints[endpoint];
125
- wss.handleUpgrade(req, socket, head, ws => {
126
- wss.emit("connection", ws, req);
127
- });
128
- return;
129
- }
130
- }
131
- if (url.startsWith("/hot")) {
132
- const hmrUrl = new URL(url, `http://${req.headers.host || "localhost"}`);
133
- const platform = validPlatforms[hmrUrl.searchParams.get("platform") || ""];
134
- const clientId = hmrUrl.searchParams.get("clientId");
135
- if (!platform || !clientId) {
136
- socket.destroy();
137
- return;
138
- }
139
- hmrWSS.handleUpgrade(req, socket, head, ws => {
140
- Object.assign(ws, {
141
- vxrnClientId: clientId,
142
- vxrnPlatform: platform
143
- });
144
- hmrWSS.emit("connection", ws, req);
145
- });
146
- return;
147
- }
148
- if (url === "/message" || url.startsWith("/message?")) {
149
- messageWSS.handleUpgrade(req, socket, head, ws => {
150
- messageWSS.emit("connection", ws, req);
151
- });
152
- return;
153
- }
154
- if (url === "/__client") {
155
- clientWSS.handleUpgrade(req, socket, head, ws => {
156
- clientWSS.emit("connection", ws, req);
157
- });
158
- }
159
- });
160
- hmrWSS.on("connection", async socket => {
161
- const currentEngine = devEngines[socket.vxrnPlatform];
162
- if (!currentEngine) {
163
- socket.close(1013, "native dev engine unavailable");
164
- return;
165
- }
166
- try {
167
- await currentEngine.engine.registerClient(socket.vxrnClientId);
168
- } catch (error) {
169
- console.error("[hmr] failed to register native client", error);
170
- socket.close(1011, "native HMR registration failed");
171
- return;
172
- }
173
- addConnectedNativeClient();
174
- if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {
175
- socket.send(JSON.stringify({
176
- type: "hmr:reload"
177
- }));
178
- }
179
- socket.on("message", message => {
180
- const value = message.toString();
181
- if (value === "ping") {
182
- socket.send("pong");
183
- return;
184
- }
185
- let update;
186
- try {
187
- update = JSON.parse(value);
188
- } catch {
189
- return;
190
- }
191
- if (update.type === "hmr:invalidate") {
192
- socket.send(JSON.stringify({
193
- type: "hmr:reload"
194
- }));
195
- }
196
- });
197
- socket.on("close", () => {
198
- removeConnectedNativeClient();
199
- currentEngine.engine.removeClient(socket.vxrnClientId).catch(error => {
200
- console.error("[hmr] failed to remove native client", error);
201
- });
202
- });
203
- socket.on("error", error => {
204
- console.error("[hmr] error", error);
205
- });
206
- });
207
- clientWSS.on("connection", socket => {
208
- socket.on("message", messageRaw => {
209
- const message = JSON.parse(messageRaw.toString());
210
- switch (message.type) {
211
- case "client-log":
212
- {
213
- if (message.level === "warn" && message.data[0]?.startsWith("Sending `appearanceChanged` with no listeners registered.")) {
214
- return;
215
- }
216
- console.info(` \u2460 ${message.level === "info" ? "" : ` [${message.level}]`}`, ...message.data);
217
- return;
218
- }
219
- default:
220
- {
221
- console.warn(` \u2460 Unknown message type`, message);
222
- }
223
- }
224
- });
225
- });
226
- const getDevEngine = async platform => {
227
- while (!devEngines[platform]) {
228
- if (!devEngineCreating[platform]) {
229
- const creating = (async () => {
230
- try {
231
- console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
232
- devEngines[platform] = await createNativeDevEngine({
233
- root,
234
- port: getBoundPort(server),
235
- host: typeof host === "string" ? host : "localhost",
236
- platform,
237
- serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
238
- onHmrUpdate: update => {
239
- const msg = JSON.stringify(update);
240
- const target = "clientId" in update ? update.clientId : void 0;
241
- if (update.type === "hmr:reload" && !target) {
242
- pendingReloadPlatforms.add(platform);
243
- }
244
- hmrWSS.clients.forEach(client => {
245
- const nativeClient = client;
246
- if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {
247
- client.send(msg);
248
- }
249
- });
250
- }
251
- });
252
- console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
253
- } finally {
254
- devEngineCreating[platform] = null;
255
- }
256
- })();
257
- devEngineCreating[platform] = creating;
258
- }
259
- await devEngineCreating[platform];
260
- }
261
- return devEngines[platform];
262
- };
263
- const handleRNBundle = async (req, res) => {
264
- const url = new URL(req.url, `http://${req.headers.host}`);
265
- const platformString = url.searchParams.get("platform") || "";
266
- const platform = validPlatforms[platformString];
267
- if (!platform) {
268
- return;
269
- }
270
- if (url.searchParams.get("dev") === "false" && !warnedProdBundleRequest.has(platform)) {
271
- warnedProdBundleRequest.add(platform);
272
- console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);
273
- }
274
- try {
275
- const bundle = await (await getDevEngine(platform)).getBundle();
276
- res.once("finish", () => pendingReloadPlatforms.delete(platform));
277
- res.writeHead(200, {
278
- "Cache-Control": "no-store",
279
- "Content-Type": "text/javascript"
280
- });
281
- res.end(bundle.code);
282
- } catch (err) {
283
- console.error(` Error building React Native bundle`);
284
- console.error(err);
285
- console.error(`
29
+ return {
30
+ name: "vite-plugin-react-native-server",
31
+ configureServer(server) {
32
+ const { host } = server.config.server;
33
+ const { root } = server.config;
34
+ const hmrWSS = new WebSocketServer({ noServer: true });
35
+ const clientWSS = new WebSocketServer({ noServer: true });
36
+ const messageWSS = createMessageSocket();
37
+ const validPlatforms = {
38
+ ios: "ios",
39
+ android: "android"
40
+ };
41
+ const devEngines = {};
42
+ const devEngineCreating = {};
43
+ const warnedProdBundleRequest = /* @__PURE__ */ new Set();
44
+ const pendingReloadPlatforms = /* @__PURE__ */ new Set();
45
+ const devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
46
+ const reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
47
+ const { middleware, websocketEndpoints } = createDevMiddleware({
48
+ serverBaseUrl: reactNativeDevToolsUrl,
49
+ logger: console,
50
+ unstable_experiments: { enableStandaloneFuseboxShell: false }
51
+ });
52
+ server.middlewares.use(async (req, res, next) => {
53
+ if (req.method !== "GET" && req.method !== "HEAD") return next();
54
+ const rawUrl = req.url || "/";
55
+ const rawPathname = rawUrl.split("?", 1)[0];
56
+ if (!rawPathname.startsWith("/assets/")) return next();
57
+ const url = new URL(rawUrl, `http://${req.headers.host || "localhost"}`);
58
+ const platform = validPlatforms[url.searchParams.get("platform") || ""];
59
+ const engine = platform ? devEngines[platform] : void 0;
60
+ if (!engine) return next();
61
+ let pathname;
62
+ try {
63
+ pathname = decodeURIComponent(rawPathname);
64
+ } catch {
65
+ res.writeHead(400, { "Content-Type": "text/plain" });
66
+ res.end("Invalid native asset path");
67
+ return;
68
+ }
69
+ const asset = engine.getAsset(pathname, url.searchParams.get("hash") || void 0);
70
+ if (!asset) {
71
+ res.writeHead(404, { "Content-Type": "text/plain" });
72
+ res.end("Native asset not found");
73
+ return;
74
+ }
75
+ try {
76
+ const contents = await readFile(asset.filePath);
77
+ res.writeHead(200, {
78
+ "Cache-Control": "no-cache",
79
+ "Content-Length": String(contents.byteLength),
80
+ "Content-Type": getNativeAssetContentType(asset.type)
81
+ });
82
+ res.end(req.method === "HEAD" ? void 0 : contents);
83
+ } catch (error) {
84
+ console.error(`[vxrn] failed to serve native asset ${pathname}: ${error instanceof Error ? error.message : String(error)}`);
85
+ res.writeHead(500, { "Content-Type": "text/plain" });
86
+ res.end("Failed to read native asset");
87
+ }
88
+ });
89
+ server.middlewares.use(middleware);
90
+ server.httpServer?.on("upgrade", (req, socket, head) => {
91
+ const url = req.url || "";
92
+ for (const endpoint of devToolsSocketEndpoints) {
93
+ if (url.startsWith(endpoint)) {
94
+ const wss = websocketEndpoints[endpoint];
95
+ wss.handleUpgrade(req, socket, head, (ws) => {
96
+ wss.emit("connection", ws, req);
97
+ });
98
+ return;
99
+ }
100
+ }
101
+ if (url.startsWith("/hot")) {
102
+ const hmrUrl = new URL(url, `http://${req.headers.host || "localhost"}`);
103
+ const platform = validPlatforms[hmrUrl.searchParams.get("platform") || ""];
104
+ const clientId = hmrUrl.searchParams.get("clientId");
105
+ if (!platform || !clientId) {
106
+ socket.destroy();
107
+ return;
108
+ }
109
+ hmrWSS.handleUpgrade(req, socket, head, (ws) => {
110
+ Object.assign(ws, {
111
+ vxrnClientId: clientId,
112
+ vxrnPlatform: platform
113
+ });
114
+ hmrWSS.emit("connection", ws, req);
115
+ });
116
+ return;
117
+ }
118
+ if (url === "/message" || url.startsWith("/message?")) {
119
+ messageWSS.handleUpgrade(req, socket, head, (ws) => {
120
+ messageWSS.emit("connection", ws, req);
121
+ });
122
+ return;
123
+ }
124
+ if (url === "/__client") {
125
+ clientWSS.handleUpgrade(req, socket, head, (ws) => {
126
+ clientWSS.emit("connection", ws, req);
127
+ });
128
+ }
129
+ });
130
+ hmrWSS.on("connection", async (socket) => {
131
+ const currentEngine = devEngines[socket.vxrnPlatform];
132
+ if (!currentEngine) {
133
+ socket.close(1013, "native dev engine unavailable");
134
+ return;
135
+ }
136
+ try {
137
+ await currentEngine.engine.registerClient(socket.vxrnClientId);
138
+ } catch (error) {
139
+ console.error("[hmr] failed to register native client", error);
140
+ socket.close(1011, "native HMR registration failed");
141
+ return;
142
+ }
143
+ addConnectedNativeClient();
144
+ if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {
145
+ socket.send(JSON.stringify({ type: "hmr:reload" }));
146
+ }
147
+ socket.on("message", (message) => {
148
+ const value = message.toString();
149
+ if (value === "ping") {
150
+ socket.send("pong");
151
+ return;
152
+ }
153
+ let update;
154
+ try {
155
+ update = JSON.parse(value);
156
+ } catch {
157
+ return;
158
+ }
159
+ if (update.type === "hmr:invalidate") {
160
+ socket.send(JSON.stringify({ type: "hmr:reload" }));
161
+ }
162
+ });
163
+ socket.on("close", () => {
164
+ removeConnectedNativeClient();
165
+ currentEngine.engine.removeClient(socket.vxrnClientId).catch((error) => {
166
+ console.error("[hmr] failed to remove native client", error);
167
+ });
168
+ });
169
+ socket.on("error", (error) => {
170
+ console.error("[hmr] error", error);
171
+ });
172
+ });
173
+ clientWSS.on("connection", (socket) => {
174
+ socket.on("message", (messageRaw) => {
175
+ const message = JSON.parse(messageRaw.toString());
176
+ switch (message.type) {
177
+ case "client-log": {
178
+ if (message.level === "warn" && message.data[0]?.startsWith("Sending `appearanceChanged` with no listeners registered.")) {
179
+ return;
180
+ }
181
+ console.info(` \u2460 ${message.level === "info" ? "" : ` [${message.level}]`}`, ...message.data);
182
+ return;
183
+ }
184
+ default: {
185
+ console.warn(` \u2460 Unknown message type`, message);
186
+ }
187
+ }
188
+ });
189
+ });
190
+ const getDevEngine = async (platform) => {
191
+ while (!devEngines[platform]) {
192
+ if (!devEngineCreating[platform]) {
193
+ const creating = (async () => {
194
+ try {
195
+ console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
196
+ devEngines[platform] = await createNativeDevEngine({
197
+ root,
198
+ port: getBoundPort(server),
199
+ host: typeof host === "string" ? host : "localhost",
200
+ platform,
201
+ serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
202
+ onHmrUpdate: (update) => {
203
+ const msg = JSON.stringify(update);
204
+ const target = "clientId" in update ? update.clientId : void 0;
205
+ if (update.type === "hmr:reload" && !target) {
206
+ pendingReloadPlatforms.add(platform);
207
+ }
208
+ hmrWSS.clients.forEach((client) => {
209
+ const nativeClient = client;
210
+ if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {
211
+ client.send(msg);
212
+ }
213
+ });
214
+ }
215
+ });
216
+ console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
217
+ } finally {
218
+ devEngineCreating[platform] = null;
219
+ }
220
+ })();
221
+ devEngineCreating[platform] = creating;
222
+ }
223
+ await devEngineCreating[platform];
224
+ }
225
+ return devEngines[platform];
226
+ };
227
+ const handleRNBundle = async (req, res) => {
228
+ const url = new URL(req.url, `http://${req.headers.host}`);
229
+ const platformString = url.searchParams.get("platform") || "";
230
+ const platform = validPlatforms[platformString];
231
+ if (!platform) {
232
+ return;
233
+ }
234
+ if (url.searchParams.get("dev") === "false" && !warnedProdBundleRequest.has(platform)) {
235
+ warnedProdBundleRequest.add(platform);
236
+ console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);
237
+ }
238
+ try {
239
+ const bundle = await (await getDevEngine(platform)).getBundle();
240
+ res.once("finish", () => pendingReloadPlatforms.delete(platform));
241
+ res.writeHead(200, {
242
+ "Cache-Control": "no-store",
243
+ "Content-Type": "text/javascript"
244
+ });
245
+ res.end(bundle.code);
246
+ } catch (err) {
247
+ console.error(` Error building React Native bundle`);
248
+ console.error(err);
249
+ console.error(`
286
250
 
287
251
  Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`);
288
- res.writeHead(500, {
289
- "Content-Type": "text/plain"
290
- });
291
- res.end(err instanceof Error ? err.stack || err.message : String(err));
292
- }
293
- };
294
- server.middlewares.use((req, res, next) => {
295
- if (req.url?.split("?")[0].endsWith(".bundle")) {
296
- handleRNBundle(req, res, next);
297
- } else {
298
- next();
299
- }
300
- });
301
- server.middlewares.use("/symbolicate", async (req, res) => {
302
- try {
303
- const chunks = [];
304
- for await (const chunk of req) chunks.push(chunk);
305
- const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
306
- const stack = body.stack;
307
- if (!Array.isArray(stack)) {
308
- throw new Error("expected a `stack` array in the request body");
309
- }
310
- const bundleFrame = stack.find(frame => isNativeBundleFrame(frame.file));
311
- if (!bundleFrame) {
312
- res.writeHead(200, {
313
- "Content-Type": "application/json"
314
- });
315
- res.end(JSON.stringify({
316
- stack,
317
- codeFrame: null
318
- }));
319
- return;
320
- }
321
- const framePlatform = getNativeFramePlatform(bundleFrame.file);
322
- const platform = validPlatforms[framePlatform ?? ""];
323
- if (!platform) {
324
- throw new Error(`could not tell which platform "${bundleFrame.file}" was bundled for`);
325
- }
326
- const bundle = await (await getDevEngine(platform)).getBundle();
327
- res.writeHead(200, {
328
- "Content-Type": "application/json"
329
- });
330
- res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));
331
- } catch (err) {
332
- console.error(`[vxrn] symbolicate failed`, err);
333
- res.writeHead(500, {
334
- "Content-Type": "application/json"
335
- });
336
- res.end(JSON.stringify({
337
- error: err instanceof Error ? err.message : String(err)
338
- }));
339
- }
340
- });
341
- }
342
- };
252
+ res.writeHead(500, { "Content-Type": "text/plain" });
253
+ res.end(err instanceof Error ? err.stack || err.message : String(err));
254
+ }
255
+ };
256
+ server.middlewares.use((req, res, next) => {
257
+ if (req.url?.split("?")[0].endsWith(".bundle")) {
258
+ handleRNBundle(req, res, next);
259
+ } else {
260
+ next();
261
+ }
262
+ });
263
+ server.middlewares.use("/symbolicate", async (req, res) => {
264
+ try {
265
+ const chunks = [];
266
+ for await (const chunk of req) chunks.push(chunk);
267
+ const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
268
+ const stack = body.stack;
269
+ if (!Array.isArray(stack)) {
270
+ throw new Error("expected a `stack` array in the request body");
271
+ }
272
+ const bundleFrame = stack.find((frame) => isNativeBundleFrame(frame.file));
273
+ if (!bundleFrame) {
274
+ res.writeHead(200, { "Content-Type": "application/json" });
275
+ res.end(JSON.stringify({
276
+ stack,
277
+ codeFrame: null
278
+ }));
279
+ return;
280
+ }
281
+ const framePlatform = getNativeFramePlatform(bundleFrame.file);
282
+ const platform = validPlatforms[framePlatform ?? ""];
283
+ if (!platform) {
284
+ throw new Error(`could not tell which platform "${bundleFrame.file}" was bundled for`);
285
+ }
286
+ const bundle = await (await getDevEngine(platform)).getBundle();
287
+ res.writeHead(200, { "Content-Type": "application/json" });
288
+ res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));
289
+ } catch (err) {
290
+ console.error(`[vxrn] symbolicate failed`, err);
291
+ res.writeHead(500, { "Content-Type": "application/json" });
292
+ res.end(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
293
+ }
294
+ });
295
+ }
296
+ };
343
297
  }
298
+
344
299
  export { createReactNativeDevServerPlugin, getNativeAssetContentType };
345
300
  //# sourceMappingURL=reactNativeDevServer.mjs.map