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
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeFramePlatform","isNativeBundleFrame","symbolicateNativeStack","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","pendingReloadPlatforms","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","unused","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","wss","handleUpgrade","ws","emit","v","_iterator","iterator","done","_ret","err","return","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","has","send","JSON","stringify","toString","update","parse","removeClient","catch","messageRaw","_message_data_","level","data","info","warn","getDevEngine","creating","port","serverUrl","onHmrUpdate","msg","target","add","clients","forEach","client","nativeClient","readyState","handleRNBundle","platformString","bundle","getBundle","once","delete","code","stack","_req_url","endsWith"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"reactNativeDevServer.native.js","names":[],"sources":["plugins/reactNativeDevServer.native.js"],"sourcesContent":["import { WebSocketServer } from \"ws\";\nimport { createMessageSocket } from \"@vxrn/utils\";\nimport { addConnectedNativeClient, removeConnectedNativeClient } from \"../utils/connectedNativeClients\";\nimport { URL } from \"url\";\nimport { readFile } from \"fs/promises\";\nimport { createDevMiddleware } from \"@react-native/dev-middleware\";\nimport { createNativeDevEngine } from \"../utils/createNativeDevEngine\";\nimport { getBoundPort } from \"../utils/getBoundPort\";\nimport { getNativeFramePlatform, isNativeBundleFrame, symbolicateNativeStack } from \"../utils/symbolicateNativeStack\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction getNativeAssetContentType(type) {\n switch (type.toLowerCase()) {\n case \"bmp\":\n return \"image/bmp\";\n case \"gif\":\n return \"image/gif\";\n case \"jpeg\":\n case \"jpg\":\n return \"image/jpeg\";\n case \"json\":\n return \"application/json\";\n case \"otf\":\n return \"font/otf\";\n case \"png\":\n return \"image/png\";\n case \"svg\":\n return \"image/svg+xml\";\n case \"ttf\":\n return \"font/ttf\";\n case \"webp\":\n return \"image/webp\";\n case \"woff\":\n return \"font/woff\";\n case \"woff2\":\n return \"font/woff2\";\n default:\n return \"application/octet-stream\";\n }\n}\nfunction createReactNativeDevServerPlugin(options) {\n return {\n name: \"vite-plugin-react-native-server\",\n configureServer(server) {\n var _server_httpServer;\n var { host } = server.config.server;\n var { root } = server.config;\n var hmrWSS = new WebSocketServer({\n noServer: true\n });\n var clientWSS = new WebSocketServer({\n noServer: true\n });\n var messageWSS = createMessageSocket();\n var validPlatforms = {\n ios: \"ios\",\n android: \"android\"\n };\n var devEngines = {};\n var devEngineCreating = {};\n var warnedProdBundleRequest = /* @__PURE__ */ new Set();\n var pendingReloadPlatforms = /* @__PURE__ */ new Set();\n var devToolsSocketEndpoints = [\n \"/inspector/device\",\n \"/inspector/debug\"\n ];\n var reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;\n var { middleware, websocketEndpoints } = createDevMiddleware({\n serverBaseUrl: reactNativeDevToolsUrl,\n logger: console,\n unstable_experiments: {\n enableStandaloneFuseboxShell: false\n }\n });\n server.middlewares.use(async function(req, res, next) {\n if (req.method !== \"GET\" && req.method !== \"HEAD\") return next();\n var rawUrl = req.url || \"/\";\n var rawPathname = rawUrl.split(\"?\", 1)[0];\n if (!rawPathname.startsWith(\"/assets/\")) return next();\n var url = new URL(rawUrl, `http://${req.headers.host || \"localhost\"}`);\n var platform = validPlatforms[url.searchParams.get(\"platform\") || \"\"];\n var engine = platform ? devEngines[platform] : void 0;\n if (!engine) return next();\n var pathname;\n try {\n pathname = decodeURIComponent(rawPathname);\n } catch (unused) {\n res.writeHead(400, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Invalid native asset path\");\n return;\n }\n var asset = engine.getAsset(pathname, url.searchParams.get(\"hash\") || void 0);\n if (!asset) {\n res.writeHead(404, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Native asset not found\");\n return;\n }\n try {\n var contents = await readFile(asset.filePath);\n res.writeHead(200, {\n \"Cache-Control\": \"no-cache\",\n \"Content-Length\": String(contents.byteLength),\n \"Content-Type\": getNativeAssetContentType(asset.type)\n });\n res.end(req.method === \"HEAD\" ? void 0 : contents);\n } catch (error) {\n console.error(`[vxrn] failed to serve native asset ${pathname}: ${error instanceof Error ? error.message : String(error)}`);\n res.writeHead(500, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(\"Failed to read native asset\");\n }\n });\n server.middlewares.use(middleware);\n (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on(\"upgrade\", function(req, socket, head) {\n var url = req.url || \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var endpoint = _step.value;\n if (url.startsWith(endpoint)) {\n var wss = websocketEndpoints[endpoint];\n wss.handleUpgrade(req, socket, head, function(ws) {\n wss.emit(\"connection\", ws, req);\n });\n return {\n v: void 0\n };\n }\n };\n for (var _iterator = devToolsSocketEndpoints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (url.startsWith(\"/hot\")) {\n var hmrUrl = new URL(url, `http://${req.headers.host || \"localhost\"}`);\n var platform = validPlatforms[hmrUrl.searchParams.get(\"platform\") || \"\"];\n var clientId = hmrUrl.searchParams.get(\"clientId\");\n if (!platform || !clientId) {\n socket.destroy();\n return;\n }\n hmrWSS.handleUpgrade(req, socket, head, function(ws) {\n Object.assign(ws, {\n vxrnClientId: clientId,\n vxrnPlatform: platform\n });\n hmrWSS.emit(\"connection\", ws, req);\n });\n return;\n }\n if (url === \"/message\" || url.startsWith(\"/message?\")) {\n messageWSS.handleUpgrade(req, socket, head, function(ws) {\n messageWSS.emit(\"connection\", ws, req);\n });\n return;\n }\n if (url === \"/__client\") {\n clientWSS.handleUpgrade(req, socket, head, function(ws) {\n clientWSS.emit(\"connection\", ws, req);\n });\n }\n });\n hmrWSS.on(\"connection\", async function(socket) {\n var currentEngine = devEngines[socket.vxrnPlatform];\n if (!currentEngine) {\n socket.close(1013, \"native dev engine unavailable\");\n return;\n }\n try {\n await currentEngine.engine.registerClient(socket.vxrnClientId);\n } catch (error) {\n console.error(\"[hmr] failed to register native client\", error);\n socket.close(1011, \"native HMR registration failed\");\n return;\n }\n addConnectedNativeClient();\n if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {\n socket.send(JSON.stringify({\n type: \"hmr:reload\"\n }));\n }\n socket.on(\"message\", function(message) {\n var value = message.toString();\n if (value === \"ping\") {\n socket.send(\"pong\");\n return;\n }\n var update;\n try {\n update = JSON.parse(value);\n } catch (unused) {\n return;\n }\n if (update.type === \"hmr:invalidate\") {\n socket.send(JSON.stringify({\n type: \"hmr:reload\"\n }));\n }\n });\n socket.on(\"close\", function() {\n removeConnectedNativeClient();\n currentEngine.engine.removeClient(socket.vxrnClientId).catch(function(error) {\n console.error(\"[hmr] failed to remove native client\", error);\n });\n });\n socket.on(\"error\", function(error) {\n console.error(\"[hmr] error\", error);\n });\n });\n clientWSS.on(\"connection\", function(socket) {\n socket.on(\"message\", function(messageRaw) {\n var message = JSON.parse(messageRaw.toString());\n switch (message.type) {\n case \"client-log\": {\n var _message_data_;\n if (message.level === \"warn\" && ((_message_data_ = message.data[0]) === null || _message_data_ === void 0 ? void 0 : _message_data_.startsWith(\"Sending `appearanceChanged` with no listeners registered.\"))) {\n return;\n }\n console.info(` \\u2460 ${message.level === \"info\" ? \"\" : ` [${message.level}]`}`, ...message.data);\n return;\n }\n default: {\n console.warn(` \\u2460 Unknown message type`, message);\n }\n }\n });\n });\n var getDevEngine = async function(platform) {\n while (!devEngines[platform]) {\n if (!devEngineCreating[platform]) {\n var creating = (async function() {\n try {\n console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);\n devEngines[platform] = await createNativeDevEngine({\n root,\n port: getBoundPort(server),\n host: typeof host === \"string\" ? host : \"localhost\",\n platform,\n serverUrl: `http://${typeof host === \"string\" && host !== \"0.0.0.0\" ? host : \"localhost\"}:${getBoundPort(server)}`,\n onHmrUpdate: function(update) {\n var msg = JSON.stringify(update);\n var target = \"clientId\" in update ? update.clientId : void 0;\n if (update.type === \"hmr:reload\" && !target) {\n pendingReloadPlatforms.add(platform);\n }\n hmrWSS.clients.forEach(function(client) {\n var nativeClient = client;\n if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {\n client.send(msg);\n }\n });\n }\n });\n console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);\n } finally {\n devEngineCreating[platform] = null;\n }\n })();\n devEngineCreating[platform] = creating;\n }\n await devEngineCreating[platform];\n }\n return devEngines[platform];\n };\n var handleRNBundle = async function(req, res) {\n var url = new URL(req.url, `http://${req.headers.host}`);\n var platformString = url.searchParams.get(\"platform\") || \"\";\n var platform = validPlatforms[platformString];\n if (!platform) {\n return;\n }\n if (url.searchParams.get(\"dev\") === \"false\" && !warnedProdBundleRequest.has(platform)) {\n warnedProdBundleRequest.add(platform);\n console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);\n }\n try {\n var bundle = await (await getDevEngine(platform)).getBundle();\n res.once(\"finish\", function() {\n return pendingReloadPlatforms.delete(platform);\n });\n res.writeHead(200, {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"text/javascript\"\n });\n res.end(bundle.code);\n } catch (err) {\n console.error(` Error building React Native bundle`);\n console.error(err);\n console.error(`\n\n Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the \"--clean\" flag`);\n res.writeHead(500, {\n \"Content-Type\": \"text/plain\"\n });\n res.end(err instanceof Error ? err.stack || err.message : String(err));\n }\n };\n server.middlewares.use(function(req, res, next) {\n var _req_url;\n if ((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.split(\"?\")[0].endsWith(\".bundle\")) {\n handleRNBundle(req, res, next);\n } else {\n next();\n }\n });\n server.middlewares.use(\"/symbolicate\", async function(req, res) {\n try {\n var chunks = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = req[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n chunks.push(chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var body = JSON.parse(Buffer.concat(chunks).toString(\"utf8\"));\n var stack = body.stack;\n if (!Array.isArray(stack)) {\n throw new Error(\"expected a `stack` array in the request body\");\n }\n var bundleFrame = stack.find(function(frame) {\n return isNativeBundleFrame(frame.file);\n });\n if (!bundleFrame) {\n res.writeHead(200, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify({\n stack,\n codeFrame: null\n }));\n return;\n }\n var framePlatform = getNativeFramePlatform(bundleFrame.file);\n var platform = validPlatforms[framePlatform !== null && framePlatform !== void 0 ? framePlatform : \"\"];\n if (!platform) {\n throw new Error(`could not tell which platform \"${bundleFrame.file}\" was bundled for`);\n }\n var bundle = await (await getDevEngine(platform)).getBundle();\n res.writeHead(200, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));\n } catch (err) {\n console.error(`[vxrn] symbolicate failed`, err);\n res.writeHead(500, {\n \"Content-Type\": \"application/json\"\n });\n res.end(JSON.stringify({\n error: err instanceof Error ? err.message : String(err)\n }));\n }\n });\n }\n };\n}\nexport {\n createReactNativeDevServerPlugin,\n getNativeAssetContentType\n};\n//# sourceMappingURL=reactNativeDevServer.js.map\n"],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- import { transformReactNativeCodegen } from "@vxrn/compiler";
2
- import { transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
1
+ import { transformReactNativeCodegen, transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
2
+
3
3
  function rnCodegenPlugin(options) {
4
- return {
5
- name: "vxrn:rn-codegen",
6
- enforce: "pre",
7
- transform: {
8
- order: "pre",
9
- handler(code, id) {
10
- return transformReactNativeCodegen(code, id, options?.projectRoot);
11
- }
12
- }
13
- };
4
+ return {
5
+ name: "vxrn:rn-codegen",
6
+ enforce: "pre",
7
+ transform: {
8
+ order: "pre",
9
+ handler(code, id) {
10
+ return transformReactNativeCodegen(code, id, options?.projectRoot);
11
+ }
12
+ }
13
+ };
14
14
  }
15
+
15
16
  export { rnCodegenPlugin, transformReactNativeCodegen2 as transformReactNativeCodegen };
16
17
  //# sourceMappingURL=rnCodegenPlugin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["transformReactNativeCodegen","transformReactNativeCodegen2","rnCodegenPlugin","options","name","enforce","transform","order","handler","code","id","projectRoot"],"sources":["../../src/plugins/rnCodegenPlugin.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,2BAAA,QAAmC;AAK5C,SAASA,2BAAA,IAAAC,4BAAA,QAAmC;AAErC,SAASC,gBAAgBC,OAAA,EAA4C;EAC1E,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,SAAA,EAAW;MACTC,KAAA,EAAO;MACPC,QAAQC,IAAA,EAAcC,EAAA,EAAY;QAChC,OAAOV,2BAAA,CAA4BS,IAAA,EAAMC,EAAA,EAAIP,OAAA,EAASQ,WAAW;MACnE;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"rnCodegenPlugin.js","names":[],"sources":["plugins/rnCodegenPlugin.js"],"sourcesContent":["import { transformReactNativeCodegen } from \"@vxrn/compiler\";\nimport { transformReactNativeCodegen as transformReactNativeCodegen2 } from \"@vxrn/compiler\";\nfunction rnCodegenPlugin(options) {\n return {\n name: \"vxrn:rn-codegen\",\n enforce: \"pre\",\n transform: {\n order: \"pre\",\n handler(code, id) {\n return transformReactNativeCodegen(code, id, options?.projectRoot);\n }\n }\n };\n}\nexport {\n rnCodegenPlugin,\n transformReactNativeCodegen2 as transformReactNativeCodegen\n};\n//# sourceMappingURL=rnCodegenPlugin.js.map\n"],"mappings":";;;AAEA,SAAS,gBAAgB,SAAS;CAChC,OAAO;EACL,MAAM;EACN,SAAS;EACT,WAAW;GACT,OAAO;GACP,QAAQ,MAAM,IAAI;IAChB,OAAO,4BAA4B,MAAM,IAAI,SAAS,WAAW;GACnE;EACF;CACF;AACF"}
@@ -1,16 +1,17 @@
1
- import { transformReactNativeCodegen } from "@vxrn/compiler";
2
- import { transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
1
+ import { transformReactNativeCodegen, transformReactNativeCodegen as transformReactNativeCodegen2 } from "@vxrn/compiler";
2
+
3
3
  function rnCodegenPlugin(options) {
4
- return {
5
- name: "vxrn:rn-codegen",
6
- enforce: "pre",
7
- transform: {
8
- order: "pre",
9
- handler(code, id) {
10
- return transformReactNativeCodegen(code, id, options === null || options === void 0 ? void 0 : options.projectRoot);
11
- }
12
- }
13
- };
4
+ return {
5
+ name: "vxrn:rn-codegen",
6
+ enforce: "pre",
7
+ transform: {
8
+ order: "pre",
9
+ handler(code, id) {
10
+ return transformReactNativeCodegen(code, id, options === null || options === void 0 ? void 0 : options.projectRoot);
11
+ }
12
+ }
13
+ };
14
14
  }
15
+
15
16
  export { rnCodegenPlugin, transformReactNativeCodegen2 as transformReactNativeCodegen };
16
17
  //# sourceMappingURL=rnCodegenPlugin.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["transformReactNativeCodegen","transformReactNativeCodegen2","rnCodegenPlugin","options","name","enforce","transform","order","handler","code","id","projectRoot"],"sources":["../../src/plugins/rnCodegenPlugin.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,2BAAA,QAAmC;AAK5C,SAASA,2BAAA,IAAAC,4BAAA,QAAmC;AAErC,SAASC,gBAAgBC,OAAA,EAA4C;EAC1E,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,SAAA,EAAW;MACTC,KAAA,EAAO;MACPC,QAAQC,IAAA,EAAcC,EAAA,EAAY;QAChC,OAAOV,2BAAA,CAA4BS,IAAA,EAAMC,EAAA,EAAIP,OAAA,KAAS,QAAWA,OAAA,uBAAAA,OAAA,CAAAQ,WAAA;MACnE;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"rnCodegenPlugin.native.js","names":[],"sources":["plugins/rnCodegenPlugin.native.js"],"sourcesContent":["import { transformReactNativeCodegen } from \"@vxrn/compiler\";\nimport { transformReactNativeCodegen as transformReactNativeCodegen2 } from \"@vxrn/compiler\";\nfunction rnCodegenPlugin(options) {\n return {\n name: \"vxrn:rn-codegen\",\n enforce: \"pre\",\n transform: {\n order: \"pre\",\n handler(code, id) {\n return transformReactNativeCodegen(code, id, options === null || options === void 0 ? void 0 : options.projectRoot);\n }\n }\n };\n}\nexport {\n rnCodegenPlugin,\n transformReactNativeCodegen2 as transformReactNativeCodegen\n};\n//# sourceMappingURL=rnCodegenPlugin.js.map\n"],"mappings":";;;AAEA,SAAS,gBAAgB,SAAS;CAChC,OAAO;EACL,MAAM;EACN,SAAS;EACT,WAAW;GACT,OAAO;GACP,QAAQ,MAAM,IAAI;IAChB,OAAO,4BAA4B,MAAM,IAAI,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,WAAW;GACpH;EACF;CACF;AACF"}
@@ -1,11 +1,12 @@
1
1
  const rollupRemoveUnusedImportsPlugin = {
2
- name: "remove-unused-imports",
3
- renderChunk(code) {
4
- return {
5
- code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
6
- map: null
7
- };
8
- }
2
+ name: "remove-unused-imports",
3
+ renderChunk(code) {
4
+ return {
5
+ code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
6
+ map: null
7
+ };
8
+ }
9
9
  };
10
+
10
11
  export { rollupRemoveUnusedImportsPlugin };
11
12
  //# sourceMappingURL=rollupRemoveUnusedImports.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["rollupRemoveUnusedImportsPlugin","name","renderChunk","code","replace","map"],"sources":["../../src/plugins/rollupRemoveUnusedImports.ts"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,+BAAA,GAAkC;EAC7CC,IAAA,EAAM;EACNC,YAAYC,IAAA,EAAM;IAGhB,OAAO;MACLA,IAAA,EAAMA,IAAA,CAAKC,OAAA,CAAQ,yCAAyC,EAAE;MAC9DC,GAAA,EAAK;IACP;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"rollupRemoveUnusedImports.js","names":[],"sources":["plugins/rollupRemoveUnusedImports.js"],"sourcesContent":["const rollupRemoveUnusedImportsPlugin = {\n name: \"remove-unused-imports\",\n renderChunk(code) {\n return {\n code: code.replace(/import\\s+['\"][a-zA-Z0-9_\\-@]+['\"];\\n/g, \"\"),\n map: null\n };\n }\n};\nexport {\n rollupRemoveUnusedImportsPlugin\n};\n//# sourceMappingURL=rollupRemoveUnusedImports.js.map\n"],"mappings":";AAAA,MAAM,kCAAkC;CACtC,MAAM;CACN,YAAY,MAAM;EAChB,OAAO;GACL,MAAM,KAAK,QAAQ,yCAAyC,EAAE;GAC9D,KAAK;EACP;CACF;AACF"}
@@ -1,11 +1,12 @@
1
1
  var rollupRemoveUnusedImportsPlugin = {
2
- name: "remove-unused-imports",
3
- renderChunk(code) {
4
- return {
5
- code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
6
- map: null
7
- };
8
- }
2
+ name: "remove-unused-imports",
3
+ renderChunk(code) {
4
+ return {
5
+ code: code.replace(/import\s+['"][a-zA-Z0-9_\-@]+['"];\n/g, ""),
6
+ map: null
7
+ };
8
+ }
9
9
  };
10
+
10
11
  export { rollupRemoveUnusedImportsPlugin };
11
12
  //# sourceMappingURL=rollupRemoveUnusedImports.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["rollupRemoveUnusedImportsPlugin","name","renderChunk","code","replace","map"],"sources":["../../src/plugins/rollupRemoveUnusedImports.ts"],"sourcesContent":[null],"mappings":"AAAO,IAAAA,+BAAM;EACXC,IAAA,EAAM;EACNC,YAAYC,IAAA,EAAM;IAGhB,OAAO;MACLA,IAAA,EAAMA,IAAA,CAAKC,OAAA,CAAQ,yCAAyC,EAAE;MAC9DC,GAAA,EAAK;IACP;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"rollupRemoveUnusedImports.native.js","names":[],"sources":["plugins/rollupRemoveUnusedImports.native.js"],"sourcesContent":["var rollupRemoveUnusedImportsPlugin = {\n name: \"remove-unused-imports\",\n renderChunk(code) {\n return {\n code: code.replace(/import\\s+['\"][a-zA-Z0-9_\\-@]+['\"];\\n/g, \"\"),\n map: null\n };\n }\n};\nexport {\n rollupRemoveUnusedImportsPlugin\n};\n//# sourceMappingURL=rollupRemoveUnusedImports.js.map\n"],"mappings":";AAAA,IAAI,kCAAkC;CACpC,MAAM;CACN,YAAY,MAAM;EAChB,OAAO;GACL,MAAM,KAAK,QAAQ,yCAAyC,EAAE;GAC9D,KAAK;EACP;CACF;AACF"}
@@ -4,123 +4,119 @@ import { dirname, isAbsolute, join } from "node:path";
4
4
  import { statSync } from "node:fs";
5
5
  import { rolldown } from "rolldown";
6
6
  import { parseSync } from "oxc-parser";
7
- import { getClosureVariables, JS_GLOBALS, transformHermesLoops } from "@vxrn/compiler";
7
+ import { JS_GLOBALS, getClosureVariables, transformHermesLoops } from "@vxrn/compiler";
8
8
  import { hermesCompatSWCPlugin, hermesLoopsPlugin } from "../utils/createNativeDevEngine.mjs";
9
+
9
10
  function workletImportsPlugin(imports) {
10
- const selections = new Map(Object.entries(imports).map(([source, names]) => [source, [...new Set(names)]]));
11
- const rejectRuntimeDependency = source => {
12
- const normalized = source.replace(/\\/g, "/");
13
- if (isBuiltin(source) || /(?:^|\/node_modules\/)(?:react|react-native|react-native-worklets|react-native-reanimated|expo-modules-core)(?:\/|$)/.test(normalized) || /(?:^|\/node_modules\/)@react-native\//.test(normalized)) {
14
- throw new Error(`[worklet imports] runtime dependency ${source} is not pure JavaScript`);
15
- }
16
- };
17
- return {
18
- name: "vxrn:worklet-imports",
19
- options(nativeOptions) {
20
- const modules = /* @__PURE__ */new Map();
21
- const instance = {
22
- name: "vxrn:worklet-imports:bundle",
23
- async resolveId(source, importer, options) {
24
- const names = selections.get(source);
25
- if (!names) return;
26
- if (!names.length) throw new Error(`[worklet imports] no exports selected for ${source}`);
27
- if (options.kind !== "import-statement") {
28
- throw new Error(`[worklet imports] ${source} requires a static ESM import`);
29
- }
30
- rejectRuntimeDependency(source);
31
- const resolved = await this.resolve(source, importer, {
32
- skipSelf: true
33
- });
34
- if (!resolved || resolved.external || !isAbsolute(resolved.id) || !statSync(resolved.id, {
35
- throwIfNoEntry: false
36
- })?.isFile()) {
37
- throw new Error(`[worklet imports] ${source} must resolve to a JavaScript file`);
38
- }
39
- rejectRuntimeDependency(resolved.id);
40
- const key = createHash("sha256").update(JSON.stringify([resolved.id, names])).digest("hex").slice(0, 16);
41
- const id = join(dirname(resolved.id), `__one_worklet_imports_${key}.js`);
42
- modules.set(id, {
43
- entry: resolved.id,
44
- names,
45
- key
46
- });
47
- return id;
48
- },
49
- moduleParsed(info) {
50
- if (!info.code || ![...selections.keys()].some(source => info.code.includes(source))) return;
51
- const {
52
- program,
53
- errors
54
- } = parseSync(info.id, info.code, {
55
- lang: /\.[cm]?ts$/.test(info.id) ? "ts" : info.id.endsWith(".tsx") ? "tsx" : "jsx"
56
- });
57
- if (errors.length) throw new Error(errors[0].message);
58
- for (const node of program.body) {
59
- if (node.type !== "ImportDeclaration" && node.type !== "ExportNamedDeclaration") continue;
60
- const source = node.source?.value;
61
- if (!source) continue;
62
- const names = selections.get(source);
63
- if (!names) continue;
64
- for (const specifier of node.specifiers) {
65
- const imported = specifier.type === "ImportDefaultSpecifier" ? "default" : specifier.type === "ImportSpecifier" ? specifier.imported.type === "Identifier" ? specifier.imported.name : specifier.imported.value : specifier.type === "ExportSpecifier" ? specifier.local.type === "Identifier" ? specifier.local.name : specifier.local.value : void 0;
66
- if (imported !== void 0 && !names.includes(imported)) {
67
- throw new Error(`[worklet imports] ${info.id} imports unselected export ${imported} from ${source}`);
68
- }
69
- }
70
- }
71
- },
72
- async load(id) {
73
- const selected = modules.get(id);
74
- if (!selected) return;
75
- const outerContext = this;
76
- const innerEntry = "\0one-worklet-import-entry";
77
- const bundle = await rolldown({
78
- cwd: nativeOptions.cwd,
79
- input: innerEntry,
80
- platform: "neutral",
81
- resolve: nativeOptions.resolve,
82
- transform: nativeOptions.transform,
83
- shimMissingExports: false,
84
- plugins: [{
85
- name: "vxrn:pure-worklet-module",
86
- resolveId(source, _importer, options) {
87
- if (source === innerEntry) return source;
88
- if (options.kind === "dynamic-import") {
89
- throw new Error(`[worklet imports] dynamic imports are unsupported in ${selected.entry}`);
90
- }
91
- rejectRuntimeDependency(source);
92
- },
93
- load(source) {
94
- if (source === innerEntry) {
95
- return `export { ${selected.names.map((name, index) => `${JSON.stringify(name)} as __export${index}`).join(", ")} } from ${JSON.stringify(selected.entry)};`;
96
- }
97
- },
98
- moduleParsed(info) {
99
- rejectRuntimeDependency(info.id);
100
- if (isAbsolute(info.id)) outerContext.addWatchFile(info.id);
101
- if (info.packageJsonPath) outerContext.addWatchFile(info.packageJsonPath);
102
- }
103
- }, hermesCompatSWCPlugin(false), hermesLoopsPlugin()]
104
- });
105
- let code;
106
- try {
107
- const output = await bundle.generate({
108
- format: "iife",
109
- name: "__oneWorkletBundle"
110
- });
111
- const chunk = output.output[0];
112
- if (output.output.length !== 1 || chunk.type !== "chunk" || chunk.imports.length || chunk.dynamicImports.length) {
113
- throw new Error(`[worklet imports] ${selected.entry} must produce one self-contained JavaScript module`);
114
- }
115
- code = transformHermesLoops(chunk.code, id)?.code ?? chunk.code;
116
- for (const file of await bundle.watchFiles) {
117
- if (isAbsolute(file)) outerContext.addWatchFile(file);
118
- }
119
- } finally {
120
- await bundle.close();
121
- }
122
- const loader = `__oneLoadWorkletModule_${selected.key}`;
123
- const loaderCode = `function ${loader}() {
11
+ const selections = new Map(Object.entries(imports).map(([source, names]) => [source, [...new Set(names)]]));
12
+ const rejectRuntimeDependency = (source) => {
13
+ const normalized = source.replace(/\\/g, "/");
14
+ if (isBuiltin(source) || /(?:^|\/node_modules\/)(?:react|react-native|react-native-worklets|react-native-reanimated|expo-modules-core)(?:\/|$)/.test(normalized) || /(?:^|\/node_modules\/)@react-native\//.test(normalized)) {
15
+ throw new Error(`[worklet imports] runtime dependency ${source} is not pure JavaScript`);
16
+ }
17
+ };
18
+ return {
19
+ name: "vxrn:worklet-imports",
20
+ options(nativeOptions) {
21
+ const modules = /* @__PURE__ */ new Map();
22
+ const instance = {
23
+ name: "vxrn:worklet-imports:bundle",
24
+ async resolveId(source, importer, options) {
25
+ const names = selections.get(source);
26
+ if (!names) return;
27
+ if (!names.length) throw new Error(`[worklet imports] no exports selected for ${source}`);
28
+ if (options.kind !== "import-statement") {
29
+ throw new Error(`[worklet imports] ${source} requires a static ESM import`);
30
+ }
31
+ rejectRuntimeDependency(source);
32
+ const resolved = await this.resolve(source, importer, { skipSelf: true });
33
+ if (!resolved || resolved.external || !isAbsolute(resolved.id) || !statSync(resolved.id, { throwIfNoEntry: false })?.isFile()) {
34
+ throw new Error(`[worklet imports] ${source} must resolve to a JavaScript file`);
35
+ }
36
+ rejectRuntimeDependency(resolved.id);
37
+ const key = createHash("sha256").update(JSON.stringify([resolved.id, names])).digest("hex").slice(0, 16);
38
+ const id = join(dirname(resolved.id), `__one_worklet_imports_${key}.js`);
39
+ modules.set(id, {
40
+ entry: resolved.id,
41
+ names,
42
+ key
43
+ });
44
+ return id;
45
+ },
46
+ moduleParsed(info) {
47
+ if (!info.code || ![...selections.keys()].some((source) => info.code.includes(source))) return;
48
+ const { program, errors } = parseSync(info.id, info.code, { lang: /\.[cm]?ts$/.test(info.id) ? "ts" : info.id.endsWith(".tsx") ? "tsx" : "jsx" });
49
+ if (errors.length) throw new Error(errors[0].message);
50
+ for (const node of program.body) {
51
+ if (node.type !== "ImportDeclaration" && node.type !== "ExportNamedDeclaration") continue;
52
+ const source = node.source?.value;
53
+ if (!source) continue;
54
+ const names = selections.get(source);
55
+ if (!names) continue;
56
+ for (const specifier of node.specifiers) {
57
+ const imported = specifier.type === "ImportDefaultSpecifier" ? "default" : specifier.type === "ImportSpecifier" ? specifier.imported.type === "Identifier" ? specifier.imported.name : specifier.imported.value : specifier.type === "ExportSpecifier" ? specifier.local.type === "Identifier" ? specifier.local.name : specifier.local.value : void 0;
58
+ if (imported !== void 0 && !names.includes(imported)) {
59
+ throw new Error(`[worklet imports] ${info.id} imports unselected export ${imported} from ${source}`);
60
+ }
61
+ }
62
+ }
63
+ },
64
+ async load(id) {
65
+ const selected = modules.get(id);
66
+ if (!selected) return;
67
+ const outerContext = this;
68
+ const innerEntry = "\0one-worklet-import-entry";
69
+ const bundle = await rolldown({
70
+ cwd: nativeOptions.cwd,
71
+ input: innerEntry,
72
+ platform: "neutral",
73
+ resolve: nativeOptions.resolve,
74
+ transform: nativeOptions.transform,
75
+ shimMissingExports: false,
76
+ plugins: [
77
+ {
78
+ name: "vxrn:pure-worklet-module",
79
+ resolveId(source, _importer, options) {
80
+ if (source === innerEntry) return source;
81
+ if (options.kind === "dynamic-import") {
82
+ throw new Error(`[worklet imports] dynamic imports are unsupported in ${selected.entry}`);
83
+ }
84
+ rejectRuntimeDependency(source);
85
+ },
86
+ load(source) {
87
+ if (source === innerEntry) {
88
+ return `export { ${selected.names.map((name, index) => `${JSON.stringify(name)} as __export${index}`).join(", ")} } from ${JSON.stringify(selected.entry)};`;
89
+ }
90
+ },
91
+ moduleParsed(info) {
92
+ rejectRuntimeDependency(info.id);
93
+ if (isAbsolute(info.id)) outerContext.addWatchFile(info.id);
94
+ if (info.packageJsonPath) outerContext.addWatchFile(info.packageJsonPath);
95
+ }
96
+ },
97
+ hermesCompatSWCPlugin(false),
98
+ hermesLoopsPlugin()
99
+ ]
100
+ });
101
+ let code;
102
+ try {
103
+ const output = await bundle.generate({
104
+ format: "iife",
105
+ name: "__oneWorkletBundle"
106
+ });
107
+ const chunk = output.output[0];
108
+ if (output.output.length !== 1 || chunk.type !== "chunk" || chunk.imports.length || chunk.dynamicImports.length) {
109
+ throw new Error(`[worklet imports] ${selected.entry} must produce one self-contained JavaScript module`);
110
+ }
111
+ code = transformHermesLoops(chunk.code, id)?.code ?? chunk.code;
112
+ for (const file of await bundle.watchFiles) {
113
+ if (isAbsolute(file)) outerContext.addWatchFile(file);
114
+ }
115
+ } finally {
116
+ await bundle.close();
117
+ }
118
+ const loader = `__oneLoadWorkletModule_${selected.key}`;
119
+ const loaderCode = `function ${loader}() {
124
120
  'worklet';
125
121
  const cache = globalThis.__oneWorkletImportCache || (globalThis.__oneWorkletImportCache = new WeakMap());
126
122
  let namespace = cache.get(${loader});
@@ -131,15 +127,13 @@ function workletImportsPlugin(imports) {
131
127
  }
132
128
  return namespace;
133
129
  }`;
134
- const parsed = parseSync(id, loaderCode, {
135
- lang: "js"
136
- });
137
- if (parsed.errors.length) throw new Error(parsed.errors[0].message);
138
- const captures = getClosureVariables(parsed.program.body[0], /* @__PURE__ */new Set([...JS_GLOBALS, "arguments"]));
139
- if (captures.length) {
140
- throw new Error(`[worklet imports] ${selected.entry} requires unsupported runtime globals: ${captures.join(", ")}`);
141
- }
142
- return `${loaderCode}
130
+ const parsed = parseSync(id, loaderCode, { lang: "js" });
131
+ if (parsed.errors.length) throw new Error(parsed.errors[0].message);
132
+ const captures = getClosureVariables(parsed.program.body[0], /* @__PURE__ */ new Set([...JS_GLOBALS, "arguments"]));
133
+ if (captures.length) {
134
+ throw new Error(`[worklet imports] ${selected.entry} requires unsupported runtime globals: ${captures.join(", ")}`);
135
+ }
136
+ return `${loaderCode}
143
137
  ${selected.names.map((name, index) => `
144
138
  function __oneExport${index}(...args) {
145
139
  'worklet';
@@ -147,14 +141,15 @@ function __oneExport${index}(...args) {
147
141
  }
148
142
  export { __oneExport${index} as ${JSON.stringify(name)} };
149
143
  `).join("\n")}`;
150
- }
151
- };
152
- return {
153
- ...nativeOptions,
154
- plugins: [instance, nativeOptions.plugins]
155
- };
156
- }
157
- };
144
+ }
145
+ };
146
+ return {
147
+ ...nativeOptions,
148
+ plugins: [instance, nativeOptions.plugins]
149
+ };
150
+ }
151
+ };
158
152
  }
153
+
159
154
  export { workletImportsPlugin };
160
155
  //# sourceMappingURL=workletImportsPlugin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createHash","isBuiltin","dirname","isAbsolute","join","statSync","rolldown","parseSync","getClosureVariables","JS_GLOBALS","transformHermesLoops","hermesCompatSWCPlugin","hermesLoopsPlugin","workletImportsPlugin","imports","selections","Map","Object","entries","map","source","names","Set","rejectRuntimeDependency","normalized","replace","test","Error","name","options","nativeOptions","modules","instance","resolveId","importer","get","length","kind","resolved","resolve","skipSelf","external","id","throwIfNoEntry","isFile","key","update","JSON","stringify","digest","slice","set","entry","moduleParsed","info","code","keys","some","includes","program","errors","lang","endsWith","message","node","body","type","value","specifier","specifiers","imported","local","load","selected","outerContext","innerEntry","bundle","cwd","input","platform","transform","shimMissingExports","plugins","_importer","index","addWatchFile","packageJsonPath","output","generate","format","chunk","dynamicImports","file","watchFiles","close","loader","loaderCode","parsed","captures"],"sources":["../../src/plugins/workletImportsPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"workletImportsPlugin.js","names":[],"sources":["plugins/workletImportsPlugin.js"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { isBuiltin } from \"node:module\";\nimport { dirname, isAbsolute, join } from \"node:path\";\nimport { statSync } from \"node:fs\";\nimport { rolldown } from \"rolldown\";\nimport { parseSync } from \"oxc-parser\";\nimport { getClosureVariables, JS_GLOBALS, transformHermesLoops } from \"@vxrn/compiler\";\nimport { hermesCompatSWCPlugin, hermesLoopsPlugin } from \"../utils/createNativeDevEngine\";\nfunction workletImportsPlugin(imports) {\n const selections = new Map(\n Object.entries(imports).map(([source, names]) => [source, [...new Set(names)]])\n );\n const rejectRuntimeDependency = (source) => {\n const normalized = source.replace(/\\\\/g, \"/\");\n if (isBuiltin(source) || /(?:^|\\/node_modules\\/)(?:react|react-native|react-native-worklets|react-native-reanimated|expo-modules-core)(?:\\/|$)/.test(\n normalized\n ) || /(?:^|\\/node_modules\\/)@react-native\\//.test(normalized)) {\n throw new Error(\n `[worklet imports] runtime dependency ${source} is not pure JavaScript`\n );\n }\n };\n return {\n name: \"vxrn:worklet-imports\",\n options(nativeOptions) {\n const modules = /* @__PURE__ */ new Map();\n const instance = {\n name: \"vxrn:worklet-imports:bundle\",\n async resolveId(source, importer, options) {\n const names = selections.get(source);\n if (!names) return;\n if (!names.length)\n throw new Error(`[worklet imports] no exports selected for ${source}`);\n if (options.kind !== \"import-statement\") {\n throw new Error(`[worklet imports] ${source} requires a static ESM import`);\n }\n rejectRuntimeDependency(source);\n const resolved = await this.resolve(source, importer, { skipSelf: true });\n if (!resolved || resolved.external || !isAbsolute(resolved.id) || !statSync(resolved.id, { throwIfNoEntry: false })?.isFile()) {\n throw new Error(\n `[worklet imports] ${source} must resolve to a JavaScript file`\n );\n }\n rejectRuntimeDependency(resolved.id);\n const key = createHash(\"sha256\").update(JSON.stringify([resolved.id, names])).digest(\"hex\").slice(0, 16);\n const id = join(dirname(resolved.id), `__one_worklet_imports_${key}.js`);\n modules.set(id, { entry: resolved.id, names, key });\n return id;\n },\n moduleParsed(info) {\n if (!info.code || ![...selections.keys()].some((source) => info.code.includes(source)))\n return;\n const { program, errors } = parseSync(info.id, info.code, {\n lang: /\\.[cm]?ts$/.test(info.id) ? \"ts\" : info.id.endsWith(\".tsx\") ? \"tsx\" : \"jsx\"\n });\n if (errors.length) throw new Error(errors[0].message);\n for (const node of program.body) {\n if (node.type !== \"ImportDeclaration\" && node.type !== \"ExportNamedDeclaration\")\n continue;\n const source = node.source?.value;\n if (!source) continue;\n const names = selections.get(source);\n if (!names) continue;\n for (const specifier of node.specifiers) {\n const imported = specifier.type === \"ImportDefaultSpecifier\" ? \"default\" : specifier.type === \"ImportSpecifier\" ? specifier.imported.type === \"Identifier\" ? specifier.imported.name : specifier.imported.value : specifier.type === \"ExportSpecifier\" ? specifier.local.type === \"Identifier\" ? specifier.local.name : specifier.local.value : void 0;\n if (imported !== void 0 && !names.includes(imported)) {\n throw new Error(\n `[worklet imports] ${info.id} imports unselected export ${imported} from ${source}`\n );\n }\n }\n }\n },\n async load(id) {\n const selected = modules.get(id);\n if (!selected) return;\n const outerContext = this;\n const innerEntry = \"\\0one-worklet-import-entry\";\n const bundle = await rolldown({\n cwd: nativeOptions.cwd,\n input: innerEntry,\n platform: \"neutral\",\n resolve: nativeOptions.resolve,\n transform: nativeOptions.transform,\n shimMissingExports: false,\n plugins: [\n {\n name: \"vxrn:pure-worklet-module\",\n resolveId(source, _importer, options) {\n if (source === innerEntry) return source;\n if (options.kind === \"dynamic-import\") {\n throw new Error(\n `[worklet imports] dynamic imports are unsupported in ${selected.entry}`\n );\n }\n rejectRuntimeDependency(source);\n },\n load(source) {\n if (source === innerEntry) {\n return `export { ${selected.names.map((name, index) => `${JSON.stringify(name)} as __export${index}`).join(\", \")} } from ${JSON.stringify(selected.entry)};`;\n }\n },\n moduleParsed(info) {\n rejectRuntimeDependency(info.id);\n if (isAbsolute(info.id)) outerContext.addWatchFile(info.id);\n if (info.packageJsonPath)\n outerContext.addWatchFile(info.packageJsonPath);\n }\n },\n hermesCompatSWCPlugin(false),\n hermesLoopsPlugin()\n ]\n });\n let code;\n try {\n const output = await bundle.generate({\n format: \"iife\",\n name: \"__oneWorkletBundle\"\n });\n const chunk = output.output[0];\n if (output.output.length !== 1 || chunk.type !== \"chunk\" || chunk.imports.length || chunk.dynamicImports.length) {\n throw new Error(\n `[worklet imports] ${selected.entry} must produce one self-contained JavaScript module`\n );\n }\n code = transformHermesLoops(chunk.code, id)?.code ?? chunk.code;\n for (const file of await bundle.watchFiles) {\n if (isAbsolute(file)) outerContext.addWatchFile(file);\n }\n } finally {\n await bundle.close();\n }\n const loader = `__oneLoadWorkletModule_${selected.key}`;\n const loaderCode = `function ${loader}() {\n 'worklet';\n const cache = globalThis.__oneWorkletImportCache || (globalThis.__oneWorkletImportCache = new WeakMap());\n let namespace = cache.get(${loader});\n if (namespace === undefined) {\n ${code}\n namespace = __oneWorkletBundle;\n cache.set(${loader}, namespace);\n }\n return namespace;\n}`;\n const parsed = parseSync(id, loaderCode, { lang: \"js\" });\n if (parsed.errors.length) throw new Error(parsed.errors[0].message);\n const captures = getClosureVariables(\n parsed.program.body[0],\n /* @__PURE__ */ new Set([...JS_GLOBALS, \"arguments\"])\n );\n if (captures.length) {\n throw new Error(\n `[worklet imports] ${selected.entry} requires unsupported runtime globals: ${captures.join(\", \")}`\n );\n }\n return `${loaderCode}\n${selected.names.map(\n (name, index) => `\nfunction __oneExport${index}(...args) {\n 'worklet';\n return (0, ${loader}().__export${index})(...args);\n}\nexport { __oneExport${index} as ${JSON.stringify(name)} };\n`\n ).join(\"\\n\")}`;\n }\n };\n return {\n ...nativeOptions,\n plugins: [instance, nativeOptions.plugins]\n };\n }\n };\n}\nexport {\n workletImportsPlugin\n};\n//# sourceMappingURL=workletImportsPlugin.js.map\n"],"mappings":"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"}