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
@@ -2,98 +2,87 @@ import path from "node:path";
2
2
  import FSExtra from "fs-extra";
3
3
  import colors from "picocolors";
4
4
  import { isNativeEnvironment } from "../utils/environmentUtils.mjs";
5
+
5
6
  const ASSET_DEST_DIR = "assets";
6
7
  const DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
7
8
  function reactNativeDevAssetPlugin(options) {
8
- const {
9
- assetExts
10
- } = options;
11
- const assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`);
12
- const isAssetFile = id => assetExtsRegExp.test(id);
13
- let config;
14
- async function getAssetData(id) {
15
- const projectRoot = config.root;
16
- const relativeAssetPath = path.relative(projectRoot, id);
17
- let assetUrlPath = relativeAssetPath;
18
- if (path.sep === "\\") {
19
- assetUrlPath = assetUrlPath.replaceAll("\\", "/");
20
- }
21
- const relativeAssetDir = path.dirname(relativeAssetPath);
22
- const assetBasename = path.basename(relativeAssetPath);
23
- const assetExt = path.extname(assetBasename).slice(1);
24
- const assetName = assetBasename.slice(0, -(assetExt.length + 1));
25
- const assetData = {
26
- __packager_asset: true,
27
- fileSystemLocation: path.dirname(id),
28
- relativeFileSystemLocation: relativeAssetDir,
29
- httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1)
30
- /* removing the `/filename.ext` at the end */)}`,
31
- scales: [1],
32
- // TODO
33
- name: assetName,
34
- type: assetExt
35
- };
36
- return assetData;
37
- }
38
- return {
39
- name: "vxrn:react-native-dev-asset",
40
- enforce: "pre",
41
- configResolved(resolvedConfig) {
42
- config = resolvedConfig;
43
- },
44
- // resolveId(source, importer, options) {
45
- // if (!isNativeEnvironment(this.environment)) return
46
- // if (!isAssetFile(source)) return
47
- // // TODO: May need to handle platform specific extensions here.
48
- // },
49
- async load(id, _options) {
50
- if (!isNativeEnvironment(this.environment)) return;
51
- if (!isAssetFile(id)) return;
52
- const assetData = await getAssetData(id);
53
- if (options.mode === "prod" && options.assetsDest) {
54
- const assetsDestDir = path.join(options.assetsDest, ASSET_DEST_DIR, assetData.relativeFileSystemLocation);
55
- await FSExtra.ensureDir(assetsDestDir);
56
- await FSExtra.copyFile(id, path.join(assetsDestDir, `${assetData.name}.${assetData.type}`));
57
- }
58
- const assetModuleCode = `
9
+ const { assetExts } = options;
10
+ const assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`);
11
+ const isAssetFile = (id) => assetExtsRegExp.test(id);
12
+ let config;
13
+ async function getAssetData(id) {
14
+ const projectRoot = config.root;
15
+ const relativeAssetPath = path.relative(projectRoot, id);
16
+ let assetUrlPath = relativeAssetPath;
17
+ if (path.sep === "\\") {
18
+ assetUrlPath = assetUrlPath.replaceAll("\\", "/");
19
+ }
20
+ const relativeAssetDir = path.dirname(relativeAssetPath);
21
+ const assetBasename = path.basename(relativeAssetPath);
22
+ const assetExt = path.extname(assetBasename).slice(1);
23
+ const assetName = assetBasename.slice(0, -(assetExt.length + 1));
24
+ const assetData = {
25
+ __packager_asset: true,
26
+ fileSystemLocation: path.dirname(id),
27
+ relativeFileSystemLocation: relativeAssetDir,
28
+ httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1))}`,
29
+ scales: [1],
30
+ name: assetName,
31
+ type: assetExt
32
+ };
33
+ return assetData;
34
+ }
35
+ return {
36
+ name: "vxrn:react-native-dev-asset",
37
+ enforce: "pre",
38
+ configResolved(resolvedConfig) {
39
+ config = resolvedConfig;
40
+ },
41
+ async load(id, _options) {
42
+ if (!isNativeEnvironment(this.environment)) return;
43
+ if (!isAssetFile(id)) return;
44
+ const assetData = await getAssetData(id);
45
+ if (options.mode === "prod" && options.assetsDest) {
46
+ const assetsDestDir = path.join(options.assetsDest, ASSET_DEST_DIR, assetData.relativeFileSystemLocation);
47
+ await FSExtra.ensureDir(assetsDestDir);
48
+ await FSExtra.copyFile(id, path.join(assetsDestDir, `${assetData.name}.${assetData.type}`));
49
+ }
50
+ const assetModuleCode = `
59
51
  import { AssetRegistry } from 'react-native';
