vxrn 0.1.50 → 0.1.52

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 (330) hide show
  1. package/dist/cjs/exports/bindKeypressInput.js +58 -0
  2. package/dist/cjs/exports/bindKeypressInput.js.map +6 -0
  3. package/dist/cjs/exports/bindKeypressInput.native.js +63 -0
  4. package/dist/cjs/exports/bindKeypressInput.native.js.map +6 -0
  5. package/dist/cjs/exports/build.js +26 -93
  6. package/dist/cjs/exports/build.js.map +2 -2
  7. package/dist/cjs/exports/build.native.js +70 -360
  8. package/dist/cjs/exports/build.native.js.map +2 -2
  9. package/dist/cjs/exports/coerceToArray.js +23 -0
  10. package/dist/cjs/exports/coerceToArray.js.map +6 -0
  11. package/dist/cjs/exports/connectedNativeClients.js +21 -0
  12. package/dist/cjs/exports/connectedNativeClients.js.map +6 -0
  13. package/dist/cjs/exports/dev.js +10 -416
  14. package/dist/cjs/exports/dev.js.map +2 -2
  15. package/dist/cjs/exports/dev.native.js +16 -732
  16. package/dist/cjs/exports/dev.native.js.map +2 -2
  17. package/dist/cjs/exports/entryRoot.js +69 -0
  18. package/dist/cjs/exports/entryRoot.js.map +6 -0
  19. package/dist/cjs/exports/getIndexJsonResponse.js +71 -0
  20. package/dist/cjs/exports/getIndexJsonResponse.js.map +6 -0
  21. package/dist/cjs/exports/getIndexJsonResponse.native.js +99 -0
  22. package/dist/cjs/exports/getIndexJsonResponse.native.js.map +6 -0
  23. package/dist/cjs/exports/getReactNativeBundle.js +160 -0
  24. package/dist/cjs/exports/getReactNativeBundle.js.map +6 -0
  25. package/dist/cjs/exports/getViteServerConfig.js +77 -0
  26. package/dist/cjs/exports/getViteServerConfig.js.map +6 -0
  27. package/dist/cjs/exports/getViteServerConfig.native.js +253 -0
  28. package/dist/cjs/exports/getViteServerConfig.native.js.map +6 -0
  29. package/dist/cjs/exports/hotUpdateCache.js +21 -0
  30. package/dist/cjs/exports/hotUpdateCache.js.map +6 -0
  31. package/dist/cjs/exports/isBuildingNativeBundle.js +21 -0
  32. package/dist/cjs/exports/isBuildingNativeBundle.js.map +6 -0
  33. package/dist/cjs/exports/isWithin.js +25 -0
  34. package/dist/cjs/exports/isWithin.js.map +6 -0
  35. package/dist/cjs/exports/reactNativeHMRPlugin.js +69 -0
  36. package/dist/cjs/exports/reactNativeHMRPlugin.js.map +6 -0
  37. package/dist/cjs/exports/resolveFile.js +28 -0
  38. package/dist/cjs/exports/resolveFile.js.map +6 -0
  39. package/dist/cjs/exports/resolveFile.native.js +34 -0
  40. package/dist/cjs/exports/resolveFile.native.js.map +6 -0
  41. package/dist/cjs/exports/serve.js +1 -1
  42. package/dist/cjs/exports/serve.js.map +1 -1
  43. package/dist/cjs/exports/serve.native.js +1 -1
  44. package/dist/cjs/exports/serve.native.js.map +1 -1
  45. package/dist/cjs/exports/swapPrebuiltReactModules.js +100 -0
  46. package/dist/cjs/exports/swapPrebuiltReactModules.js.map +6 -0
  47. package/dist/cjs/exports/uniq.js +23 -0
  48. package/dist/cjs/exports/uniq.js.map +6 -0
  49. package/dist/cjs/index.js +4 -0
  50. package/dist/cjs/index.js.map +1 -1
  51. package/dist/cjs/index.native.js +8 -0
  52. package/dist/cjs/index.native.js.map +1 -1
  53. package/dist/cjs/plugins/reactNativeCommonJsPlugin.js.map +1 -1
  54. package/dist/cjs/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
  55. package/dist/cjs/plugins/reactNativeHMRPlugin.js +67 -0
  56. package/dist/cjs/plugins/reactNativeHMRPlugin.js.map +6 -0
  57. package/dist/cjs/plugins/reactNativeHMRPlugin.native.js +307 -0
  58. package/dist/cjs/plugins/reactNativeHMRPlugin.native.js.map +6 -0
  59. package/dist/cjs/types.native.js.map +1 -1
  60. package/dist/cjs/utils/bindKeypressInput.js +58 -0
  61. package/dist/cjs/utils/bindKeypressInput.js.map +6 -0
  62. package/dist/cjs/utils/bindKeypressInput.native.js +63 -0
  63. package/dist/cjs/utils/bindKeypressInput.native.js.map +6 -0
  64. package/dist/cjs/utils/coerceToArray.js +23 -0
  65. package/dist/cjs/utils/coerceToArray.js.map +6 -0
  66. package/dist/cjs/utils/coerceToArray.native.js +30 -0
  67. package/dist/cjs/utils/coerceToArray.native.js.map +6 -0
  68. package/dist/cjs/utils/connectedNativeClients.js +29 -0
  69. package/dist/cjs/utils/connectedNativeClients.js.map +6 -0
  70. package/dist/cjs/utils/connectedNativeClients.native.js +36 -0
  71. package/dist/cjs/utils/connectedNativeClients.native.js.map +6 -0
  72. package/dist/cjs/utils/getIndexJsonResponse.js +71 -0
  73. package/dist/cjs/utils/getIndexJsonResponse.js.map +6 -0
  74. package/dist/cjs/utils/getIndexJsonResponse.native.js +99 -0
  75. package/dist/cjs/utils/getIndexJsonResponse.native.js.map +6 -0
  76. package/dist/cjs/utils/getOptimizeDeps.js +8 -7
  77. package/dist/cjs/utils/getOptimizeDeps.js.map +1 -1
  78. package/dist/cjs/utils/getOptimizeDeps.native.js +8 -7
  79. package/dist/cjs/utils/getOptimizeDeps.native.js.map +1 -1
  80. package/dist/cjs/utils/getOptionsFilled.js.map +1 -1
  81. package/dist/cjs/utils/getOptionsFilled.native.js.map +1 -1
  82. package/dist/cjs/utils/getReactNativeBundle.js +165 -0
  83. package/dist/cjs/utils/getReactNativeBundle.js.map +6 -0
  84. package/dist/cjs/utils/getReactNativeBundle.native.js +389 -0
  85. package/dist/cjs/utils/getReactNativeBundle.native.js.map +6 -0
  86. package/dist/cjs/utils/getVitePath.js +2 -2
  87. package/dist/cjs/utils/getVitePath.js.map +2 -2
  88. package/dist/cjs/utils/getVitePath.native.js +8 -8
  89. package/dist/cjs/utils/getVitePath.native.js.map +2 -2
  90. package/dist/cjs/utils/getViteServerConfig.js +80 -0
  91. package/dist/cjs/utils/getViteServerConfig.js.map +6 -0
  92. package/dist/cjs/utils/getViteServerConfig.native.js +256 -0
  93. package/dist/cjs/utils/getViteServerConfig.native.js.map +6 -0
  94. package/dist/cjs/utils/hotUpdateCache.js +21 -0
  95. package/dist/cjs/utils/hotUpdateCache.js.map +6 -0
  96. package/dist/cjs/utils/hotUpdateCache.native.js +26 -0
  97. package/dist/cjs/utils/hotUpdateCache.native.js.map +6 -0
  98. package/dist/cjs/utils/isBuildingNativeBundle.js +25 -0
  99. package/dist/cjs/utils/isBuildingNativeBundle.js.map +6 -0
  100. package/dist/cjs/utils/isBuildingNativeBundle.native.js +32 -0
  101. package/dist/cjs/utils/isBuildingNativeBundle.native.js.map +6 -0
  102. package/dist/cjs/utils/isWithin.js +25 -0
  103. package/dist/cjs/utils/isWithin.js.map +6 -0
  104. package/dist/cjs/utils/isWithin.native.js +30 -0
  105. package/dist/cjs/utils/isWithin.native.js.map +6 -0
  106. package/dist/cjs/utils/readVXRNConfig.js +15 -18
  107. package/dist/cjs/utils/readVXRNConfig.js.map +2 -2
  108. package/dist/cjs/utils/readVXRNConfig.native.js +104 -49
  109. package/dist/cjs/utils/readVXRNConfig.native.js.map +2 -2
  110. package/dist/cjs/utils/resolveFile.js +28 -0
  111. package/dist/cjs/utils/resolveFile.js.map +6 -0
  112. package/dist/cjs/utils/resolveFile.native.js +34 -0
  113. package/dist/cjs/utils/resolveFile.native.js.map +6 -0
  114. package/dist/cjs/utils/swapPrebuiltReactModules.js +108 -0
  115. package/dist/cjs/utils/swapPrebuiltReactModules.js.map +6 -0
  116. package/dist/cjs/utils/swapPrebuiltReactModules.native.js +272 -0
  117. package/dist/cjs/utils/swapPrebuiltReactModules.native.js.map +6 -0
  118. package/dist/cjs/utils/uniq.js +23 -0
  119. package/dist/cjs/utils/uniq.js.map +6 -0
  120. package/dist/cjs/utils/uniq.native.js +59 -0
  121. package/dist/cjs/utils/uniq.native.js.map +6 -0
  122. package/dist/esm/exports/bindKeypressInput.js +34 -0
  123. package/dist/esm/exports/bindKeypressInput.js.map +6 -0
  124. package/dist/esm/exports/bindKeypressInput.mjs +31 -0
  125. package/dist/esm/exports/bindKeypressInput.native.js +34 -0
  126. package/dist/esm/exports/bindKeypressInput.native.js.map +6 -0
  127. package/dist/esm/exports/build.js +27 -98
  128. package/dist/esm/exports/build.js.map +1 -1
  129. package/dist/esm/exports/build.mjs +38 -135
  130. package/dist/esm/exports/build.native.js +71 -366
  131. package/dist/esm/exports/build.native.js.map +2 -2
  132. package/dist/esm/exports/coerceToArray.js +7 -0
  133. package/dist/esm/exports/coerceToArray.js.map +6 -0
  134. package/dist/esm/exports/coerceToArray.mjs +4 -0
  135. package/dist/esm/exports/connectedNativeClients.js +5 -0
  136. package/dist/esm/exports/connectedNativeClients.js.map +6 -0
  137. package/dist/esm/exports/connectedNativeClients.mjs +2 -0
  138. package/dist/esm/exports/dev.js +17 -431
  139. package/dist/esm/exports/dev.js.map +2 -2
  140. package/dist/esm/exports/dev.mjs +15 -430
  141. package/dist/esm/exports/dev.native.js +19 -738
  142. package/dist/esm/exports/dev.native.js.map +2 -2
  143. package/dist/esm/exports/entryRoot.js +58 -0
  144. package/dist/esm/exports/entryRoot.js.map +6 -0
  145. package/dist/esm/exports/entryRoot.mjs +62 -0
  146. package/dist/esm/exports/getIndexJsonResponse.js +55 -0
  147. package/dist/esm/exports/getIndexJsonResponse.js.map +6 -0
  148. package/dist/esm/exports/getIndexJsonResponse.mjs +71 -0
  149. package/dist/esm/exports/getIndexJsonResponse.native.js +78 -0
  150. package/dist/esm/exports/getIndexJsonResponse.native.js.map +6 -0
  151. package/dist/esm/exports/getReactNativeBundle.js +146 -0
  152. package/dist/esm/exports/getReactNativeBundle.js.map +6 -0
  153. package/dist/esm/exports/getReactNativeBundle.mjs +136 -0
  154. package/dist/esm/exports/getViteServerConfig.js +64 -0
  155. package/dist/esm/exports/getViteServerConfig.js.map +6 -0
  156. package/dist/esm/exports/getViteServerConfig.mjs +44 -0
  157. package/dist/esm/exports/getViteServerConfig.native.js +235 -0
  158. package/dist/esm/exports/getViteServerConfig.native.js.map +6 -0
  159. package/dist/esm/exports/hotUpdateCache.js +5 -0
  160. package/dist/esm/exports/hotUpdateCache.js.map +6 -0
  161. package/dist/esm/exports/hotUpdateCache.mjs +2 -0
  162. package/dist/esm/exports/isBuildingNativeBundle.js +5 -0
  163. package/dist/esm/exports/isBuildingNativeBundle.js.map +6 -0
  164. package/dist/esm/exports/isBuildingNativeBundle.mjs +2 -0
  165. package/dist/esm/exports/isWithin.js +9 -0
  166. package/dist/esm/exports/isWithin.js.map +6 -0
  167. package/dist/esm/exports/isWithin.mjs +6 -0
  168. package/dist/esm/exports/reactNativeHMRPlugin.js +58 -0
  169. package/dist/esm/exports/reactNativeHMRPlugin.js.map +6 -0
  170. package/dist/esm/exports/reactNativeHMRPlugin.mjs +62 -0
  171. package/dist/esm/exports/resolveFile.js +12 -0
  172. package/dist/esm/exports/resolveFile.js.map +6 -0
  173. package/dist/esm/exports/resolveFile.mjs +9 -0
  174. package/dist/esm/exports/resolveFile.native.js +12 -0
  175. package/dist/esm/exports/resolveFile.native.js.map +6 -0
  176. package/dist/esm/exports/serve.js +1 -1
  177. package/dist/esm/exports/serve.js.map +1 -1
  178. package/dist/esm/exports/serve.mjs +1 -1
  179. package/dist/esm/exports/serve.native.js +1 -1
  180. package/dist/esm/exports/serve.native.js.map +1 -1
  181. package/dist/esm/exports/swapPrebuiltReactModules.js +87 -0
  182. package/dist/esm/exports/swapPrebuiltReactModules.js.map +6 -0
  183. package/dist/esm/exports/swapPrebuiltReactModules.mjs +73 -0
  184. package/dist/esm/exports/uniq.js +7 -0
  185. package/dist/esm/exports/uniq.js.map +6 -0
  186. package/dist/esm/exports/uniq.mjs +4 -0
  187. package/dist/esm/index.js +4 -0
  188. package/dist/esm/index.js.map +1 -1
  189. package/dist/esm/index.mjs +4 -0
  190. package/dist/esm/index.native.js +4 -0
  191. package/dist/esm/index.native.js.map +1 -1
  192. package/dist/esm/plugins/reactNativeCommonJsPlugin.js.map +1 -1
  193. package/dist/esm/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
  194. package/dist/esm/plugins/reactNativeHMRPlugin.js +57 -0
  195. package/dist/esm/plugins/reactNativeHMRPlugin.js.map +6 -0
  196. package/dist/esm/plugins/reactNativeHMRPlugin.mjs +62 -0
  197. package/dist/esm/plugins/reactNativeHMRPlugin.native.js +292 -0
  198. package/dist/esm/plugins/reactNativeHMRPlugin.native.js.map +6 -0
  199. package/dist/esm/utils/bindKeypressInput.js +34 -0
  200. package/dist/esm/utils/bindKeypressInput.js.map +6 -0
  201. package/dist/esm/utils/bindKeypressInput.mjs +31 -0
  202. package/dist/esm/utils/bindKeypressInput.native.js +34 -0
  203. package/dist/esm/utils/bindKeypressInput.native.js.map +6 -0
  204. package/dist/esm/utils/coerceToArray.js +7 -0
  205. package/dist/esm/utils/coerceToArray.js.map +6 -0
  206. package/dist/esm/utils/coerceToArray.mjs +4 -0
  207. package/dist/esm/utils/coerceToArray.native.js +9 -0
  208. package/dist/esm/utils/coerceToArray.native.js.map +6 -0
  209. package/dist/esm/utils/connectedNativeClients.js +13 -0
  210. package/dist/esm/utils/connectedNativeClients.js.map +6 -0
  211. package/dist/esm/utils/connectedNativeClients.mjs +8 -0
  212. package/dist/esm/utils/connectedNativeClients.native.js +13 -0
  213. package/dist/esm/utils/connectedNativeClients.native.js.map +6 -0
  214. package/dist/esm/utils/getIndexJsonResponse.js +55 -0
  215. package/dist/esm/utils/getIndexJsonResponse.js.map +6 -0
  216. package/dist/esm/utils/getIndexJsonResponse.mjs +71 -0
  217. package/dist/esm/utils/getIndexJsonResponse.native.js +78 -0
  218. package/dist/esm/utils/getIndexJsonResponse.native.js.map +6 -0
  219. package/dist/esm/utils/getOptimizeDeps.js +8 -7
  220. package/dist/esm/utils/getOptimizeDeps.js.map +1 -1
  221. package/dist/esm/utils/getOptimizeDeps.mjs +2 -2
  222. package/dist/esm/utils/getOptimizeDeps.native.js +8 -7
  223. package/dist/esm/utils/getOptimizeDeps.native.js.map +1 -1
  224. package/dist/esm/utils/getOptionsFilled.js.map +1 -1
  225. package/dist/esm/utils/getOptionsFilled.native.js.map +1 -1
  226. package/dist/esm/utils/getReactNativeBundle.js +153 -0
  227. package/dist/esm/utils/getReactNativeBundle.js.map +6 -0
  228. package/dist/esm/utils/getReactNativeBundle.mjs +142 -0
  229. package/dist/esm/utils/getReactNativeBundle.native.js +371 -0
  230. package/dist/esm/utils/getReactNativeBundle.native.js.map +6 -0
  231. package/dist/esm/utils/getVitePath.js +2 -2
  232. package/dist/esm/utils/getVitePath.js.map +1 -1
  233. package/dist/esm/utils/getVitePath.mjs +2 -2
  234. package/dist/esm/utils/getVitePath.native.js +8 -8
  235. package/dist/esm/utils/getVitePath.native.js.map +2 -2
  236. package/dist/esm/utils/getViteServerConfig.js +69 -0
  237. package/dist/esm/utils/getViteServerConfig.js.map +6 -0
  238. package/dist/esm/utils/getViteServerConfig.mjs +49 -0
  239. package/dist/esm/utils/getViteServerConfig.native.js +240 -0
  240. package/dist/esm/utils/getViteServerConfig.native.js.map +6 -0
  241. package/dist/esm/utils/hotUpdateCache.js +5 -0
  242. package/dist/esm/utils/hotUpdateCache.js.map +6 -0
  243. package/dist/esm/utils/hotUpdateCache.mjs +2 -0
  244. package/dist/esm/utils/hotUpdateCache.native.js +5 -0
  245. package/dist/esm/utils/hotUpdateCache.native.js.map +6 -0
  246. package/dist/esm/utils/isBuildingNativeBundle.js +9 -0
  247. package/dist/esm/utils/isBuildingNativeBundle.js.map +6 -0
  248. package/dist/esm/utils/isBuildingNativeBundle.mjs +5 -0
  249. package/dist/esm/utils/isBuildingNativeBundle.native.js +10 -0
  250. package/dist/esm/utils/isBuildingNativeBundle.native.js.map +6 -0
  251. package/dist/esm/utils/isWithin.js +9 -0
  252. package/dist/esm/utils/isWithin.js.map +6 -0
  253. package/dist/esm/utils/isWithin.mjs +6 -0
  254. package/dist/esm/utils/isWithin.native.js +9 -0
  255. package/dist/esm/utils/isWithin.native.js.map +6 -0
  256. package/dist/esm/utils/readVXRNConfig.js +16 -19
  257. package/dist/esm/utils/readVXRNConfig.js.map +1 -1
  258. package/dist/esm/utils/readVXRNConfig.mjs +17 -21
  259. package/dist/esm/utils/readVXRNConfig.native.js +105 -50
  260. package/dist/esm/utils/readVXRNConfig.native.js.map +2 -2
  261. package/dist/esm/utils/resolveFile.js +12 -0
  262. package/dist/esm/utils/resolveFile.js.map +6 -0
  263. package/dist/esm/utils/resolveFile.mjs +9 -0
  264. package/dist/esm/utils/resolveFile.native.js +12 -0
  265. package/dist/esm/utils/resolveFile.native.js.map +6 -0
  266. package/dist/esm/utils/swapPrebuiltReactModules.js +89 -0
  267. package/dist/esm/utils/swapPrebuiltReactModules.js.map +6 -0
  268. package/dist/esm/utils/swapPrebuiltReactModules.mjs +75 -0
  269. package/dist/esm/utils/swapPrebuiltReactModules.native.js +248 -0
  270. package/dist/esm/utils/swapPrebuiltReactModules.native.js.map +6 -0
  271. package/dist/esm/utils/uniq.js +7 -0
  272. package/dist/esm/utils/uniq.js.map +6 -0
  273. package/dist/esm/utils/uniq.mjs +4 -0
  274. package/dist/esm/utils/uniq.native.js +38 -0
  275. package/dist/esm/utils/uniq.native.js.map +6 -0
  276. package/package.json +8 -8
  277. package/src/exports/build.ts +46 -183
  278. package/src/exports/dev.ts +18 -646
  279. package/src/exports/serve.ts +4 -0
  280. package/src/index.ts +5 -0
  281. package/src/plugins/reactNativeCommonJsPlugin.ts +0 -2
  282. package/src/plugins/reactNativeHMRPlugin.ts +105 -0
  283. package/src/types.ts +9 -0
  284. package/src/utils/bindKeypressInput.ts +46 -0
  285. package/src/utils/coerceToArray.ts +3 -0
  286. package/src/utils/connectedNativeClients.ts +9 -0
  287. package/src/utils/getIndexJsonResponse.ts +52 -0
  288. package/src/utils/getOptimizeDeps.ts +9 -8
  289. package/src/utils/getOptionsFilled.ts +0 -1
  290. package/src/utils/getReactNativeBundle.ts +228 -0
  291. package/src/utils/getVitePath.ts +3 -3
  292. package/src/utils/getViteServerConfig.ts +104 -0
  293. package/src/utils/hotUpdateCache.ts +1 -0
  294. package/src/utils/isBuildingNativeBundle.ts +7 -0
  295. package/src/utils/isWithin.ts +6 -0
  296. package/src/utils/readVXRNConfig.ts +81 -25
  297. package/src/utils/resolveFile.ts +9 -0
  298. package/src/utils/swapPrebuiltReactModules.ts +126 -0
  299. package/src/utils/uniq.ts +3 -0
  300. package/types/exports/bindKeypressInput.d.ts +2 -0
  301. package/types/exports/coerceToArray.d.ts +2 -0
  302. package/types/exports/connectedNativeClients.d.ts +2 -0
  303. package/types/exports/dev.d.ts +0 -2
  304. package/types/exports/entryRoot.d.ts +11 -0
  305. package/types/exports/getIndexJsonResponse.d.ts +68 -0
  306. package/types/exports/getReactNativeBundle.d.ts +3 -0
  307. package/types/exports/getViteServerConfig.d.ts +4 -0
  308. package/types/exports/hotUpdateCache.d.ts +2 -0
  309. package/types/exports/isBuildingNativeBundle.d.ts +2 -0
  310. package/types/exports/isWithin.d.ts +2 -0
  311. package/types/exports/reactNativeHMRPlugin.d.ts +11 -0
  312. package/types/exports/resolveFile.d.ts +2 -0
  313. package/types/exports/swapPrebuiltReactModules.d.ts +7 -0
  314. package/types/exports/uniq.d.ts +2 -0
  315. package/types/index.d.ts +4 -0
  316. package/types/plugins/reactNativeHMRPlugin.d.ts +10 -0
  317. package/types/types.d.ts +4 -0
  318. package/types/utils/bindKeypressInput.d.ts +2 -0
  319. package/types/utils/coerceToArray.d.ts +2 -0
  320. package/types/utils/connectedNativeClients.d.ts +4 -0
  321. package/types/utils/getIndexJsonResponse.d.ts +68 -0
  322. package/types/utils/getOptionsFilled.d.ts +2 -0
  323. package/types/utils/getReactNativeBundle.d.ts +4 -0
  324. package/types/utils/getViteServerConfig.d.ts +4 -0
  325. package/types/utils/hotUpdateCache.d.ts +2 -0
  326. package/types/utils/isBuildingNativeBundle.d.ts +3 -0
  327. package/types/utils/isWithin.d.ts +2 -0
  328. package/types/utils/resolveFile.d.ts +2 -0
  329. package/types/utils/swapPrebuiltReactModules.d.ts +7 -0
  330. package/types/utils/uniq.d.ts +2 -0
