vxrn 1.12.8 → 1.13.0

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 (208) hide show
  1. package/dist/config/getAdditionalViteConfig.mjs +1 -4
  2. package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
  3. package/dist/config/getAdditionalViteConfig.native.js +1 -4
  4. package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
  5. package/dist/config/getReactNativePlugins.mjs +1 -5
  6. package/dist/config/getReactNativePlugins.mjs.map +1 -1
  7. package/dist/config/getReactNativePlugins.native.js +1 -5
  8. package/dist/config/getReactNativePlugins.native.js.map +1 -1
  9. package/dist/exports/build.mjs +5 -0
  10. package/dist/exports/build.mjs.map +1 -1
  11. package/dist/exports/build.native.js +5 -0
  12. package/dist/exports/build.native.js.map +1 -1
  13. package/dist/exports/createServer.mjs +30 -25
  14. package/dist/exports/createServer.mjs.map +1 -1
  15. package/dist/exports/createServer.native.js +6 -3
  16. package/dist/exports/createServer.native.js.map +1 -1
  17. package/dist/exports/prebuild.mjs +25 -1
  18. package/dist/exports/prebuild.mjs.map +1 -1
  19. package/dist/exports/prebuild.native.js +30 -1
  20. package/dist/exports/prebuild.native.js.map +1 -1
  21. package/dist/exports/serve.mjs +2 -2
  22. package/dist/exports/serve.mjs.map +1 -1
  23. package/dist/exports/serve.native.js +2 -2
  24. package/dist/exports/serve.native.js.map +1 -1
  25. package/dist/exports/serveStaticAssets.mjs +43 -11
  26. package/dist/exports/serveStaticAssets.mjs.map +1 -1
  27. package/dist/exports/serveStaticAssets.native.js +69 -6
  28. package/dist/exports/serveStaticAssets.native.js.map +1 -1
  29. package/dist/index.js +1 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +1 -2
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/index.native.js +1 -2
  34. package/dist/index.native.js.map +1 -1
  35. package/dist/patches/builtInDepPatches.mjs +14 -0
  36. package/dist/patches/builtInDepPatches.mjs.map +1 -1
  37. package/dist/patches/builtInDepPatches.native.js +14 -0
  38. package/dist/patches/builtInDepPatches.native.js.map +1 -1
  39. package/dist/plugins/clientInjectPlugin.mjs +2 -62
  40. package/dist/plugins/clientInjectPlugin.mjs.map +1 -1
  41. package/dist/plugins/clientInjectPlugin.native.js +2 -75
  42. package/dist/plugins/clientInjectPlugin.native.js.map +1 -1
  43. package/dist/plugins/reactNativeDevAssetPlugin.mjs +1 -3
  44. package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
  45. package/dist/plugins/reactNativeDevAssetPlugin.native.js +1 -3
  46. package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
  47. package/dist/plugins/reactNativeDevServer.mjs +55 -77
  48. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  49. package/dist/plugins/reactNativeDevServer.native.js +73 -84
  50. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  51. package/dist/plugins/serverExtensions.test.mjs +12 -6
  52. package/dist/plugins/serverExtensions.test.mjs.map +1 -1
  53. package/dist/plugins/serverExtensions.test.native.js +12 -6
  54. package/dist/plugins/serverExtensions.test.native.js.map +1 -1
  55. package/dist/rn-commands/bundle/buildBundle.mjs +11 -35
  56. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  57. package/dist/rn-commands/bundle/buildBundle.native.js +9 -36
  58. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  59. package/dist/runtime/hmr-client.mjs +125 -0
  60. package/dist/runtime/hmr-client.mjs.map +1 -0
  61. package/dist/runtime/hmr-client.native.js +197 -0
  62. package/dist/runtime/hmr-client.native.js.map +1 -0
  63. package/dist/runtime/hmr-runtime.mjs +162 -0
  64. package/dist/runtime/hmr-runtime.mjs.map +1 -0
  65. package/dist/runtime/hmr-runtime.native.js +348 -0
  66. package/dist/runtime/hmr-runtime.native.js.map +1 -0
  67. package/dist/runtime/hmr-types.mjs +2 -0
  68. package/dist/runtime/hmr-types.mjs.map +1 -0
  69. package/dist/runtime/hmr-types.native.js +2 -0
  70. package/dist/runtime/hmr-types.native.js.map +1 -0
  71. package/dist/runtime/native-prelude.mjs +97 -0
  72. package/dist/runtime/native-prelude.mjs.map +1 -0
  73. package/dist/runtime/native-prelude.native.js +97 -0
  74. package/dist/runtime/native-prelude.native.js.map +1 -0
  75. package/dist/runtime/react-refresh-utils.mjs +19 -0
  76. package/dist/runtime/react-refresh-utils.mjs.map +1 -0
  77. package/dist/runtime/react-refresh-utils.native.js +24 -0
  78. package/dist/runtime/react-refresh-utils.native.js.map +1 -0
  79. package/dist/utils/createNativeDevEngine.mjs +661 -0
  80. package/dist/utils/createNativeDevEngine.mjs.map +1 -0
  81. package/dist/utils/createNativeDevEngine.native.js +702 -0
  82. package/dist/utils/createNativeDevEngine.native.js.map +1 -0
  83. package/dist/utils/patches.mjs +6 -2
  84. package/dist/utils/patches.mjs.map +1 -1
  85. package/dist/utils/patches.native.js +6 -2
  86. package/dist/utils/patches.native.js.map +1 -1
  87. package/dist/utils/scanDepsToOptimize.mjs +4 -3
  88. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  89. package/dist/utils/scanDepsToOptimize.native.js +4 -3
  90. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  91. package/expo-plugin.cjs +122 -0
  92. package/package.json +15 -19
  93. package/src/config/getAdditionalViteConfig.ts +1 -3
  94. package/src/config/getReactNativePlugins.ts +0 -6
  95. package/src/exports/build.ts +5 -0
  96. package/src/exports/createServer.ts +7 -2
  97. package/src/exports/prebuild.ts +45 -0
  98. package/src/exports/serve.ts +2 -1
  99. package/src/exports/serveStaticAssets.ts +67 -4
  100. package/src/index.ts +0 -2
  101. package/src/patches/builtInDepPatches.ts +29 -0
  102. package/src/plugins/clientInjectPlugin.ts +2 -109
  103. package/src/plugins/reactNativeDevAssetPlugin.ts +0 -21
  104. package/src/plugins/reactNativeDevServer.ts +57 -84
  105. package/src/plugins/serverExtensions.test.ts +6 -8
  106. package/src/rn-commands/bundle/buildBundle.ts +9 -62
  107. package/src/runtime/hmr-client.ts +215 -0
  108. package/src/runtime/hmr-runtime.ts +276 -0
  109. package/src/runtime/hmr-types.ts +84 -0
  110. package/src/runtime/native-prelude.ts +110 -0
  111. package/src/runtime/react-refresh-utils.ts +36 -0
  112. package/src/types.ts +22 -4
  113. package/src/utils/createNativeDevEngine.ts +942 -0
  114. package/src/utils/patches.ts +36 -18
  115. package/src/utils/scanDepsToOptimize.ts +2 -3
  116. package/types/config/getAdditionalViteConfig.d.ts.map +1 -1
  117. package/types/config/getOptionsFilled.d.ts +2 -18
  118. package/types/config/getOptionsFilled.d.ts.map +1 -1
  119. package/types/config/getReactNativePlugins.d.ts.map +1 -1
  120. package/types/exports/build.d.ts +1 -9
  121. package/types/exports/build.d.ts.map +1 -1
  122. package/types/exports/createServer.d.ts.map +1 -1
  123. package/types/exports/prebuild.d.ts.map +1 -1
  124. package/types/exports/serve.d.ts +2 -1
  125. package/types/exports/serve.d.ts.map +1 -1
  126. package/types/exports/serveStaticAssets.d.ts +12 -1
  127. package/types/exports/serveStaticAssets.d.ts.map +1 -1
  128. package/types/index.d.ts +0 -1
  129. package/types/index.d.ts.map +1 -1
  130. package/types/patches/builtInDepPatches.d.ts.map +1 -1
  131. package/types/plugins/clientInjectPlugin.d.ts +1 -7
  132. package/types/plugins/clientInjectPlugin.d.ts.map +1 -1
  133. package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -1
  134. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  135. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
  136. package/types/runtime/hmr-client.d.ts +40 -0
  137. package/types/runtime/hmr-client.d.ts.map +1 -0
  138. package/types/runtime/hmr-runtime.d.ts +69 -0
  139. package/types/runtime/hmr-runtime.d.ts.map +1 -0
  140. package/types/runtime/hmr-types.d.ts +76 -0
  141. package/types/runtime/hmr-types.d.ts.map +1 -0
  142. package/types/runtime/native-prelude.d.ts +11 -0
  143. package/types/runtime/native-prelude.d.ts.map +1 -0
  144. package/types/runtime/react-refresh-utils.d.ts +3 -0
  145. package/types/runtime/react-refresh-utils.d.ts.map +1 -0
  146. package/types/types.d.ts +15 -1
  147. package/types/types.d.ts.map +1 -1
  148. package/types/utils/createNativeDevEngine.d.ts +42 -0
  149. package/types/utils/createNativeDevEngine.d.ts.map +1 -0
  150. package/types/utils/patches.d.ts.map +1 -1
  151. package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
  152. package/dist/config/getReactNativeBuildConfig.mjs +0 -200
  153. package/dist/config/getReactNativeBuildConfig.mjs.map +0 -1
  154. package/dist/config/getReactNativeBuildConfig.native.js +0 -204
  155. package/dist/config/getReactNativeBuildConfig.native.js.map +0 -1
  156. package/dist/plugins/reactNativeHMRPlugin.mjs +0 -120
  157. package/dist/plugins/reactNativeHMRPlugin.mjs.map +0 -1
  158. package/dist/plugins/reactNativeHMRPlugin.native.js +0 -151
  159. package/dist/plugins/reactNativeHMRPlugin.native.js.map +0 -1
  160. package/dist/utils/filterPluginsForNative.mjs +0 -27
  161. package/dist/utils/filterPluginsForNative.mjs.map +0 -1
  162. package/dist/utils/filterPluginsForNative.native.js +0 -33
  163. package/dist/utils/filterPluginsForNative.native.js.map +0 -1
  164. package/dist/utils/getReactNativeBundle.mjs +0 -104
  165. package/dist/utils/getReactNativeBundle.mjs.map +0 -1
  166. package/dist/utils/getReactNativeBundle.native.js +0 -135
  167. package/dist/utils/getReactNativeBundle.native.js.map +0 -1
  168. package/dist/utils/hotUpdateCache.mjs +0 -3
  169. package/dist/utils/hotUpdateCache.mjs.map +0 -1
  170. package/dist/utils/hotUpdateCache.native.js +0 -3
  171. package/dist/utils/hotUpdateCache.native.js.map +0 -1
  172. package/dist/utils/isBuildingNativeBundle.mjs +0 -6
  173. package/dist/utils/isBuildingNativeBundle.mjs.map +0 -1
  174. package/dist/utils/isBuildingNativeBundle.native.js +0 -7
  175. package/dist/utils/isBuildingNativeBundle.native.js.map +0 -1
  176. package/dist/utils/swapPrebuiltReactModules.mjs +0 -168
  177. package/dist/utils/swapPrebuiltReactModules.mjs.map +0 -1
  178. package/dist/utils/swapPrebuiltReactModules.native.js +0 -181
  179. package/dist/utils/swapPrebuiltReactModules.native.js.map +0 -1
  180. package/dist/worker.mjs +0 -55
  181. package/dist/worker.mjs.map +0 -1
  182. package/dist/worker.native.js +0 -55
  183. package/dist/worker.native.js.map +0 -1
  184. package/react-native-template.js +0 -375
  185. package/src/config/getReactNativeBuildConfig.ts +0 -349
  186. package/src/plugins/reactNativeHMRPlugin.ts +0 -237
  187. package/src/utils/filterPluginsForNative.ts +0 -55
  188. package/src/utils/getReactNativeBundle.ts +0 -243
  189. package/src/utils/hotUpdateCache.ts +0 -1
  190. package/src/utils/isBuildingNativeBundle.ts +0 -7
  191. package/src/utils/swapPrebuiltReactModules.ts +0 -341
  192. package/src/worker.ts +0 -90
  193. package/types/config/getReactNativeBuildConfig.d.ts +0 -72
  194. package/types/config/getReactNativeBuildConfig.d.ts.map +0 -1
  195. package/types/plugins/reactNativeHMRPlugin.d.ts +0 -10
  196. package/types/plugins/reactNativeHMRPlugin.d.ts.map +0 -1
  197. package/types/utils/filterPluginsForNative.d.ts +0 -8
  198. package/types/utils/filterPluginsForNative.d.ts.map +0 -1
  199. package/types/utils/getReactNativeBundle.d.ts +0 -12
  200. package/types/utils/getReactNativeBundle.d.ts.map +0 -1
  201. package/types/utils/hotUpdateCache.d.ts +0 -2
  202. package/types/utils/hotUpdateCache.d.ts.map +0 -1
  203. package/types/utils/isBuildingNativeBundle.d.ts +0 -3
  204. package/types/utils/isBuildingNativeBundle.d.ts.map +0 -1
  205. package/types/utils/swapPrebuiltReactModules.d.ts +0 -9
  206. package/types/utils/swapPrebuiltReactModules.d.ts.map +0 -1
  207. package/types/worker.d.ts +0 -13
  208. package/types/worker.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","_instanceof","left","right","Symbol","hasInstance","IMAGE_ASSET_EXTS","IMAGE_ASSET_EXTS_SET","Set","ASSET_DEST_DIR","DEV_ASSET_DEST_PATH","reactNativeDevAssetPlugin","options","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","config","getAssetData","projectRoot","root","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","assetData","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","mode","scales","name","type","enforce","configResolved","resolvedConfig","load","_options","environment","assetsDest","assetsDestDir","ensureDir","copyFile","assetModuleCode","JSON","stringify","configureServer","server","logger","defaultLogOptions","timestamp","middlewares","use","req","res","next","_req_url","url","startsWith","URL","pathname","assetPath","replace","asset","readFile","setHeader","write","end","e","error","red","Error","message","statusCode","code"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AAGpB,OAAOC,MAAA,MAAY;AACnB,SAASC,mBAAA,QAA2B;AAEpC,SAAMC,YAAAC,IAAmB,EAAAC,KAAA;EACvB,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAAA;AACA,IACAG,gBAAA,IACA,OACA,OACA,QACA,OACA,OACA,QACA,OACF,KACM,EAeC,QAGL,MAKA;EAAAC,oBAAI,OAAAC,GAAA,CAAAF,gBAAA;EAAAG,cAAA;EAAAC,mBAAA;AAEJ,SAAAC,yBAAgCA,CAAAC,OAAA;EAC9B;MAAAC;IAAM,IAAAD,OAAc;IAAOE,eAErB,OAAAC,MAAoB,QAAKF,SAAS,CAAAG,IAAA,IAAa,CAAE;IAAAC,WAAA,YAAAA,CAAAC,EAAA;MAEvD,OAAIJ,eAAe,CAAAK,IAAA,CAAAD,EAAA;IAEnB;IAAIE,MAAK;EAIT,eAAMC,YAAmBA,CAAAH,EAAA,EAAK;IAGE,IAC9BI,WAAA,GAAAF,MAAA,CAAAG,IAAA;MAAAC,iBAAA,GAAA3B,IAAA,CAAA4B,QAAA,CAAAH,WAAA,EAAAJ,EAAA;MAAAQ,YAAA,GAAAF,iBAAA;IAAA3B,IACG,CAAA8B,GAAA,KAAS,SAASD,YAAA,GAAAA,YAAA,CAAAE,UAAA;IACvB,IAAAC,gBAAA,GAAAhC,IAAA,CAAAiC,OAAA,CAAAN,iBAAA;MAAAO,aAAA,GAAAlC,IAAA,CAAAmC,QAAA,CAAAR,iBAAA;MAAAS,QAAA,GAAApC,IAAA,CAAAqC,OAAA,CAAAH,aAAA,EAAAI,KAAA;MAAAC,SAAA,GAAAL,aAAA,CAAAI,KAAA,MAAAF,QAAA,CAAAI,MAAA;MAAAC,SAAA;QAYAC,gBAVkB;QAChBC,kBAAkB,EAAA3C,IAAA,CAAAiC,OAAA,CAAAZ,EAAA;QAClBuB,0BAAyB,EAAAZ,gBAAU;QACnCa,kBAAA,MAAA9B,OAA4B,CAAA+B,IAAA,aAAAjC,mBAAA,GAAAD,cAAA,IAAAiB,YAAA,CAAAS,KAAA,MAAAJ,aAAA,CAAAM,MAAA;QAC5BO,MAAA,GAA4G;QAA4B;QAAgDC,IAAC,EAAAT,SAAA;QACzLU,IAAA,EAAAb;MAAU;IAAA,OACVK,SAAM;EAAA;EACA,OACR;IAGFO,IAAA;IAEAE,OAAO;IACLC,cAAMA,CAAAC,cAAA;MACN7B,MAAA,GAAS6B,cAAA;IAET;IACE;IACF;IAAA;IAAA;IAAA;IAAA,MAAAC,KAAAhC,EAAA,EAAAiC,QAAA;MAAA,IAAAnD,mBAAA,MAAAoD,WAAA,KAAAnC,WAAA,CAAAC,EAAA;QASA,IAAMoB,SAAS,SAAUjB,YAAA,CAAAH,EAAA;QAEvB,IADKN,OAAA,CAAA+B,IAAA,WAAoB,IAAK/B,OAAA,CAAWyC,UACpC;UAEL,IAAMC,aAAY,GAAMzD,IAAA,CAAAmB,IAAA,CAAAJ,OAAe,CAAAyC,UAAA,EAAA5C,cAAA,EAAA6B,SAAA,CAAAG,0BAAA;UAEnC,MAAA3C,OAAQ,CAAAyD,SAAS,CAAAD,aAAkB,SAAAxD,OAAY,CAAA0D,QAAA,CAAAtC,EAAA,EAAArB,IAAA,CAAAmB,IAAA,CAAAsC,aAAA,KAAAhB,SAAA,CAAAO,IAAA,IAAAP,SAAA,CAAAQ,IAAA;QAGjD;QAA2B,IACzBW,eAAQ;AAAA;AACR;AACU,mDACZC,IAAA,CAAAC,SAAA,CAAArB,SAAA;AACA;AACc;AACZ;QAEF,OAAAmB,eAAA;MACF;IAmBA;IARwB;AAAA;AAAA;IAGuDG,gBAAAC,MAAA;MAAA;UAAAC;QAAA,IAAAD,MAAA,CAAAzC,MAAA;QAAA2C,iBAAA;UAAAC,SAAA;QAMjF;MAAAH,MAAA,CAAAI,WAAA,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAAA,IAAAC,QAAA;QAAA,SAAAA,QAAA,GAAAH,GAAA,CAAAI,GAAA,cAAAD,QAAA,gBAAAA,QAAA,CAAAE,UAAA,KAAA9D,mBAAA,OAKA,OAAA2D,IAAgB;QACd,IAAME,GAAE,OAAOE,GAAI,qBACb,GAAAN,GAAA,CAAAI,GAAA;UAAAG,QAAsB,GAAAH,GAAW,CAAAG,QAAK;UAAAC,SAAA,UAAAD,QAAA,CAAAvC,KAAA,KAAAzB,mBAAA,IAAA2B,MAAA,EAAAuC,OAAA;QAG5C;UACE,IAAKC,KAAI,GAAK,MAAA/E,OAAW,CAAAgF,QAAI,CAAAH,SAAA;UAC3BP,GAAA,CAAAW,SAAY,+BAAAX,GAAA,CAAAY,KAAA,CAAAH,KAAA,GAAAT,GAAA,CAAAa,GAAA;QAMd,SAAMC,CAAA;UAGNpB,MAAI,CAAAqB,KAAA,CAAApF,MAAA,CAAAqF,GAAA,kCAAAT,SAAA,KAAA1E,WAAA,CAAAiF,CAAA,EAAAG,KAAA,IAAAH,CAAA,CAAAI,OAAA,uBAAAvB,iBAAA,GAAAK,GAAA,CAAAmB,UAAA,GAAAtF,WAAA,CAAAiF,CAAA,EAAAG,KAAA,KAAAH,CAAA,CAAAM,IAAA,2BAAApB,GAAA,CAAAa,GAAA;QACF;MAEA;IAEQ;EAER;AAAO;AACE,SAC0FtE,yBACjG","ignoreList":[]}