60
52
 
61
53
  export const asset = AssetRegistry.registerAsset(${JSON.stringify(assetData, null, 2)});
62
54
 
63
55
  export default asset;
64
56
  `;
65
- return assetModuleCode;
66
- },
67
- /**
68
- * Extend the dev server to serve assets during development.
69
- */
70
- configureServer(server) {
71
- const {
72
- logger
73
- } = server.config;
74
- const defaultLogOptions = {
75
- timestamp: true
76
- };
77
- server.middlewares.use(async (req, res, next) => {
78
- if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`)) {
79
- return next();
80
- }
81
- const url = new URL("http://example.com" + req.url);
82
- const pathname = url.pathname;
83
- const assetPath = "./" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
84
- try {
85
- const asset = await FSExtra.readFile(assetPath);
86
- res.setHeader("content-type", "image/png");
87
- res.write(asset);
88
- res.end();
89
- } catch (e) {
90
- logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`), defaultLogOptions);
91
- res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500;
92
- res.end();
93
- }
94
- });
95
- }
96
- };
57
+ return assetModuleCode;
58
+ },
59
+ /**
60
+ * Extend the dev server to serve assets during development.
61
+ */
62
+ configureServer(server) {
63
+ const { logger } = server.config;
64
+ const defaultLogOptions = { timestamp: true };
65
+ server.middlewares.use(async (req, res, next) => {
66
+ if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`)) {
67
+ return next();
68
+ }
69
+ const url = new URL("http://example.com" + req.url);
70
+ const pathname = url.pathname;
71
+ const assetPath = "./" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
72
+ try {
73
+ const asset = await FSExtra.readFile(assetPath);
74
+ res.setHeader("content-type", "image/png");
75
+ res.write(asset);
76
+ res.end();
77
+ } catch (e) {
78
+ logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`), defaultLogOptions);
79
+ res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500;
80
+ res.end();
81
+ }
82
+ });
83
+ }
84
+ };
97
85
  }
86
+
98
87
  export { reactNativeDevAssetPlugin };
99
88
  //# sourceMappingURL=reactNativeDevAssetPlugin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","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","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":"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","ignoreList":[]}
1
+ {"version":3,"file":"reactNativeDevAssetPlugin.js","names":[],"sources":["plugins/reactNativeDevAssetPlugin.js"],"sourcesContent":["import path from \"node:path\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { isNativeEnvironment } from \"../utils/environmentUtils\";\nconst ASSET_DEST_DIR = \"assets\";\nconst DEV_ASSET_DEST_PATH = \"__vxrn_dev_native_assets\";\nfunction reactNativeDevAssetPlugin(options) {\n const { assetExts } = options;\n const assetExtsRegExp = new RegExp(`\\\\.(${assetExts.join(\"|\")})$`);\n const isAssetFile = (id) => assetExtsRegExp.test(id);\n let config;\n async function getAssetData(id) {\n const projectRoot = config.root;\n const relativeAssetPath = path.relative(projectRoot, id);\n let assetUrlPath = relativeAssetPath;\n if (path.sep === \"\\\\\") {\n assetUrlPath = assetUrlPath.replaceAll(\"\\\\\", \"/\");\n }\n const relativeAssetDir = path.dirname(relativeAssetPath);\n const assetBasename = path.basename(relativeAssetPath);\n const assetExt = path.extname(assetBasename).slice(1);\n const assetName = assetBasename.slice(\n 0,\n -(assetExt.length + 1)\n );\n const assetData = {\n __packager_asset: true,\n fileSystemLocation: path.dirname(id),\n relativeFileSystemLocation: relativeAssetDir,\n httpServerLocation: `/${options.mode === \"dev\" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(\n 0,\n -(assetBasename.length + 1)\n /* removing the `/filename.ext` at the end */\n )}`,\n scales: [1],\n // TODO\n name: assetName,\n type: assetExt\n };\n return assetData;\n }\n return {\n name: \"vxrn:react-native-dev-asset\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n config = resolvedConfig;\n },\n // resolveId(source, importer, options) {\n // if (!isNativeEnvironment(this.environment)) return\n // if (!isAssetFile(source)) return\n // // TODO: May need to handle platform specific extensions here.\n // },\n async load(id, _options) {\n if (!isNativeEnvironment(this.environment)) return;\n if (!isAssetFile(id)) return;\n const assetData = await getAssetData(id);\n if (options.mode === \"prod\" && options.assetsDest) {\n const assetsDestDir = path.join(\n options.assetsDest,\n ASSET_DEST_DIR,\n assetData.relativeFileSystemLocation\n );\n await FSExtra.ensureDir(assetsDestDir);\n await FSExtra.copyFile(\n id,\n path.join(assetsDestDir, `${assetData.name}.${assetData.type}`)\n );\n }\n const assetModuleCode = `\nimport { AssetRegistry } from 'react-native';\n\nexport const asset = AssetRegistry.registerAsset(${JSON.stringify(assetData, null, 2)});\n\nexport default asset;\n `;\n return assetModuleCode;\n },\n /**\n * Extend the dev server to serve assets during development.\n */\n configureServer(server) {\n const { logger } = server.config;\n const defaultLogOptions = { timestamp: true };\n server.middlewares.use(async (req, res, next) => {\n if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`)) {\n return next();\n }\n const url = new URL(\"http://example.com\" + req.url);\n const pathname = url.pathname;\n const assetPath = \"./\" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\\.*$/, \"\");\n try {\n const asset = await FSExtra.readFile(assetPath);\n res.setHeader(\"content-type\", \"image/png\");\n res.write(asset);\n res.end();\n } catch (e) {\n logger.error(\n colors.red(\n `[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : \"unknown error\"}`\n ),\n defaultLogOptions\n );\n res.statusCode = e instanceof Error && e.code === \"ENOENT\" ? 404 : 500;\n res.end();\n }\n });\n }\n };\n}\nexport {\n reactNativeDevAssetPlugin\n};\n//# sourceMappingURL=reactNativeDevAssetPlugin.js.map\n"],"mappings":";;;;;;AAIA,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,SAAS,0BAA0B,SAAS;CAC1C,MAAM,EAAE,cAAc;CACtB,MAAM,kBAAkB,IAAI,OAAO,OAAO,UAAU,KAAK,GAAG,EAAE,GAAG;CACjE,MAAM,eAAe,OAAO,gBAAgB,KAAK,EAAE;CACnD,IAAI;CACJ,eAAe,aAAa,IAAI;EAC9B,MAAM,cAAc,OAAO;EAC3B,MAAM,oBAAoB,KAAK,SAAS,aAAa,EAAE;EACvD,IAAI,eAAe;EACnB,IAAI,KAAK,QAAQ,MAAM;GACrB,eAAe,aAAa,WAAW,MAAM,GAAG;EAClD;EACA,MAAM,mBAAmB,KAAK,QAAQ,iBAAiB;EACvD,MAAM,gBAAgB,KAAK,SAAS,iBAAiB;EACrD,MAAM,WAAW,KAAK,QAAQ,aAAa,CAAC,CAAC,MAAM,CAAC;EACpD,MAAM,YAAY,cAAc,MAC9B,GACA,EAAE,SAAS,SAAS,EACtB;EACA,MAAM,YAAY;GAChB,kBAAkB;GAClB,oBAAoB,KAAK,QAAQ,EAAE;GACnC,4BAA4B;GAC5B,oBAAoB,IAAI,QAAQ,SAAS,QAAQ,sBAAsB,eAAe,GAAG,aAAa,MACpG,GACA,EAAE,cAAc,SAAS,EAE3B;GACA,QAAQ,CAAC,CAAC;GAEV,MAAM;GACN,MAAM;EACR;EACA,OAAO;CACT;CACA,OAAO;EACL,MAAM;EACN,SAAS;EACT,eAAe,gBAAgB;GAC7B,SAAS;EACX;EAMA,MAAM,KAAK,IAAI,UAAU;GACvB,IAAI,CAAC,oBAAoB,KAAK,WAAW,GAAG;GAC5C,IAAI,CAAC,YAAY,EAAE,GAAG;GACtB,MAAM,YAAY,MAAM,aAAa,EAAE;GACvC,IAAI,QAAQ,SAAS,UAAU,QAAQ,YAAY;IACjD,MAAM,gBAAgB,KAAK,KACzB,QAAQ,YACR,gBACA,UAAU,0BACZ;IACA,MAAM,QAAQ,UAAU,aAAa;IACrC,MAAM,QAAQ,SACZ,IACA,KAAK,KAAK,eAAe,GAAG,UAAU,KAAK,GAAG,UAAU,MAAM,CAChE;GACF;GACA,MAAM,kBAAkB;;;mDAGqB,KAAK,UAAU,WAAW,MAAM,CAAC,EAAE;;;;GAIhF,OAAO;EACT;;;;EAIA,gBAAgB,QAAQ;GACtB,MAAM,EAAE,WAAW,OAAO;GAC1B,MAAM,oBAAoB,EAAE,WAAW,KAAK;GAC5C,OAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;IAC/C,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,oBAAoB,EAAE,GAAG;KACpD,OAAO,KAAK;IACd;IACA,MAAM,MAAM,IAAI,IAAI,uBAAuB,IAAI,GAAG;IAClD,MAAM,WAAW,IAAI;IACrB,MAAM,YAAY,OAAO,SAAS,MAAM,IAAI,oBAAoB,GAAG,MAAM,CAAC,CAAC,QAAQ,QAAQ,EAAE;IAC7F,IAAI;KACF,MAAM,QAAQ,MAAM,QAAQ,SAAS,SAAS;KAC9C,IAAI,UAAU,gBAAgB,WAAW;KACzC,IAAI,MAAM,KAAK;KACf,IAAI,IAAI;IACV,SAAS,GAAG;KACV,OAAO,MACL,OAAO,IACL,iCAAiC,UAAU,IAAI,aAAa,QAAQ,EAAE,UAAU,iBAClF,GACA,iBACF;KACA,IAAI,aAAa,aAAa,SAAS,EAAE,SAAS,WAAW,MAAM;KACnE,IAAI,IAAI;IACV;GACF,CAAC;EACH;CACF;AACF"}
@@ -2,107 +2,90 @@ import path from "path";
2
2
  import FSExtra from "fs-extra";
3
3
  import colors from "picocolors";
4
4
  import { isNativeEnvironment } from "../utils/environmentUtils.native.js";
5
- function _instanceof(left, right) {
6
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
7
- return !!right[Symbol.hasInstance](left);
8
- } else {
9
- return left instanceof right;
10
- }
11
- }
5
+
12
6
  var ASSET_DEST_DIR = "assets";
13
7
  var DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
14
8
  function reactNativeDevAssetPlugin(options) {
15
- var {
16
- assetExts
17
- } = options;
18
- var assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`);
19
- var isAssetFile = function (id) {
20
- return assetExtsRegExp.test(id);
21
- };
22
- var config;
23
- async function getAssetData(id) {
24
- var projectRoot = config.root;
25
- var relativeAssetPath = path.relative(projectRoot, id);
26
- var assetUrlPath = relativeAssetPath;
27
- if (path.sep === "\\") {
28
- assetUrlPath = assetUrlPath.replaceAll("\\", "/");
29
- }
30
- var relativeAssetDir = path.dirname(relativeAssetPath);
31
- var assetBasename = path.basename(relativeAssetPath);
32
- var assetExt = path.extname(assetBasename).slice(1);
33
- var assetName = assetBasename.slice(0, -(assetExt.length + 1));
34
- var assetData = {
35
- __packager_asset: true,
36
- fileSystemLocation: path.dirname(id),
37
- relativeFileSystemLocation: relativeAssetDir,
38
- httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1))}`,
39
- scales: [1],
40
- // TODO
41
- name: assetName,
42
- type: assetExt
43
- };
44
- return assetData;
45
- }
46
- return {
47
- name: "vxrn:react-native-dev-asset",
48
- enforce: "pre",
49
- configResolved(resolvedConfig) {
50
- config = resolvedConfig;
51
- },
52
- // resolveId(source, importer, options) {
53
- // if (!isNativeEnvironment(this.environment)) return
54
- // if (!isAssetFile(source)) return
55
- // // TODO: May need to handle platform specific extensions here.
56
- // },
57
- async load(id, _options) {
58
- if (!isNativeEnvironment(this.environment)) return;
59
- if (!isAssetFile(id)) return;
60
- var assetData = await getAssetData(id);
61
- if (options.mode === "prod" && options.assetsDest) {
62
- var assetsDestDir = path.join(options.assetsDest, ASSET_DEST_DIR, assetData.relativeFileSystemLocation);
63
- await FSExtra.ensureDir(assetsDestDir);
64
- await FSExtra.copyFile(id, path.join(assetsDestDir, `${assetData.name}.${assetData.type}`));
65
- }
66
- var assetModuleCode = `
9
+ var { assetExts } = options;
10
+ var assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`);
11
+ var isAssetFile = function(id) {
12
+ return assetExtsRegExp.test(id);
13
+ };
14
+ var config;
15
+ async function getAssetData(id) {
16
+ var projectRoot = config.root;
17
+ var relativeAssetPath = path.relative(projectRoot, id);
18
+ var assetUrlPath = relativeAssetPath;
19
+ if (path.sep === "\\") {
20
+ assetUrlPath = assetUrlPath.replaceAll("\\", "/");
21
+ }
22
+ var relativeAssetDir = path.dirname(relativeAssetPath);
23
+ var assetBasename = path.basename(relativeAssetPath);
24
+ var assetExt = path.extname(assetBasename).slice(1);
25
+ var assetName = assetBasename.slice(0, -(assetExt.length + 1));
26
+ var assetData = {
27
+ __packager_asset: true,
28
+ fileSystemLocation: path.dirname(id),
29
+ relativeFileSystemLocation: relativeAssetDir,
30
+ httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1))}`,
31
+ scales: [1],
32
+ name: assetName,
33
+ type: assetExt
34
+ };
35
+ return assetData;
36
+ }
37
+ return {
38
+ name: "vxrn:react-native-dev-asset",
39
+ enforce: "pre",
40
+ configResolved(resolvedConfig) {
41
+ config = resolvedConfig;
42
+ },
43
+ async load(id, _options) {
44
+ if (!isNativeEnvironment(this.environment)) return;
45
+ if (!isAssetFile(id)) return;
46
+ var assetData = await getAssetData(id);
47
+ if (options.mode === "prod" && options.assetsDest) {
48
+ var assetsDestDir = path.join(options.assetsDest, ASSET_DEST_DIR, assetData.relativeFileSystemLocation);
49
+ await FSExtra.ensureDir(assetsDestDir);
50
+ await FSExtra.copyFile(id, path.join(assetsDestDir, `${assetData.name}.${assetData.type}`));
51
+ }
52
+ var assetModuleCode = `
67
53
  import { AssetRegistry } from 'react-native';