@@ -1,41 +1,23 @@
1
1
  import wsAdapter from "crossws/adapters/node";
2
+ import FSExtra from "fs-extra";
2
3
  import { createApp, createRouter, defineEventHandler, eventHandler, getQuery, toNodeListener } from "h3";
3
4
  import { createProxyEventHandler } from "h3-proxy";
4
- import { readFile, rm } from "node:fs/promises";
5
+ import { rm } from "node:fs/promises";
5
6
  import { createServer as nodeCreateServer } from "node:http";
6
- import { dirname, join, relative, resolve } from "node:path";
7
- import readline from "node:readline";
7
+ import { join } from "node:path";
8
+ import { createServer, resolveConfig } from "vite";
8
9
  import { WebSocket } from "ws";
9
- import * as babel from "@babel/core";
10
- import { buildReact, buildReactJSX, buildReactNative } from "@vxrn/react-native-prebuilt";
11
- import viteReactPlugin, { swcTransform, transformForBuild } from "@vxrn/vite-native-swc";
12
- import { parse } from "es-module-lexer";
13
- import FSExtra from "fs-extra";
14
- import { build, createServer, mergeConfig, resolveConfig, transformWithEsbuild } from "vite";
15
- import createViteFlow from "@vxrn/vite-flow";
16
- import { resolve as importMetaResolve } from "import-meta-resolve";
17
- import { nativeExtensions } from "../constants.mjs";
18
10
  import { clientInjectionsPlugin } from "../plugins/clientInjectPlugin.mjs";