1
+ {"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","_instanceof","left","right","Symbol","hasInstance","ASSET_DEST_DIR","DEV_ASSET_DEST_PATH","reactNativeDevAssetPlugin","options","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","config","getAssetData","projectRoot","root","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","assetData","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","mode","scales","name","type","enforce","configResolved","resolvedConfig","load","_options","environment","assetsDest","assetsDestDir","ensureDir","copyFile","assetModuleCode","JSON","stringify","configureServer","server","logger","defaultLogOptions","timestamp","middlewares","use","req","res","next","_req_url","url","startsWith","URL","pathname","assetPath","replace","asset","readFile","setHeader","write","end","e","error","red","Error","message","statusCode","code"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AAGpB,OAAOC,MAAA,MAAY;AACnB,SAASC,mBAAA,QAA2B;AAEpC,SAAMC,YAAAC,IAAiB,EAAAC,KAAA,EAEjB;EAWC,OAASA,KAAA,mBAAAC,MACd,MACQ,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AACR;AAKA,IAAAG,cAAI;EAAAC,mBAAA;AAEJ,SAAAC,yBAAgCA,CAAAC,OAAA;EAC9B;MAAAC;IAAM,IAAAD,OAAc;IAAOE,eAErB,OAAAC,MAAoB,QAAKF,SAAS,CAAAG,IAAA,IAAa,CAAE;IAAAC,WAAA,YAAAA,CAAAC,EAAA;MAEvD,OAAIJ,eAAe,CAAAK,IAAA,CAAAD,EAAA;IAEnB;IAAIE,MAAK;EAIT,eAAMC,YAAmBA,CAAAH,EAAA,EAAK;IAGE,IAC9BI,WAAA,GAAAF,MAAA,CAAAG,IAAA;MAAAC,iBAAA,GAAAxB,IAAA,CAAAyB,QAAA,CAAAH,WAAA,EAAAJ,EAAA;MAAAQ,YAAA,GAAAF,iBAAA;IAAAxB,IACG,CAAA2B,GAAA,KAAS,SAASD,YAAA,GAAAA,YAAA,CAAAE,UAAA;IACvB,IAAAC,gBAAA,GAAA7B,IAAA,CAAA8B,OAAA,CAAAN,iBAAA;MAAAO,aAAA,GAAA/B,IAAA,CAAAgC,QAAA,CAAAR,iBAAA;MAAAS,QAAA,GAAAjC,IAAA,CAAAkC,OAAA,CAAAH,aAAA,EAAAI,KAAA;MAAAC,SAAA,GAAAL,aAAA,CAAAI,KAAA,MAAAF,QAAA,CAAAI,MAAA;MAAAC,SAAA;QAYAC,gBAVkB;QAChBC,kBAAkB,EAAAxC,IAAA,CAAA8B,OAAA,CAAAZ,EAAA;QAClBuB,0BAAyB,EAAAZ,gBAAU;QACnCa,kBAAA,MAAA9B,OAA4B,CAAA+B,IAAA,aAAAjC,mBAAA,GAAAD,cAAA,IAAAiB,YAAA,CAAAS,KAAA,MAAAJ,aAAA,CAAAM,MAAA;QAC5BO,MAAA,GAA4G;QAA4B;QAAgDC,IAAC,EAAAT,SAAA;QACzLU,IAAA,EAAAb;MAAU;IAAA,OACVK,SAAM;EAAA;EACA,OACR;IAGFO,IAAA;IAEAE,OAAO;IACLC,cAAMA,CAAAC,cAAA;MACN7B,MAAA,GAAS6B,cAAA;IAET;IACE;IACF;IAAA;IAAA;IAAA;IAAA,MAAAC,KAAAhC,EAAA,EAAAiC,QAAA;MAAA,IAAAhD,mBAAA,MAAAiD,WAAA,KAAAnC,WAAA,CAAAC,EAAA;QASA,IAAMoB,SAAS,SAAUjB,YAAA,CAAAH,EAAA;QAEvB,IADKN,OAAA,CAAA+B,IAAA,WAAoB,IAAK/B,OAAA,CAAWyC,UACpC;UAEL,IAAMC,aAAY,GAAMtD,IAAA,CAAAgB,IAAA,CAAAJ,OAAe,CAAAyC,UAAA,EAAA5C,cAAA,EAAA6B,SAAA,CAAAG,0BAAA;UAEnC,MAAAxC,OAAQ,CAAAsD,SAAS,CAAAD,aAAkB,SAAArD,OAAY,CAAAuD,QAAA,CAAAtC,EAAA,EAAAlB,IAAA,CAAAgB,IAAA,CAAAsC,aAAA,KAAAhB,SAAA,CAAAO,IAAA,IAAAP,SAAA,CAAAQ,IAAA;QAGjD;QAA2B,IACzBW,eAAQ;AAAA;AACR;AACU,mDACZC,IAAA,CAAAC,SAAA,CAAArB,SAAA;AACA;AACc;AACZ;QAEF,OAAAmB,eAAA;MACF;IAmBA;IARwB;AAAA;AAAA;IAGuDG,gBAAAC,MAAA;MAAA;UAAAC;QAAA,IAAAD,MAAA,CAAAzC,MAAA;QAAA2C,iBAAA;UAAAC,SAAA;QAMjF;MAAAH,MAAA,CAAAI,WAAA,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAAA,IAAAC,QAAA;QAAA,SAAAA,QAAA,GAAAH,GAAA,CAAAI,GAAA,cAAAD,QAAA,gBAAAA,QAAA,CAAAE,UAAA,KAAA9D,mBAAA,OAKA,OAAA2D,IAAgB;QACd,IAAME,GAAE,OAAOE,GAAI,qBACb,GAAAN,GAAA,CAAAI,GAAA;UAAAG,QAAsB,GAAAH,GAAW,CAAAG,QAAK;UAAAC,SAAA,UAAAD,QAAA,CAAAvC,KAAA,KAAAzB,mBAAA,IAAA2B,MAAA,EAAAuC,OAAA;QAG5C;UACE,IAAKC,KAAI,GAAK,MAAA5E,OAAW,CAAA6E,QAAI,CAAAH,SAAA;UAC3BP,GAAA,CAAAW,SAAY,+BAAAX,GAAA,CAAAY,KAAA,CAAAH,KAAA,GAAAT,GAAA,CAAAa,GAAA;QAMd,SAAMC,CAAA;UAGNpB,MAAI,CAAAqB,KAAA,CAAAjF,MAAA,CAAAkF,GAAA,kCAAAT,SAAA,KAAAvE,WAAA,CAAA8E,CAAA,EAAAG,KAAA,IAAAH,CAAA,CAAAI,OAAA,uBAAAvB,iBAAA,GAAAK,GAAA,CAAAmB,UAAA,GAAAnF,WAAA,CAAA8E,CAAA,EAAAG,KAAA,KAAAH,CAAA,CAAAM,IAAA,2BAAApB,GAAA,CAAAa,GAAA;QACF;MAEA;IAEQ;EAER;AAAO;AACE,SAC0FtE,yBACjG","ignoreList":[]}
@@ -1,16 +1,9 @@
1
1
  import { WebSocketServer } from "ws";
2
2
  import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.mjs";
3
- import { clearCachedBundle, getReactNativeBundle } from "../utils/getReactNativeBundle.mjs";
4
- import { hotUpdateCache } from "../utils/hotUpdateCache.mjs";
5
3
  import { URL } from "node:url";
6
- import { existsSync } from "node:fs";
7
- import { readFile, writeFile } from "node:fs/promises";
8
4
  import { createDevMiddleware } from "@react-native/dev-middleware";
9
- import { runOnWorker } from "../worker.mjs";
10
- import { getCacheDir } from "../utils/getCacheDir.mjs";
11
- import { debounce } from "perfect-debounce";
5
+ import { createNativeDevEngine } from "../utils/createNativeDevEngine.mjs";
12
6
  function createReactNativeDevServerPlugin(options) {
13
- let hmrSocket = null;
14
7
  return {
15
8
  name: "vite-plugin-react-native-server",
16
9
  configureServer(server) {
@@ -21,7 +14,6 @@ function createReactNativeDevServerPlugin(options) {
21
14
  {
22
15
  root
23
16
  } = server.config,
24
- cacheDir = options?.cacheDir || getCacheDir(root),
25
17
  hmrWSS = new WebSocketServer({
26
18
  noServer: !0
27
19
  }),
@@ -38,15 +30,29 @@ function createReactNativeDevServerPlugin(options) {
38
30
  logger: console
39
31
  });
40
32
  server.middlewares.use(middleware), server.httpServer?.on("upgrade", (req, socket, head) => {
41
- for (const endpoint of devToolsSocketEndpoints) if (req.url.startsWith(endpoint)) {
33
+ const url = req.url || "";
34
+ for (const endpoint of devToolsSocketEndpoints) if (url.startsWith(endpoint)) {
42
35
  const wss = websocketEndpoints[endpoint];
43
36
  wss.handleUpgrade(req, socket, head, ws => {
44
37
  wss.emit("connection", ws, req);
45
38
  });
39
+ return;
46
40
  }
47
- req.url.startsWith("/__hmr") && hmrWSS.handleUpgrade(req, socket, head, ws => {
48
- hmrWSS.emit("connection", ws, req);
49
- }), req.url === "/__client" && clientWSS.handleUpgrade(req, socket, head, ws => {
41
+ if (url.startsWith("/hot")) {
42
+ hmrWSS.handleUpgrade(req, socket, head, ws => {
43
+ ws.on("message", async data => {
44
+ try {
45
+ const msg = JSON.parse(data.toString());
46
+ if (msg.type === "hmr:module-registered" && msg.modules) {
47
+ const currentEngine = devEngines.ios || devEngines.android;
48
+ currentEngine?.engine && (await currentEngine.engine.registerModules("vxrn-dev", msg.modules));
49
+ }
50
+ } catch {}
51
+ }), hmrWSS.emit("connection", ws, req);
52
+ });
53
+ return;
54
+ }
55
+ url === "/__client" && clientWSS.handleUpgrade(req, socket, head, ws => {
50
56
  clientWSS.emit("connection", ws, req);
51
57
  });
52
58
  }), hmrWSS.on("connection", socket => {
@@ -73,69 +79,45 @@ function createReactNativeDevServerPlugin(options) {
73
79
  });
74
80
  });
75
81
  const validPlatforms = {
76
- ios: "ios",
77
- android: "android"
78
- };
79
- server.middlewares.use("/file", async (req, res) => {
80
- const file = new URL(req.url, `http://${req.headers.host}`).searchParams.get("file");
81
- if (file) {
82
- const source = hotUpdateCache.get(file);
83
- if (!source) {
84
- console.warn("No hot source found for", file), res.writeHead(200, {
82
+ ios: "ios",
83
+ android: "android"
84
+ },
85
+ devEngines = {},
86
+ devEngineCreating = {},
87
+ handleRNBundle = async (req, res) => {
88
+ const platformString = new URL(req.url, `http://${req.headers.host}`).searchParams.get("platform") || "",
89
+ platform = validPlatforms[platformString];
90
+ if (platform) try {
91
+ const bundle = await (async () => (devEngines[platform] || (devEngineCreating[platform] || (devEngineCreating[platform] = (async () => {
92
+ try {
93
+ console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`), devEngines[platform] = await createNativeDevEngine({
94
+ root,
95
+ port: port || 8081,
96
+ host: typeof host == "string" ? host : "localhost",
97
+ platform,
98
+ serverUrl: `http://${typeof host == "string" && host !== "0.0.0.0" ? host : "localhost"}:${port || 8081}`,
99
+ onHmrUpdate: update => {
100
+ const msg = JSON.stringify(update);
101
+ hmrWSS.clients.forEach(client => {
102
+ client.readyState === 1 && client.send(msg);
103
+ });
104
+ }
105
+ }), console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
106
+ } catch (err) {
107
+ throw devEngineCreating[platform] = null, err;
108
+ }
109
+ })()), await devEngineCreating[platform]), await devEngines[platform].getBundle().then(r => r.code)))();
110
+ res.writeHead(200, {
85
111
  "Content-Type": "text/javascript"
86
- }), res.end("");
87
- return;
88
- }
89
- res.writeHead(200, {
90
- "Content-Type": "text/javascript"
91
- }), res.end(source);
92
- }
93
- });
94
- const handleRNBundle = async (req, res) => {
95
- const platformString = new URL(req.url, `http://${req.headers.host}`).searchParams.get("platform") || "",
96
- platform = validPlatforms[platformString];
97
- if (platform) try {
98
- const bundle = await (async () => {
99
- if (typeof options?.debugBundle == "string" && options.debugBundlePaths) {
100
- const path = options.debugBundlePaths[platform];
101
- if (existsSync(path)) return console.info(" !!! - serving debug bundle from", path), await readFile(path, "utf-8");
102
- }
103
- const getRnBundleOptions = {
104
- root,
105
- cacheDir,
106
- server: {
107
- port,
108
- url: `http://${host}:${port}`
109
- },
110
- entries: {
111
- native: options?.entries?.native || "./src/entry-native.tsx"
112
- },
113
- ...options
114
- };
115
- let outBundle = process.env.VXRN_WORKER_BUNDLE ? await runOnWorker("bundle-react-native", {
116
- options: getRnBundleOptions,
117
- platform
118
- }) : await getReactNativeBundle(getRnBundleOptions, platform, {
119
- mode: process.env.RN_SERVE_PROD_BUNDLE ? "prod" : "dev"
120
- });
121
- if (server.config.webSocketToken && (outBundle = `globalThis.__VITE_WS_TOKEN__ = "${server.config.webSocketToken}";
122
- ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
123
- const path = options.debugBundlePaths[platform];
124
- existsSync(path) || (console.info(" !!! - writing debug bundle to", path), await writeFile(path, outBundle));
125
- }
126
- return outBundle;
127
- })();
128
- res.writeHead(200, {
129
- "Content-Type": "text/javascript"
130
- }), res.end(bundle);
131
- } catch (err) {
132
- console.error(" Error building React Native bundle"), console.error(err), console.error(`
112
+ }), res.end(bundle);
113
+ } catch (err) {
114
+ console.error(" Error building React Native bundle"), console.error(err), console.error(`
133
115
 
134
116
  Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`), res.writeHead(500, {
135
- "Content-Type": "text/plain"
136
- }), res.end(err instanceof Error ? err.stack || err.message : String(err));
137
- }
138
- };
117
+ "Content-Type": "text/plain"
118
+ }), res.end(err instanceof Error ? err.stack || err.message : String(err));
119
+ }
120
+ };
139
121
  server.middlewares.use((req, res, next) => {
140
122
  req.url?.split("?")[0].endsWith(".bundle") ? handleRNBundle(req, res, next) : next();
141
123
  }), server.middlewares.use("/status", (_req, res) => {
@@ -147,10 +129,6 @@ ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
147
129
  "Content-Type": "text/plain"
148
130
  }), res.end("TODO");
149
131
  });
150
- const debouncedClearCache = debounce(clearCachedBundle, 100);
151
- server.watcher.on("change", path => {
152
- path.includes("/dist/") || path.includes("\\dist\\") || debouncedClearCache();
153
- });
154
132
  }
155
133
  };
156
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","clearCachedBundle","getReactNativeBundle","hotUpdateCache","URL","existsSync","readFile","writeFile","createDevMiddleware","runOnWorker","getCacheDir","debounce","createReactNativeDevServerPlugin","options","hmrSocket","name","configureServer","server","host","port","config","root","cacheDir","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","endpoint","url","startsWith","wss","handleUpgrade","ws","emit","message","toString","includes","send","error","messageRaw","JSON","parse","type","level","data","info","warn","validPlatforms","ios","android","res","file","headers","searchParams","get","source","writeHead","end","handleRNBundle","platformString","platform","bundle","debugBundle","debugBundlePaths","path","getRnBundleOptions","entries","native","outBundle","process","env","VXRN_WORKER_BUNDLE","mode","RN_SERVE_PROD_BUNDLE","webSocketToken","err","Error","stack","String","next","split","endsWith","_req","debouncedClearCache","watcher"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","URL","createDevMiddleware","createNativeDevEngine","createReactNativeDevServerPlugin","options","name","configureServer","server","host","port","config","root","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","url","endpoint","startsWith","wss","handleUpgrade","ws","emit","data","msg","JSON","parse","toString","type","modules","currentEngine","devEngines","ios","android","engine","registerModules","message","includes","send","error","messageRaw","level","info","warn","validPlatforms","devEngineCreating","handleRNBundle","res","platformString","headers","searchParams","get","platform","bundle","serverUrl","onHmrUpdate","update","stringify","clients","forEach","client","readyState","err","getBundle","then","r","code","writeHead","end","Error","stack","String","next","split","endsWith","_req"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,17 @@
1
1
  import { WebSocketServer } from "ws";
2
2
  import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.native.js";
3
- import { clearCachedBundle, getReactNativeBundle } from "../utils/getReactNativeBundle.native.js";
4
- import { hotUpdateCache } from "../utils/hotUpdateCache.native.js";
5
3
  import { URL } from "url";
6
- import { existsSync } from "fs";
7
- import { readFile, writeFile } from "fs/promises";
8
4
  import { createDevMiddleware } from "@react-native/dev-middleware";
9
- import { runOnWorker } from "../worker.native.js";
10
- import { getCacheDir } from "../utils/getCacheDir.native.js";
11
- import { debounce } from "perfect-debounce";
5
+ import { createNativeDevEngine } from "../utils/createNativeDevEngine.native.js";
12
6
  function _instanceof(left, right) {
13
7
  return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
14
8
  }
9
+ function _type_of(obj) {
10
+ "@swc/helpers - typeof";
11
+
12
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
13
+ }
15
14
  function createReactNativeDevServerPlugin(options) {
16
- var hmrSocket = null;
17
15
  return {
18
16
  name: "vite-plugin-react-native-server",
19
17
  configureServer(server) {
@@ -25,7 +23,6 @@ function createReactNativeDevServerPlugin(options) {
25
23
  {
26
24
  root
27
25
  } = server.config,
28
- cacheDir = options?.cacheDir || getCacheDir(root),
29
26
  hmrWSS = new WebSocketServer({
30
27
  noServer: !0
31
28
  }),
@@ -42,19 +39,25 @@ function createReactNativeDevServerPlugin(options) {
42
39
  logger: console
43
40
  });
44
41
  server.middlewares.use(middleware), (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 || _server_httpServer.on("upgrade", function (req, socket, head) {
45
- var _iteratorNormalCompletion = !0,
42
+ var url = req.url || "",
43
+ _iteratorNormalCompletion = !0,
46
44
  _didIteratorError = !1,
47
45
  _iteratorError = void 0;
48
46
  try {
49
47
  for (var _loop = function () {
50
48
  var endpoint = _step.value;
51
- if (req.url.startsWith(endpoint)) {
49
+ if (url.startsWith(endpoint)) {
52
50
  var wss = websocketEndpoints[endpoint];
53
- wss.handleUpgrade(req, socket, head, function (ws) {
51
+ return wss.handleUpgrade(req, socket, head, function (ws) {
54
52
  wss.emit("connection", ws, req);
55
- });
53
+ }), {
54
+ v: void 0
55
+ };
56
56
  }
57
- }, _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
57
+ }, _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
58
+ var _ret = _loop();
59
+ if (_type_of(_ret) === "object") return _ret.v;
60
+ }
58
61
  } catch (err) {
59
62
  _didIteratorError = !0, _iteratorError = err;
60
63
  } finally {
@@ -64,9 +67,21 @@ function createReactNativeDevServerPlugin(options) {
64
67
  if (_didIteratorError) throw _iteratorError;
65
68
  }
66
69
  }
67
- req.url.startsWith("/__hmr") && hmrWSS.handleUpgrade(req, socket, head, function (ws) {
68
- hmrWSS.emit("connection", ws, req);
69
- }), req.url === "/__client" && clientWSS.handleUpgrade(req, socket, head, function (ws) {
70
+ if (url.startsWith("/hot")) {
71
+ hmrWSS.handleUpgrade(req, socket, head, function (ws) {
72
+ ws.on("message", async function (data) {
73
+ try {
74
+ var msg = JSON.parse(data.toString());
75
+ if (msg.type === "hmr:module-registered" && msg.modules) {
76
+ var currentEngine = devEngines.ios || devEngines.android;
77
+ currentEngine?.engine && (await currentEngine.engine.registerModules("vxrn-dev", msg.modules));
78
+ }
79
+ } catch {}
80
+ }), hmrWSS.emit("connection", ws, req);
81
+ });
82
+ return;
83
+ }
84
+ url === "/__client" && clientWSS.handleUpgrade(req, socket, head, function (ws) {
70
85
  clientWSS.emit("connection", ws, req);
71
86
  });
72
87
  }), hmrWSS.on("connection", function (socket) {
@@ -94,72 +109,50 @@ function createReactNativeDevServerPlugin(options) {
94
109
  });
95
110
  });
96
111
  var validPlatforms = {
97
- ios: "ios",
98
- android: "android"
99
- };
100
- server.middlewares.use("/file", async function (req, res) {
101
- var url = new URL(req.url, `http://${req.headers.host}`),
102
- file = url.searchParams.get("file");
103
- if (file) {
104
- var source = hotUpdateCache.get(file);
105
- if (!source) {
106
- console.warn("No hot source found for", file), res.writeHead(200, {
107
- "Content-Type": "text/javascript"
108
- }), res.end("");
109
- return;
110
- }
111
- res.writeHead(200, {
112
- "Content-Type": "text/javascript"
113
- }), res.end(source);
114
- }
115
- });
116
- var handleRNBundle = async function (req, res) {
117
- var url = new URL(req.url, `http://${req.headers.host}`),
118
- platformString = url.searchParams.get("platform") || "",
119
- platform = validPlatforms[platformString];
120
- if (platform) try {
121
- var bundle = await async function () {
122
- var _options_entries;
123
- if (typeof options?.debugBundle == "string" && options.debugBundlePaths) {
124
- var path = options.debugBundlePaths[platform];
125
- if (existsSync(path)) return console.info(" !!! - serving debug bundle from", path), await readFile(path, "utf-8");
126
- }
127
- var getRnBundleOptions = {
128
- root,
129
- cacheDir,
130
- server: {
131
- port,
132
- url: `http://${host}:${port}`
133
- },
134
- entries: {
135
- native: (options == null || (_options_entries = options.entries) === null || _options_entries === void 0 ? void 0 : _options_entries.native) || "./src/entry-native.tsx"
136
- },
137
- ...options
138
- },
139
- outBundle = process.env.VXRN_WORKER_BUNDLE ? await runOnWorker("bundle-react-native", {
140
- options: getRnBundleOptions,
141
- platform
142
- }) : await getReactNativeBundle(getRnBundleOptions, platform, {
143
- mode: process.env.RN_SERVE_PROD_BUNDLE ? "prod" : "dev"
112
+ ios: "ios",
113
+ android: "android"
114
+ },
115
+ devEngines = {},
116
+ devEngineCreating = {},
117
+ handleRNBundle = async function (req, res) {
118
+ var url = new URL(req.url, `http://${req.headers.host}`),
119
+ platformString = url.searchParams.get("platform") || "",
120
+ platform = validPlatforms[platformString];
121
+ if (platform) try {
122
+ var bundle = await async function () {
123
+ return devEngines[platform] || (devEngineCreating[platform] || (devEngineCreating[platform] = async function () {
124
+ try {
125
+ console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`), devEngines[platform] = await createNativeDevEngine({
126
+ root,
127
+ port: port || 8081,
128
+ host: typeof host == "string" ? host : "localhost",
129
+ platform,
130
+ serverUrl: `http://${typeof host == "string" && host !== "0.0.0.0" ? host : "localhost"}:${port || 8081}`,
131
+ onHmrUpdate: function (update) {
132
+ var msg = JSON.stringify(update);
133
+ hmrWSS.clients.forEach(function (client) {
134
+ client.readyState === 1 && client.send(msg);
135
+ });
136
+ }
137
+ }), console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
138
+ } catch (err) {
139
+ throw devEngineCreating[platform] = null, err;
140
+ }
141
+ }()), await devEngineCreating[platform]), await devEngines[platform].getBundle().then(function (r) {
142
+ return r.code;
144
143
  });
145
- if (server.config.webSocketToken && (outBundle = `globalThis.__VITE_WS_TOKEN__ = "${server.config.webSocketToken}";
146
- ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
147
- var path1 = options.debugBundlePaths[platform];
148
- existsSync(path1) || (console.info(" !!! - writing debug bundle to", path1), await writeFile(path1, outBundle));
149
- }
150
- return outBundle;
151
- }();
152
- res.writeHead(200, {
153
- "Content-Type": "text/javascript"
154
- }), res.end(bundle);
155
- } catch (err) {
156
- console.error(" Error building React Native bundle"), console.error(err), console.error(`
144
+ }();
145
+ res.writeHead(200, {
146
+ "Content-Type": "text/javascript"
147
+ }), res.end(bundle);
148
+ } catch (err) {
149
+ console.error(" Error building React Native bundle"), console.error(err), console.error(`
157
150
 
158
151
  Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`), res.writeHead(500, {
159
- "Content-Type": "text/plain"
160
- }), res.end(_instanceof(err, Error) ? err.stack || err.message : String(err));
161
- }
162
- };
152
+ "Content-Type": "text/plain"
153
+ }), res.end(_instanceof(err, Error) ? err.stack || err.message : String(err));
154
+ }
155
+ };
163
156
  server.middlewares.use(function (req, res, next) {
164
157
  var _req_url;
165
158
  !((_req_url = req.url) === null || _req_url === void 0) && _req_url.split("?")[0].endsWith(".bundle") ? handleRNBundle(req, res, next) : next();
@@ -172,10 +165,6 @@ ${outBundle}`), options?.debugBundle && options.debugBundlePaths) {
172
165
  "Content-Type": "text/plain"
173
166
  }), res.end("TODO");
174
167
  });
175
- var debouncedClearCache = debounce(clearCachedBundle, 100);
176
- server.watcher.on("change", function (path) {
177
- path.includes("/dist/") || path.includes("\\dist\\") || debouncedClearCache();
178
- });
179
168
  }
180
169
  };
181
170
  }
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","clearCachedBundle","getReactNativeBundle","hotUpdateCache","URL","existsSync","readFile","writeFile","createDevMiddleware","runOnWorker","getCacheDir","debounce","_instanceof","left","right","Symbol","hasInstance","createReactNativeDevServerPlugin","options","hmrSocket","name","configureServer","server","_server_httpServer","host","port","config","root","cacheDir","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","url","startsWith","wss","handleUpgrade","ws","emit","_iterator","iterator","next","done","err","return","message","toString","includes","send","error","messageRaw","JSON","parse","type","_message_data_","level","data","info","warn","validPlatforms","ios","android","res","headers","file","searchParams","get","source","writeHead","end","handleRNBundle","platformString","platform","bundle","_options_entries","debugBundle","debugBundlePaths","path","getRnBundleOptions","entries","native","outBundle","process","env","VXRN_WORKER_BUNDLE","mode","RN_SERVE_PROD_BUNDLE","webSocketToken","path1"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebSocketServer","addConnectedNativeClient","removeConnectedNativeClient","URL","createDevMiddleware","createNativeDevEngine","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","port","config","root","hmrWSS","noServer","clientWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","middlewares","use","httpServer","on","req","socket","head","url","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","startsWith","wss","handleUpgrade","ws","emit","v","_iterator","iterator","next","done","_ret","err","return","data","msg","JSON","parse","toString","type","modules","currentEngine","devEngines","ios","android","engine","registerModules","message","includes","send","error","messageRaw","_message_data_","level","info","warn","validPlatforms","devEngineCreating","handleRNBundle","res","headers","platformString","searchParams","get","platform","bundle","serverUrl","onHmrUpdate","update","stringify","clients","forEach","client","readyState"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -37,14 +37,20 @@ describe("platform-specific-resolve", () => {
37
37
  expect(result).toEqual({
38
38
  id: "/src/db.web.ts"
39
39
  }), vi.restoreAllMocks();
40
- }), it("errors when .server file is explicitly imported on client", async () => {
40
+ }), it("stubs .server file when explicitly imported on client", async () => {
41
41
  const resolveId = (await getPlatformResolvePlugin()).resolveId,
42
- ctx = createMockContext("client", "/src/db.server.ts");
43
- await expect(resolveId.call(ctx, "./db.server", "/src/page.tsx", {})).rejects.toThrow(".server file cannot be imported on client");
44
- }), it("errors when .server file is explicitly imported on ios", async () => {
42
+ ctx = createMockContext("client", "/src/db.server.ts"),
43
+ result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
44
+ expect(result).toEqual({
45
+ id: "\0server-only-stub:./db.server"
46
+ });
47
+ }), it("stubs .server file when explicitly imported on ios", async () => {
45
48
  const resolveId = (await getPlatformResolvePlugin()).resolveId,
46
- ctx = createMockContext("ios", "/src/db.server.ts");
47
- await expect(resolveId.call(ctx, "./db.server", "/src/page.tsx", {})).rejects.toThrow(".server file cannot be imported on ios");
49
+ ctx = createMockContext("ios", "/src/db.server.ts"),
50
+ result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
51
+ expect(result).toEqual({
52
+ id: "\0server-only-stub:./db.server"
53
+ });
48
54
  }), it("allows .server file import on ssr", async () => {
49
55
  const resolveId = (await getPlatformResolvePlugin()).resolveId,
50
56
  FSExtra = await import("fs-extra");
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","vi","getPlatformResolvePlugin","getBaseVitePlugins","plugin","find","p","name","Error","createMockContext","envName","resolvedId","resolve","fn","mockResolvedValue","id","environment","resolveId","FSExtra","spyOn","default","mockImplementation","path","String","includes","ctx","result","call","toEqual","restoreAllMocks","rejects","toThrow","toBeUndefined","ssrExts","config","environments","ssr","extensions","toContain","clientExts","client","not"],"sources":["../../src/plugins/serverExtensions.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","vi","getPlatformResolvePlugin","getBaseVitePlugins","plugin","find","p","name","Error","createMockContext","envName","resolvedId","resolve","fn","mockResolvedValue","id","environment","resolveId","FSExtra","spyOn","default","mockImplementation","path","String","includes","ctx","result","call","toEqual","restoreAllMocks","toBeUndefined","ssrExts","config","environments","ssr","extensions","toContain","clientExts","client","not"],"sources":["../../src/plugins/serverExtensions.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -51,16 +51,22 @@ describe("platform-specific-resolve", function () {
51
51
  expect(result).toEqual({
52
52
  id: "/src/db.web.ts"
53
53
  }), vi.restoreAllMocks();
54
- }), it("errors when .server file is explicitly imported on client", async function () {
54
+ }), it("stubs .server file when explicitly imported on client", async function () {
55
55
  var plugin = await getPlatformResolvePlugin(),
56
56
  resolveId = plugin.resolveId,
57
- ctx = createMockContext("client", "/src/db.server.ts");
58
- await expect(resolveId.call(ctx, "./db.server", "/src/page.tsx", {})).rejects.toThrow(".server file cannot be imported on client");
59
- }), it("errors when .server file is explicitly imported on ios", async function () {
57
+ ctx = createMockContext("client", "/src/db.server.ts"),
58
+ result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
59
+ expect(result).toEqual({
60
+ id: "\0server-only-stub:./db.server"
61
+ });
62
+ }), it("stubs .server file when explicitly imported on ios", async function () {
60
63
  var plugin = await getPlatformResolvePlugin(),
61
64
  resolveId = plugin.resolveId,
62
- ctx = createMockContext("ios", "/src/db.server.ts");
63
- await expect(resolveId.call(ctx, "./db.server", "/src/page.tsx", {})).rejects.toThrow(".server file cannot be imported on ios");
65
+ ctx = createMockContext("ios", "/src/db.server.ts"),
66
+ result = await resolveId.call(ctx, "./db.server", "/src/page.tsx", {});
67
+ expect(result).toEqual({
68
+ id: "\0server-only-stub:./db.server"
69
+ });
64
70
  }), it("allows .server file import on ssr", async function () {
65
71
  var plugin = await getPlatformResolvePlugin(),
66
72
  resolveId = plugin.resolveId,