68
54
 
69
55
  export const asset = AssetRegistry.registerAsset(${JSON.stringify(assetData, null, 2)});
70
56
 
71
57
  export default asset;
72
58
  `;
73
- return assetModuleCode;
74
- },
75
- /**
76
- * Extend the dev server to serve assets during development.
77
- */
78
- configureServer(server) {
79
- var {
80
- logger
81
- } = server.config;
82
- var defaultLogOptions = {
83
- timestamp: true
84
- };
85
- server.middlewares.use(async function (req, res, next) {
86
- var _req_url;
87
- if (!((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.startsWith(`/${DEV_ASSET_DEST_PATH}/`))) {
88
- return next();
89
- }
90
- var url = new URL("http://example.com" + req.url);
91
- var pathname = url.pathname;
92
- var assetPath = "./" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
93
- try {
94
- var asset = await FSExtra.readFile(assetPath);
95
- res.setHeader("content-type", "image/png");
96
- res.write(asset);
97
- res.end();
98
- } catch (e) {
99
- logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${_instanceof(e, Error) ? e.message : "unknown error"}`), defaultLogOptions);
100
- res.statusCode = _instanceof(e, Error) && e.code === "ENOENT" ? 404 : 500;
101
- res.end();
102
- }
103
- });
104
- }
105
- };
59
+ return assetModuleCode;
60
+ },
61
+ /**
62
+ * Extend the dev server to serve assets during development.
63
+ */
64
+ configureServer(server) {
65
+ var { logger } = server.config;
66
+ var defaultLogOptions = { timestamp: true };
67
+ server.middlewares.use(async function(req, res, next) {
68
+ var _req_url;
69
+ if (!((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.startsWith(`/${DEV_ASSET_DEST_PATH}/`))) {
70
+ return next();
71
+ }
72
+ var url = new URL("http://example.com" + req.url);
73
+ var pathname = url.pathname;
74
+ var assetPath = "./" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
75
+ try {
76
+ var asset = await FSExtra.readFile(assetPath);
77
+ res.setHeader("content-type", "image/png");
78
+ res.write(asset);
79
+ res.end();
80
+ } catch (e) {
81
+ logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`), defaultLogOptions);
82
+ res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500;
83
+ res.end();
84
+ }
85
+ });
86
+ }
87
+ };
106
88
  }
89
+
107
90
  export { reactNativeDevAssetPlugin };
108
91
  //# sourceMappingURL=reactNativeDevAssetPlugin.native.js.map
@@ -1 +1 @@
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":"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","ignoreList":[]}
1
+ {"version":3,"file":"reactNativeDevAssetPlugin.native.js","names":[],"sources":["plugins/reactNativeDevAssetPlugin.native.js"],"sourcesContent":["import path from \"path\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { isNativeEnvironment } from \"../utils/environmentUtils\";\nvar ASSET_DEST_DIR = \"assets\";\nvar DEV_ASSET_DEST_PATH = \"__vxrn_dev_native_assets\";\nfunction reactNativeDevAssetPlugin(options) {\n var { assetExts } = options;\n var assetExtsRegExp = new RegExp(`\\\\.(${assetExts.join(\"|\")})$`);\n var isAssetFile = function(id) {\n return assetExtsRegExp.test(id);\n };\n var config;\n async function getAssetData(id) {\n var projectRoot = config.root;\n var relativeAssetPath = path.relative(projectRoot, id);\n var assetUrlPath = relativeAssetPath;\n if (path.sep === \"\\\\\") {\n assetUrlPath = assetUrlPath.replaceAll(\"\\\\\", \"/\");\n }\n var relativeAssetDir = path.dirname(relativeAssetPath);\n var assetBasename = path.basename(relativeAssetPath);\n var assetExt = path.extname(assetBasename).slice(1);\n var assetName = assetBasename.slice(0, -(assetExt.length + 1));\n var assetData = {\n __packager_asset: true,\n fileSystemLocation: path.dirname(id),\n relativeFileSystemLocation: relativeAssetDir,\n httpServerLocation: `/${options.mode === \"dev\" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1))}`,\n scales: [\n 1\n ],\n // TODO\n name: assetName,\n type: assetExt\n };\n return assetData;\n }\n return {\n name: \"vxrn:react-native-dev-asset\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n config = resolvedConfig;\n },\n // resolveId(source, importer, options) {\n // if (!isNativeEnvironment(this.environment)) return\n // if (!isAssetFile(source)) return\n // // TODO: May need to handle platform specific extensions here.\n // },\n async load(id, _options) {\n if (!isNativeEnvironment(this.environment)) return;\n if (!isAssetFile(id)) return;\n var assetData = await getAssetData(id);\n if (options.mode === \"prod\" && options.assetsDest) {\n var assetsDestDir = path.join(options.assetsDest, ASSET_DEST_DIR, assetData.relativeFileSystemLocation);\n await FSExtra.ensureDir(assetsDestDir);\n await FSExtra.copyFile(id, path.join(assetsDestDir, `${assetData.name}.${assetData.type}`));\n }\n var assetModuleCode = `\nimport { AssetRegistry } from 'react-native';\n\nexport const asset = AssetRegistry.registerAsset(${JSON.stringify(assetData, null, 2)});\n\nexport default asset;\n `;\n return assetModuleCode;\n },\n /**\n * Extend the dev server to serve assets during development.\n */\n configureServer(server) {\n var { logger } = server.config;\n var defaultLogOptions = {\n timestamp: true\n };\n server.middlewares.use(async function(req, res, next) {\n var _req_url;\n if (!((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.startsWith(`/${DEV_ASSET_DEST_PATH}/`))) {\n return next();\n }\n var url = new URL(\"http://example.com\" + req.url);\n var pathname = url.pathname;\n var assetPath = \"./\" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\\.*$/, \"\");\n try {\n var asset = await FSExtra.readFile(assetPath);\n res.setHeader(\"content-type\", \"image/png\");\n res.write(asset);\n res.end();\n } catch (e) {\n logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : \"unknown error\"}`), defaultLogOptions);\n res.statusCode = e instanceof Error && e.code === \"ENOENT\" ? 404 : 500;\n res.end();\n }\n });\n }\n };\n}\nexport {\n reactNativeDevAssetPlugin\n};\n//# sourceMappingURL=reactNativeDevAssetPlugin.js.map\n"],"mappings":";;;;;;AAIA,IAAI,iBAAiB;AACrB,IAAI,sBAAsB;AAC1B,SAAS,0BAA0B,SAAS;CAC1C,IAAI,EAAE,cAAc;CACpB,IAAI,kBAAkB,IAAI,OAAO,OAAO,UAAU,KAAK,GAAG,EAAE,GAAG;CAC/D,IAAI,cAAc,SAAS,IAAI;EAC7B,OAAO,gBAAgB,KAAK,EAAE;CAChC;CACA,IAAI;CACJ,eAAe,aAAa,IAAI;EAC9B,IAAI,cAAc,OAAO;EACzB,IAAI,oBAAoB,KAAK,SAAS,aAAa,EAAE;EACrD,IAAI,eAAe;EACnB,IAAI,KAAK,QAAQ,MAAM;GACrB,eAAe,aAAa,WAAW,MAAM,GAAG;EAClD;EACA,IAAI,mBAAmB,KAAK,QAAQ,iBAAiB;EACrD,IAAI,gBAAgB,KAAK,SAAS,iBAAiB;EACnD,IAAI,WAAW,KAAK,QAAQ,aAAa,CAAC,CAAC,MAAM,CAAC;EAClD,IAAI,YAAY,cAAc,MAAM,GAAG,EAAE,SAAS,SAAS,EAAE;EAC7D,IAAI,YAAY;GACd,kBAAkB;GAClB,oBAAoB,KAAK,QAAQ,EAAE;GACnC,4BAA4B;GAC5B,oBAAoB,IAAI,QAAQ,SAAS,QAAQ,sBAAsB,eAAe,GAAG,aAAa,MAAM,GAAG,EAAE,cAAc,SAAS,EAAE;GAC1I,QAAQ,CACN,CACF;GAEA,MAAM;GACN,MAAM;EACR;EACA,OAAO;CACT;CACA,OAAO;EACL,MAAM;EACN,SAAS;EACT,eAAe,gBAAgB;GAC7B,SAAS;EACX;EAMA,MAAM,KAAK,IAAI,UAAU;GACvB,IAAI,CAAC,oBAAoB,KAAK,WAAW,GAAG;GAC5C,IAAI,CAAC,YAAY,EAAE,GAAG;GACtB,IAAI,YAAY,MAAM,aAAa,EAAE;GACrC,IAAI,QAAQ,SAAS,UAAU,QAAQ,YAAY;IACjD,IAAI,gBAAgB,KAAK,KAAK,QAAQ,YAAY,gBAAgB,UAAU,0BAA0B;IACtG,MAAM,QAAQ,UAAU,aAAa;IACrC,MAAM,QAAQ,SAAS,IAAI,KAAK,KAAK,eAAe,GAAG,UAAU,KAAK,GAAG,UAAU,MAAM,CAAC;GAC5F;GACA,IAAI,kBAAkB;;;mDAGuB,KAAK,UAAU,WAAW,MAAM,CAAC,EAAE;;;;GAIhF,OAAO;EACT;;;;EAIA,gBAAgB,QAAQ;GACtB,IAAI,EAAE,WAAW,OAAO;GACxB,IAAI,oBAAoB,EACtB,WAAW,KACb;GACA,OAAO,YAAY,IAAI,eAAe,KAAK,KAAK,MAAM;IACpD,IAAI;IACJ,IAAI,GAAG,WAAW,IAAI,SAAS,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS,WAAW,IAAI,oBAAoB,EAAE,IAAI;KACtH,OAAO,KAAK;IACd;IACA,IAAI,MAAM,IAAI,IAAI,uBAAuB,IAAI,GAAG;IAChD,IAAI,WAAW,IAAI;IACnB,IAAI,YAAY,OAAO,SAAS,MAAM,IAAI,oBAAoB,GAAG,MAAM,CAAC,CAAC,QAAQ,QAAQ,EAAE;IAC3F,IAAI;KACF,IAAI,QAAQ,MAAM,QAAQ,SAAS,SAAS;KAC5C,IAAI,UAAU,gBAAgB,WAAW;KACzC,IAAI,MAAM,KAAK;KACf,IAAI,IAAI;IACV,SAAS,GAAG;KACV,OAAO,MAAM,OAAO,IAAI,iCAAiC,UAAU,IAAI,aAAa,QAAQ,EAAE,UAAU,iBAAiB,GAAG,iBAAiB;KAC7I,IAAI,aAAa,aAAa,SAAS,EAAE,SAAS,WAAW,MAAM;KACnE,IAAI,IAAI;IACV;GACF,CAAC;EACH;CACF;AACF"}