19
- import { reactNativeCommonJsPlugin } from "../plugins/reactNativeCommonJsPlugin.mjs";
20
- import { getBaseViteConfig } from "../utils/getBaseViteConfig.mjs";
11
+ import { bindKeypressInput } from "../utils/bindKeypressInput.mjs";
12
+ import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.mjs";
13
+ import { getIndexJsonResponse } from "../utils/getIndexJsonResponse.mjs";
21
14
  import { getOptionsFilled } from "../utils/getOptionsFilled.mjs";
22
- import { getVitePath } from "../utils/getVitePath.mjs";
15
+ import { getReactNativeBundle } from "../utils/getReactNativeBundle.mjs";
16
+ import { getViteServerConfig } from "../utils/getViteServerConfig.mjs";
17
+ import { hotUpdateCache } from "../utils/hotUpdateCache.mjs";
23
18
  import { checkPatches } from "../utils/patches.mjs";
24
- import { getOptimizeDeps } from "../utils/getOptimizeDeps.mjs";
25
- let isBuildingNativeBundle = null;
26
- const hotUpdateCache = /* @__PURE__ */new Map();
27
- let connectedNativeClients = 0;
28
- const resolveFile = path => {
29
- try {
30
- return importMetaResolve(path, import.meta.url).replace("file://", "");
31
- } catch {
32
- return require.resolve(path);
33
- }
34
- },
35
- {
36
- ensureDir,
37
- pathExists,
38
- pathExistsSync
19
+ const {
20
+ ensureDir
39
21
  } = FSExtra,
40
22
  dev = async ({
41
23
  clean,
@@ -131,13 +113,13 @@ const resolveFile = path => {
131
113
  handler() {},
132
114
  websocket: {
133
115
  open(peer) {
134
- console.debug("[hmr] open", peer), connectedNativeClients++;
116
+ console.debug("[hmr] open", peer), addConnectedNativeClient();
135
117
  },
136
118
  message(peer, message) {
137
119
  console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
138
120
  },
139
121
  close(peer, event) {
140
- console.info("[hmr] close", peer, event), connectedNativeClients--;
122
+ console.info("[hmr] close", peer, event), removeConnectedNativeClient();
141
123
  },
142
124
  error(peer, error) {
143
125
  console.error("[hmr] error", peer, error);
@@ -193,401 +175,4 @@ const resolveFile = path => {
193
175
  }
194
176
  };
195
177
  };
196
- async function getReactNativeBundle(options, viteRNClientPlugin) {
197
- const {
198
- root,
199
- port,
200
- cacheDir
201
- } = options,
202
- {
203
- depsToOptimize
204
- } = getOptimizeDeps("build");
205
- if (process.env.LOAD_TMP_BUNDLE) {
206
- const tmpBundle = join(process.cwd(), "bundle.tmp.js");
207
- if (await pathExists(tmpBundle)) return console.info("\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F returning temp bundle \u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F", tmpBundle), await readFile(tmpBundle, "utf-8");
208
- }
209
- if (isBuildingNativeBundle) return await isBuildingNativeBundle;
210
- let done;
211
- isBuildingNativeBundle = new Promise(res => {
212
- done = res;
213
- });
214
- async function babelReanimated(input, filename) {
215
- return await new Promise((res, rej) => {
216
- babel.transform(input, {
217
- plugins: ["react-native-reanimated/plugin"],
218
- filename
219
- }, (err, result) => {
220
- (!result || err) && rej(err || "no res"), res(result.code);
221
- });
222
- });
223
- }
224
- let nativeBuildConfig = {
225
- plugins: [options.flow ? createViteFlow(options.flow) : null, swapPrebuiltReactModules(cacheDir), {
226
- name: "reanimated",
227
- async transform(code, id) {
228
- if (code.includes("worklet")) return await babelReanimated(code, id);
229
- }
230
- }, viteRNClientPlugin, reactNativeCommonJsPlugin({
231
- root,
232
- port,
233
- mode: "build"
234
- }), viteReactPlugin({
235
- tsDecorators: !0,
236
- mode: "build"
237
- }), {
238
- name: "treat-js-files-as-jsx",
239
- async transform(code, id) {
240
- return id.includes("expo-status-bar") ? transformWithEsbuild(code, id, {
241
- loader: "jsx",
242
- jsx: "automatic"
243
- }) : null;
244
- }
245
- }].filter(Boolean),
246
- appType: "custom",
247
- root,
248
- clearScreen: !1,
249
- optimizeDeps: {
250
- include: depsToOptimize,
251
- esbuildOptions: {
252
- jsx: "automatic"
253
- }
254
- },
255
- resolve: {
256
- extensions: nativeExtensions
257
- },
258
- mode: "development",
259
- define: {
260
- "process.env.NODE_ENV": '"development"'
261
- },
262
- build: {
263
- ssr: !1,
264
- minify: !1,
265
- commonjsOptions: {
266
- transformMixedEsModules: !0
267
- },
268
- rollupOptions: {
269
- input: options.entries.native,
270
- treeshake: !1,
271
- preserveEntrySignatures: "strict",
272
- output: {
273
- preserveModules: !0,
274
- format: "cjs"
275
- }
276
- }
277
- }
278
- };
279
- options.nativeConfig && (nativeBuildConfig = mergeConfig(nativeBuildConfig, options.nativeConfig)), await resolveConfig(nativeBuildConfig, "build");
280
- const buildOutput = await build(nativeBuildConfig);
281
- if (!("output" in buildOutput)) throw "\u274C";
282
- let appCode = buildOutput.output.sort((a, b) => a.isEntry ? 1 : -1).map(outputModule => {
283
- if (outputModule.type == "chunk") {
284
- const importsMap = {
285
- currentPath: outputModule.fileName
286
- };
287
- for (const imp of outputModule.imports) {
288
- const relativePath = relative(dirname(outputModule.fileName), imp);
289
- importsMap[relativePath[0] === "." ? relativePath : "./" + relativePath] = imp;
290
- }
291
- return outputModule.isEntry && (entryRoot = dirname(outputModule.fileName)), `
292
- ___modules___["${outputModule.fileName}"] = ((exports, module) => {
293
- const require = createRequire(${JSON.stringify(importsMap, null, 2)})
294
-
295
- ${outputModule.code}
296
- })
297
-
298
- ${outputModule.isEntry ? `
299
- // run entry
300
- const __require = createRequire({})
301
- __require("react-native")
302
- __require("${outputModule.fileName}")
303
- ` : ""}
304
- `;
305
- }
306
- }).join(`
307
- `);
308
- if (!appCode) throw "\u274C";
309
- appCode = appCode.replaceAll('dist/esm/index.mjs"', 'dist/esm/index.js"');
310
- const appRootParent = join(root, "..", ".."),
311
- prebuilds = {
312
- reactJSX: join(cacheDir, "react-jsx-runtime.js"),
313
- react: join(cacheDir, "react.js"),
314
- reactNative: join(cacheDir, "react-native.js")
315
- },
316
- templateFile = resolveFile("vxrn/react-native-template.js"),
317
- out = (await readFile(templateFile, "utf-8")).replace("_virtual/virtual_react-native.js", relative(appRootParent, prebuilds.reactNative)).replace("_virtual/virtual_react.js", relative(appRootParent, prebuilds.react)).replaceAll("_virtual/virtual_react-jsx.js", relative(appRootParent, prebuilds.reactJSX)) + appCode;
318
- return done(out), isBuildingNativeBundle = null, out;
319
- }
320
- async function swapPrebuiltReactModules(cacheDir) {
321
- const prebuilds = {
322
- reactJSX: join(cacheDir, "react-jsx-runtime.js"),
323
- react: join(cacheDir, "react.js"),
324
- reactNative: join(cacheDir, "react-native.js")
325
- };
326
- (await pathExists(prebuilds.reactNative)) || (console.info("Pre-building react, react-native react/jsx-runtime (one time cost)..."), await Promise.all([buildReactNative({
327
- entryPoints: [resolveFile("react-native")],
328
- outfile: prebuilds.reactNative
329
- }), buildReact({
330
- entryPoints: [resolveFile("react")],
331
- outfile: prebuilds.react
332
- }), buildReactJSX({
333
- entryPoints: [resolveFile("react/jsx-dev-runtime")],
334
- outfile: prebuilds.reactJSX
335
- })]));
336
- const jsxRuntime = {
337
- // alias: 'virtual:react-jsx',
338
- alias: prebuilds.reactJSX,
339
- contents: await readFile(prebuilds.reactJSX, "utf-8")
340
- },
341
- virtualModules = {
342
- "react-native": {
343
- // alias: 'virtual:react-native',
344
- alias: prebuilds.reactNative,
345
- contents: await readFile(prebuilds.reactNative, "utf-8")
346
- },
347
- react: {
348
- // alias: 'virtual:react',
349
- alias: prebuilds.react,
350
- contents: await readFile(prebuilds.react, "utf-8")
351
- },
352
- "react/jsx-runtime": jsxRuntime,
353
- "react/jsx-dev-runtime": jsxRuntime
354
- };
355
- return {
356
- name: "swap-react-native",
357
- enforce: "pre",
358
- resolveId(id, importer = "") {
359
- if (id.startsWith("react-native/Libraries")) return `virtual:rn-internals:${id}`;
360
- if (id === "react-native-web") return prebuilds.reactNative;
361
- for (const targetId in virtualModules) if (id === targetId || id.includes(`node_modules/${targetId}/`)) return virtualModules[targetId].alias;
362
- if (isBuildingNativeBundle && id[0] === ".") {
363
- const absolutePath = resolve(dirname(importer), id),
364
- nativePath = absolutePath.replace(/(.m?js)/, ".native.js");
365
- if (nativePath === id) return;
366
- try {
367
- const directoryPath = absolutePath + "/index.native.js",
368
- directoryNonNativePath = absolutePath + "/index.js";
369
- if (pathExistsSync(directoryPath)) return directoryPath;
370
- if (pathExistsSync(directoryNonNativePath)) return directoryNonNativePath;
371
- if (pathExistsSync(nativePath)) return nativePath;
372
- } catch (err) {
373
- console.warn("error probably fine", err);
374
- }
375
- }
376
- },
377
- load(id) {
378
- if (id.startsWith("virtual:rn-internals")) return `const ___val = __cachedModules["${id.replace("virtual:rn-internals:", "")}"]
379
- const ___defaultVal = ___val ? ___val.default || ___val : ___val
380
- export default ___defaultVal`;
381
- for (const targetId in virtualModules) {
382
- const info = virtualModules[targetId];
383
- if (id === info.alias) return info.contents;
384
- }
385
- }
386
- };
387
- }
388
- function getIndexJsonResponse({
389
- port,
390
- root
391
- }) {
392
- return {
393
- name: "myapp",
394
- slug: "myapp",
395
- scheme: "myapp",
396
- version: "1.0.0",
397
- jsEngine: "jsc",
398
- orientation: "portrait",
399
- icon: "./assets/icon.png",
400
- userInterfaceStyle: "light",
401
- splash: {
402
- image: "./assets/splash.png",
403
- resizeMode: "contain",
404
- backgroundColor: "#ffffff",
405
- imageUrl: "http://127.0.0.1:8081/assets/./assets/splash.png"
406
- },
407
- updates: {
408
- fallbackToCacheTimeout: 0
409
- },
410
- assetBundlePatterns: ["**/*"],
411
- ios: {
412
- supportsTablet: !0,
413
- bundleIdentifier: "com.natew.myapp"
414
- },
415
- android: {
416
- package: "com.tamagui.myapp",
417
- adaptiveIcon: {
418
- foregroundImage: "./assets/adaptive-icon.png",
419
- backgroundColor: "#FFFFFF",
420
- foregroundImageUrl: "http://127.0.0.1:8081/assets/./assets/adaptive-icon.png"
421
- }
422
- },
423
- web: {
424
- favicon: "./assets/favicon.png"
425
- },
426
- extra: {
427
- eas: {
428
- projectId: "061b4470-78c7-4d6a-b850-8167fb0a3434"
429
- }
430
- },
431
- _internal: {
432
- isDebug: !1,
433
- projectRoot: root,
434
- dynamicConfigPath: null,
435
- staticConfigPath: join(root, "app.json"),
436
- packageJsonPath: join(root, "package.json")
437
- },
438
- sdkVersion: "50.0.0",
439
- platforms: ["ios", "android", "web"],
440
- iconUrl: `http://127.0.0.1:${port}/assets/./assets/icon.png`,
441
- debuggerHost: `127.0.0.1:${port}`,
442
- logUrl: `http://127.0.0.1:${port}/logs`,
443
- developer: {
444
- tool: "expo-cli",
445
- projectRoot: root
446
- },
447
- packagerOpts: {
448
- dev: !0
449
- },
450
- mainModuleName: "index",
451
- __flipperHack: "React Native packager is running",
452
- hostUri: `127.0.0.1:${port}`,
453
- bundleUrl: `http://127.0.0.1:${port}/index.bundle?platform=ios&dev=true&hot=false&lazy=true`,
454
- id: "@anonymous/myapp-473c4543-3c36-4786-9db1-c66a62ac9b78"
455
- };
456
- }
457
- function bindKeypressInput() {
458
- if (!process.stdin.setRawMode) {
459
- console.warn({
460
- msg: "Interactive mode is not supported in this environment"
461
- });
462
- return;
463
- }
464
- readline.emitKeypressEvents(process.stdin), process.stdin.setRawMode(!0), process.stdin.on("keypress", (_key, data) => {
465
- const {
466
- ctrl,
467
- name
468
- } = data;
469
- if (ctrl === !0) switch (name) {
470
- case "c":
471
- process.exit();
472
- case "z":
473
- process.emit("SIGTSTP", "SIGTSTP");
474
- break;
475
- } else switch (name) {
476
- case "r":
477
- break;
478
- case "d":
479
- break;
480
- case "c":
481
- process.stdout.write("\x1B[2J\x1B[0;0H");
482
- break;
483
- }
484
- });
485
- }
486
- function isWithin(outer, inner) {
487
- const rel = relative(outer, inner);
488
- return !rel.startsWith("../") && rel !== "..";
489
- }
490
- let entryRoot = "";
491
- async function getViteServerConfig(config) {
492
- const {
493
- root,
494
- host,
495
- webConfig
496
- } = config,
497
- {
498
- optimizeDeps
499
- } = getOptimizeDeps("serve");
500
- let serverConfig = mergeConfig(getBaseViteConfig({
501
- mode: "development"
502
- }), {
503
- root,
504
- clearScreen: !1,
505
- plugins: [reactNativeHMRPlugin(config), {
506
- name: "process-env-ssr",
507
- transform(code, id, options) {
508
- if (!id.includes("node_modules") && code.includes("process.env.TAMAGUI_IS_SERVER")) return code.replaceAll("process.env.TAMAGUI_IS_SERVER", `${!!options?.ssr}`);
509
- }
510
- }],
511
- optimizeDeps,
512
- ssr: {
513
- // noExternal true causes many incompat issues because we need things on disk to work
514
- // eg generally node uses .cjs extensions to "switch" back to cjs mode on import, but once bundled
515
- // this wont happen, breaking many things
516
- // but we need react related things always so they dont duplicate
517
- noExternal: [...optimizeDeps.include, "react", "react-dom", "react-dom/server", "react-dom/client"],
518
- optimizeDeps
519
- },
520
- server: {
521
- hmr: {
522
- path: "/__vxrnhmr"
523
- },
524
- cors: !0,
525
- host
526
- }
527
- });
528
- if (webConfig) {
529
- serverConfig = mergeConfig(serverConfig, webConfig);
530
- const theirNoExternal = webConfig.ssr?.noExternal;
531
- theirNoExternal != null && theirNoExternal !== !0 && (serverConfig.ssr.noExternal = theirNoExternal);
532
- }
533
- return process.env.DEBUG && (console.debug("server config is", serverConfig), console.debug(`server ssr
534
- `, JSON.stringify(serverConfig.ssr, null, 2))), serverConfig = {
535
- ...serverConfig,
536
- plugins: [...serverConfig.plugins]
537
- }, serverConfig;
538
- }
539
- function reactNativeHMRPlugin({
540
- root
541
- }) {
542
- return {
543
- name: "client-transform",
544
- async handleHotUpdate({
545
- read,
546
- modules,
547
- file
548
- }) {
549
- try {
550
- if (!isWithin(root, file) || !connectedNativeClients) return;
551
- const [module] = modules;
552
- if (!module) return;
553
- const id = module?.url || file.replace(root, ""),
554
- code = await read();
555
- if (code.startsWith("'use strict';") || !code) return;
556
- let source = code;
557
- source = (await transformForBuild(id, source))?.code || "";
558
- const importsMap = {},
559
- [imports] = parse(source);
560
- let accumulatedSliceOffset = 0;
561
- for (const specifier of imports) {
562
- const {
563
- n: importName,
564
- s: start
565
- } = specifier;
566
- if (importName) {
567
- const id2 = await getVitePath(entryRoot, file, importName);
568
- if (!id2) {
569
- console.warn("???");
570
- continue;
571
- }
572
- importsMap[id2] = id2.replace(/^(\.\.\/)+/, "");
573
- const len = importName.length,
574
- extraLen = id2.length - len;
575
- source = source.slice(0, start + accumulatedSliceOffset) + id2 + source.slice(start + accumulatedSliceOffset + len), accumulatedSliceOffset += extraLen;
576
- }
577
- }
578
- if (source = (await swcTransform(id, source, {
579
- mode: "serve-cjs"
580
- }))?.code || "", !source) throw "\u274C no source";
581
- importsMap.currentPath = id;
582
- const hotUpdateSource = `exports = ((exports) => {
583
- const require = createRequire(${JSON.stringify(importsMap, null, 2)})
584
- ${source.replace("import.meta.hot.accept(() => {})", "").replaceAll(/import.meta.glob\(.*\)/gi, "globalThis['__importMetaGlobbed'] || {}")};
585
- return exports })({})`;
586
- process.env.DEBUG && console.info("Sending hot update", hotUpdateSource), hotUpdateCache.set(id, hotUpdateSource);
587
- } catch (err) {
588
- console.error("Error processing hmr update:", err);
589
- }
590
- }
591
- };
592
- }
593
- export { bindKeypressInput, dev, resolveFile };
178
+ export { dev };