vite-plugin-react-server 1.2.0-alpha.1 → 1.2.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 (1137) hide show
  1. package/README.md +211 -51
  2. package/dist/client.d.ts +4 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -6
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -10
  8. package/dist/package.json +102 -27
  9. package/dist/plugin/bundle/bundles.d.ts +11 -0
  10. package/dist/plugin/bundle/bundles.d.ts.map +1 -0
  11. package/dist/plugin/bundle/bundles.js +11 -0
  12. package/dist/plugin/bundle/deferredStaticGeneration.d.ts +31 -0
  13. package/dist/plugin/bundle/deferredStaticGeneration.d.ts.map +1 -0
  14. package/dist/plugin/bundle/deferredStaticGeneration.js +44 -0
  15. package/dist/plugin/bundle/manifests.d.ts +20 -0
  16. package/dist/plugin/bundle/manifests.d.ts.map +1 -0
  17. package/dist/plugin/bundle/manifests.js +54 -0
  18. package/dist/plugin/components/css.d.ts +2 -5
  19. package/dist/plugin/components/css.d.ts.map +1 -1
  20. package/dist/plugin/components/css.js +7 -9
  21. package/dist/plugin/components/html.d.ts +2 -3
  22. package/dist/plugin/components/html.d.ts.map +1 -1
  23. package/dist/plugin/components/html.js +3 -3
  24. package/dist/plugin/components/index.d.ts +1 -1
  25. package/dist/plugin/components/index.d.ts.map +1 -1
  26. package/dist/plugin/components/root.d.ts.map +1 -1
  27. package/dist/plugin/components/root.js +4 -4
  28. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
  29. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +6 -6
  30. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
  31. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  32. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +6 -5
  33. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  34. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +34 -51
  35. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +5 -1
  36. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  37. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +124 -52
  38. package/dist/plugin/config/createHandlerOptions.client.d.ts +4 -0
  39. package/dist/plugin/config/createHandlerOptions.client.d.ts.map +1 -0
  40. package/dist/plugin/config/createHandlerOptions.client.js +293 -0
  41. package/dist/plugin/config/createHandlerOptions.d.ts +4 -0
  42. package/dist/plugin/config/createHandlerOptions.d.ts.map +1 -0
  43. package/dist/plugin/config/createHandlerOptions.js +13 -0
  44. package/dist/plugin/config/createHandlerOptions.server.d.ts +4 -0
  45. package/dist/plugin/config/createHandlerOptions.server.d.ts.map +1 -0
  46. package/dist/plugin/config/createHandlerOptions.server.js +344 -0
  47. package/dist/plugin/config/createHandlerOptions.types.d.ts +114 -0
  48. package/dist/plugin/config/createHandlerOptions.types.d.ts.map +1 -0
  49. package/dist/plugin/config/createModuleID.d.ts +1 -1
  50. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  51. package/dist/plugin/config/createModuleID.js +121 -8
  52. package/dist/plugin/config/defaults.d.ts +46 -6
  53. package/dist/plugin/config/defaults.d.ts.map +1 -1
  54. package/dist/plugin/config/defaults.js +54 -11
  55. package/dist/plugin/config/envPrefixFromConfig.d.ts +3 -0
  56. package/dist/plugin/config/envPrefixFromConfig.d.ts.map +1 -0
  57. package/dist/plugin/config/envPrefixFromConfig.js +8 -0
  58. package/dist/plugin/config/getCondition.d.ts +54 -3
  59. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  60. package/dist/plugin/config/getCondition.js +158 -6
  61. package/dist/plugin/{getNodeEnv.d.ts → config/getNodeEnv.d.ts} +1 -1
  62. package/dist/plugin/config/getNodeEnv.d.ts.map +1 -0
  63. package/dist/plugin/config/getNodeEnv.js +17 -0
  64. package/dist/plugin/config/index.d.ts +43 -1
  65. package/dist/plugin/config/index.d.ts.map +1 -1
  66. package/dist/plugin/config/index.js +9 -4
  67. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +6 -6
  68. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -1
  69. package/dist/plugin/config/resolveDirectiveMatcher.js +7 -23
  70. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  71. package/dist/plugin/config/resolveEnv.js +3 -6
  72. package/dist/plugin/config/resolveOptions.d.ts +3 -2
  73. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  74. package/dist/plugin/config/resolveOptions.js +188 -43
  75. package/dist/plugin/config/resolvePages.d.ts +1 -1
  76. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  77. package/dist/plugin/config/resolvePages.js +1 -1
  78. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
  79. package/dist/plugin/config/resolvePatternWithValues.js +7 -26
  80. package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
  81. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  82. package/dist/plugin/config/resolveUrlOption.js +2 -2
  83. package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
  84. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  85. package/dist/plugin/config/resolveUserConfig.js +221 -75
  86. package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
  87. package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
  88. package/dist/plugin/config/stashedOptionsState.js +25 -0
  89. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
  90. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
  91. package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
  92. package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
  93. package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
  94. package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
  95. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
  96. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
  97. package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
  98. package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
  99. package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
  100. package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
  101. package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
  102. package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
  103. package/dist/plugin/dev-server/configureReactServer.js +13 -0
  104. package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
  105. package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
  106. package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
  107. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
  108. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
  109. package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
  110. package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
  111. package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
  112. package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
  113. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
  114. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
  115. package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
  116. package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
  117. package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
  118. package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
  119. package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
  120. package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
  121. package/dist/plugin/dev-server/handleServerAction.js +13 -0
  122. package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
  123. package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
  124. package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
  125. package/dist/plugin/dev-server/index.client.d.ts +7 -0
  126. package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
  127. package/dist/plugin/dev-server/index.client.js +11 -0
  128. package/dist/plugin/dev-server/index.d.ts +4 -0
  129. package/dist/plugin/dev-server/index.d.ts.map +1 -0
  130. package/dist/plugin/dev-server/index.js +19 -0
  131. package/dist/plugin/dev-server/index.server.d.ts +7 -0
  132. package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
  133. package/dist/plugin/dev-server/index.server.js +11 -0
  134. package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
  135. package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
  136. package/dist/plugin/dev-server/plugin.client.js +122 -0
  137. package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
  138. package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
  139. package/dist/plugin/dev-server/plugin.server.js +108 -0
  140. package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
  141. package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
  142. package/dist/plugin/dev-server/restartWorker.client.js +131 -0
  143. package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
  144. package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
  145. package/dist/plugin/dev-server/restartWorker.js +4 -0
  146. package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
  147. package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
  148. package/dist/plugin/dev-server/restartWorker.server.js +88 -0
  149. package/dist/plugin/dev-server/types.d.ts +38 -0
  150. package/dist/plugin/dev-server/types.d.ts.map +1 -0
  151. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
  152. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
  153. package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
  154. package/dist/plugin/env/createConfigEnv.d.ts +7 -1
  155. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -1
  156. package/dist/plugin/env/createConfigEnv.js +18 -5
  157. package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
  158. package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
  159. package/dist/plugin/env/createEnvPlugin.js +59 -0
  160. package/dist/plugin/env/getArgValue.js +47 -27
  161. package/dist/plugin/env/getEnvKey.d.ts +6 -0
  162. package/dist/plugin/env/getEnvKey.d.ts.map +1 -1
  163. package/dist/plugin/env/getEnvKey.js +11 -3
  164. package/dist/plugin/env/index.d.ts +2 -0
  165. package/dist/plugin/env/index.d.ts.map +1 -1
  166. package/dist/plugin/env/index.js +4 -0
  167. package/dist/plugin/env/plugin.client.d.ts +2 -0
  168. package/dist/plugin/env/plugin.client.d.ts.map +1 -0
  169. package/dist/plugin/env/plugin.client.js +2 -0
  170. package/dist/plugin/env/plugin.d.ts +4 -34
  171. package/dist/plugin/env/plugin.d.ts.map +1 -1
  172. package/dist/plugin/env/plugin.js +31 -64
  173. package/dist/plugin/env/plugin.server.d.ts +2 -0
  174. package/dist/plugin/env/plugin.server.d.ts.map +1 -0
  175. package/dist/plugin/env/plugin.server.js +2 -0
  176. package/dist/plugin/env/userConfigEnv.js +9 -18
  177. package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
  178. package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
  179. package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
  180. package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
  181. package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
  182. package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
  183. package/dist/plugin/environments/hashCoordination.d.ts +14 -0
  184. package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
  185. package/dist/plugin/environments/hashCoordination.js +35 -0
  186. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
  187. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
  188. package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
  189. package/dist/plugin/error/assertPanic.d.ts +2 -0
  190. package/dist/plugin/error/assertPanic.d.ts.map +1 -0
  191. package/dist/plugin/error/assertPanic.js +15 -0
  192. package/dist/plugin/error/handleError.d.ts +9 -0
  193. package/dist/plugin/error/handleError.d.ts.map +1 -0
  194. package/dist/plugin/error/handleError.js +51 -0
  195. package/dist/plugin/error/index.d.ts +3 -0
  196. package/dist/plugin/error/index.d.ts.map +1 -1
  197. package/dist/plugin/error/index.js +4 -1
  198. package/dist/plugin/error/logError.d.ts +6 -2
  199. package/dist/plugin/error/logError.d.ts.map +1 -1
  200. package/dist/plugin/error/logError.js +34 -36
  201. package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
  202. package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
  203. package/dist/plugin/error/panicThresholdHandler.js +13 -0
  204. package/dist/plugin/error/serializeError.d.ts +6 -2
  205. package/dist/plugin/error/serializeError.d.ts.map +1 -1
  206. package/dist/plugin/error/serializeError.js +30 -10
  207. package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
  208. package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
  209. package/dist/plugin/error/serializeErrorInfo.js +19 -0
  210. package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
  211. package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
  212. package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
  213. package/dist/plugin/error/shouldPanic.d.ts +6 -0
  214. package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
  215. package/dist/plugin/error/shouldPanic.js +15 -0
  216. package/dist/plugin/error/toError.d.ts +5 -1
  217. package/dist/plugin/error/toError.d.ts.map +1 -1
  218. package/dist/plugin/error/toError.js +43 -19
  219. package/dist/plugin/error/types.d.ts +28 -0
  220. package/dist/plugin/error/types.d.ts.map +1 -0
  221. package/dist/plugin/error/types.js +1 -0
  222. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
  223. package/dist/plugin/helpers/collectManifestCss.js +19 -5
  224. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  225. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  226. package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
  227. package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
  228. package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
  229. package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
  230. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  231. package/dist/plugin/helpers/createCssProps.js +15 -14
  232. package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
  233. package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
  234. package/dist/plugin/helpers/createElementWithReact.js +87 -0
  235. package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
  236. package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
  237. package/dist/plugin/helpers/createPatternMatcher.js +50 -0
  238. package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
  239. package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
  240. package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
  241. package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
  242. package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
  243. package/dist/plugin/helpers/createSafePageComponent.js +50 -0
  244. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
  245. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
  246. package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
  247. package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
  248. package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
  249. package/dist/plugin/helpers/createSharedLoader.js +137 -0
  250. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
  251. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
  252. package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
  253. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  254. package/dist/plugin/helpers/getBundleManifest.js +2 -3
  255. package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
  256. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  257. package/dist/plugin/helpers/getRouteFiles.js +43 -41
  258. package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
  259. package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
  260. package/dist/plugin/helpers/handleServerAction.client.js +93 -0
  261. package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
  262. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  263. package/dist/plugin/helpers/handleServerAction.js +15 -45
  264. package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
  265. package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
  266. package/dist/plugin/helpers/handleServerAction.server.js +80 -0
  267. package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
  268. package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
  269. package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
  270. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
  271. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
  272. package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
  273. package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
  274. package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
  275. package/dist/plugin/helpers/headlessStreamState.js +81 -0
  276. package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
  277. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
  278. package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
  279. package/dist/plugin/helpers/index.d.ts +12 -5
  280. package/dist/plugin/helpers/index.d.ts.map +1 -1
  281. package/dist/plugin/helpers/index.js +18 -4
  282. package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
  283. package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
  284. package/dist/plugin/helpers/logRenderStart.js +13 -0
  285. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
  286. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
  287. package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
  288. package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
  289. package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
  290. package/dist/plugin/helpers/pipeToResponse.js +55 -0
  291. package/dist/plugin/helpers/requestInfo.d.ts +2 -0
  292. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  293. package/dist/plugin/helpers/requestInfo.js +6 -2
  294. package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
  295. package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
  296. package/dist/plugin/helpers/resolveComponents.client.js +126 -0
  297. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
  298. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
  299. package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
  300. package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
  301. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  302. package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
  303. package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
  304. package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
  305. package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
  306. package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
  307. package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
  308. package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
  309. package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
  310. package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
  311. package/dist/plugin/helpers/resolveStreamElements.js +13 -0
  312. package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
  313. package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
  314. package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
  315. package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
  316. package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
  317. package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
  318. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
  319. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
  320. package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
  321. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
  322. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
  323. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
  324. package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
  325. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  326. package/dist/plugin/helpers/serializeUserOptions.js +28 -13
  327. package/dist/plugin/helpers/tryManifest.d.ts +2 -2
  328. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  329. package/dist/plugin/helpers/tryManifest.js +12 -6
  330. package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
  331. package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
  332. package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
  333. package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
  334. package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
  335. package/dist/plugin/helpers/workerCleanup.js +28 -0
  336. package/dist/plugin/helpers/workerManager.d.ts +5 -0
  337. package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
  338. package/dist/plugin/helpers/workerManager.js +18 -0
  339. package/dist/plugin/index.d.ts +4 -1
  340. package/dist/plugin/index.d.ts.map +1 -1
  341. package/dist/plugin/index.js +5 -2
  342. package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
  343. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  344. package/dist/plugin/loader/createDefaultLoader.js +2 -22
  345. package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
  346. package/dist/plugin/loader/createTransformer.js +155 -25
  347. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
  348. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
  349. package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
  350. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
  351. package/dist/plugin/loader/directives/analyzeModule.js +16 -9
  352. package/dist/plugin/loader/env-loader.js +2 -2
  353. package/dist/plugin/loader/react-loader.d.ts +4 -4
  354. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  355. package/dist/plugin/loader/react-loader.js +101 -73
  356. package/dist/plugin/loader/transformClientModule.d.ts +3 -3
  357. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
  358. package/dist/plugin/loader/transformClientModule.js +63 -18
  359. package/dist/plugin/loader/transformModule.d.ts.map +1 -1
  360. package/dist/plugin/loader/transformModule.js +80 -16
  361. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
  362. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  363. package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
  364. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +1 -1
  365. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -1
  366. package/dist/plugin/loader/transformNonServerEnvironment.js +14 -12
  367. package/dist/plugin/loader/transformServerModule.d.ts +1 -1
  368. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
  369. package/dist/plugin/loader/transformServerModule.js +54 -15
  370. package/dist/plugin/loader/types.d.ts +24 -7
  371. package/dist/plugin/loader/types.d.ts.map +1 -1
  372. package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
  373. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
  374. package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
  375. package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
  376. package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
  377. package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
  378. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
  379. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
  380. package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
  381. package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
  382. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
  383. package/dist/plugin/metrics/createRenderMetrics.js +45 -13
  384. package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
  385. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
  386. package/dist/plugin/metrics/createStreamMetrics.js +15 -4
  387. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
  388. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
  389. package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
  390. package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
  391. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  392. package/dist/plugin/metrics/formatMetrics.js +7 -29
  393. package/dist/plugin/metrics/index.d.ts +6 -3
  394. package/dist/plugin/metrics/index.d.ts.map +1 -1
  395. package/dist/plugin/metrics/index.js +6 -3
  396. package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
  397. package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
  398. package/dist/plugin/metrics/metricWatcher.js +141 -0
  399. package/dist/plugin/metrics/types.d.ts +72 -6
  400. package/dist/plugin/metrics/types.d.ts.map +1 -1
  401. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
  402. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
  403. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
  404. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
  405. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
  406. package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
  407. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
  408. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
  409. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
  410. package/dist/plugin/orchestrator/index.d.ts +2 -0
  411. package/dist/plugin/orchestrator/index.d.ts.map +1 -0
  412. package/dist/plugin/orchestrator/index.js +1 -0
  413. package/dist/plugin/orchestrator/plugin.js +7 -0
  414. package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
  415. package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
  416. package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
  417. package/dist/plugin/orchestrator/types.d.ts +21 -0
  418. package/dist/plugin/orchestrator/types.d.ts.map +1 -0
  419. package/dist/plugin/orchestrator/types.js +1 -0
  420. package/dist/plugin/plugin.client.d.ts +11 -19
  421. package/dist/plugin/plugin.client.d.ts.map +1 -1
  422. package/dist/plugin/plugin.client.js +20 -13
  423. package/dist/plugin/plugin.d.ts +2 -1
  424. package/dist/plugin/plugin.d.ts.map +1 -1
  425. package/dist/plugin/plugin.js +4 -2
  426. package/dist/plugin/plugin.server.d.ts +13 -11
  427. package/dist/plugin/plugin.server.d.ts.map +1 -1
  428. package/dist/plugin/plugin.server.js +19 -18
  429. package/dist/plugin/process-env.d.ts +1 -0
  430. package/dist/plugin/process-env.d.ts.map +1 -1
  431. package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
  432. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  433. package/dist/plugin/react-client/createMessageHandlers.js +42 -69
  434. package/dist/plugin/react-client/index.client.d.ts +2 -0
  435. package/dist/plugin/react-client/index.client.d.ts.map +1 -0
  436. package/dist/plugin/react-client/index.client.js +1 -0
  437. package/dist/plugin/react-client/index.d.ts +3 -4
  438. package/dist/plugin/react-client/index.d.ts.map +1 -1
  439. package/dist/plugin/react-client/index.js +10 -5
  440. package/dist/plugin/react-client/index.server.d.ts +2 -0
  441. package/dist/plugin/react-client/index.server.d.ts.map +1 -0
  442. package/dist/plugin/react-client/index.server.js +1 -0
  443. package/dist/plugin/react-client/plugin.client.d.ts +15 -0
  444. package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
  445. package/dist/plugin/react-client/plugin.client.js +98 -0
  446. package/dist/plugin/react-client/plugin.d.ts +2 -5
  447. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  448. package/dist/plugin/react-client/plugin.js +6 -121
  449. package/dist/plugin/react-client/plugin.server.d.ts +15 -0
  450. package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
  451. package/dist/plugin/react-client/plugin.server.js +93 -0
  452. package/dist/plugin/react-client/types.d.ts +60 -0
  453. package/dist/plugin/react-client/types.d.ts.map +1 -0
  454. package/dist/plugin/react-client/types.js +1 -0
  455. package/dist/plugin/react-server/index.client.d.ts +2 -0
  456. package/dist/plugin/react-server/index.client.d.ts.map +1 -0
  457. package/dist/plugin/react-server/index.client.js +1 -0
  458. package/dist/plugin/react-server/index.d.ts +3 -1
  459. package/dist/plugin/react-server/index.d.ts.map +1 -1
  460. package/dist/plugin/react-server/index.js +13 -1
  461. package/dist/plugin/react-server/index.server.d.ts +2 -0
  462. package/dist/plugin/react-server/index.server.d.ts.map +1 -0
  463. package/dist/plugin/react-server/index.server.js +1 -0
  464. package/dist/plugin/react-server/plugin.client.d.ts +3 -0
  465. package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
  466. package/dist/plugin/react-server/plugin.client.js +40 -0
  467. package/dist/plugin/react-server/plugin.d.ts +2 -5
  468. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  469. package/dist/plugin/react-server/plugin.js +5 -143
  470. package/dist/plugin/react-server/plugin.server.d.ts +3 -0
  471. package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
  472. package/dist/plugin/react-server/plugin.server.js +18 -0
  473. package/dist/plugin/react-server/types.d.ts +11 -0
  474. package/dist/plugin/react-server/types.d.ts.map +1 -0
  475. package/dist/plugin/react-server/types.js +1 -0
  476. package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
  477. package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
  478. package/dist/plugin/react-static/collectHtmlContent.js +104 -0
  479. package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
  480. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  481. package/dist/plugin/react-static/collectRscContent.js +71 -20
  482. package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
  483. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  484. package/dist/plugin/react-static/configurePreviewServer.js +3 -6
  485. package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
  486. package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
  487. package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
  488. package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
  489. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  490. package/dist/plugin/react-static/createBuildLoader.js +4 -226
  491. package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
  492. package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
  493. package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
  494. package/dist/plugin/react-static/fileWriter.d.ts +3 -14
  495. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
  496. package/dist/plugin/react-static/fileWriter.js +233 -42
  497. package/dist/plugin/react-static/index.client.d.ts +7 -0
  498. package/dist/plugin/react-static/index.client.d.ts.map +1 -0
  499. package/dist/plugin/react-static/index.client.js +6 -0
  500. package/dist/plugin/react-static/index.d.ts +7 -1
  501. package/dist/plugin/react-static/index.d.ts.map +1 -1
  502. package/dist/plugin/react-static/index.js +19 -1
  503. package/dist/plugin/react-static/index.server.d.ts +7 -0
  504. package/dist/plugin/react-static/index.server.d.ts.map +1 -0
  505. package/dist/plugin/react-static/index.server.js +6 -0
  506. package/dist/plugin/react-static/plugin.client.d.ts +32 -0
  507. package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
  508. package/dist/plugin/react-static/plugin.client.js +801 -0
  509. package/dist/plugin/react-static/plugin.d.ts +3 -20
  510. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  511. package/dist/plugin/react-static/plugin.js +4 -365
  512. package/dist/plugin/react-static/plugin.server.d.ts +18 -0
  513. package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
  514. package/dist/plugin/react-static/plugin.server.js +615 -0
  515. package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
  516. package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
  517. package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
  518. package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
  519. package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
  520. package/dist/plugin/react-static/renderPage.client.js +555 -0
  521. package/dist/plugin/react-static/renderPage.d.ts +3 -4
  522. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  523. package/dist/plugin/react-static/renderPage.js +6 -119
  524. package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
  525. package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
  526. package/dist/plugin/react-static/renderPage.server.js +533 -0
  527. package/dist/plugin/react-static/renderPages.d.ts +11 -3
  528. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  529. package/dist/plugin/react-static/renderPages.js +533 -92
  530. package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
  531. package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
  532. package/dist/plugin/react-static/renderPagesBatched.js +195 -0
  533. package/dist/plugin/react-static/renderStreams.d.ts +2 -5
  534. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  535. package/dist/plugin/react-static/renderStreams.js +36 -24
  536. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
  537. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
  538. package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
  539. package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
  540. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  541. package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
  542. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
  543. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
  544. package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
  545. package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
  546. package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
  547. package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
  548. package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
  549. package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
  550. package/dist/plugin/react-static/temporaryReferences.js +6 -10
  551. package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
  552. package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
  553. package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
  554. package/dist/plugin/react-static/types.d.ts +83 -9
  555. package/dist/plugin/react-static/types.d.ts.map +1 -1
  556. package/dist/plugin/root.d.ts.map +1 -1
  557. package/dist/plugin/root.js +2 -5
  558. package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
  559. package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
  560. package/dist/plugin/stream/MessagePortReadable.js +101 -0
  561. package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
  562. package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
  563. package/dist/plugin/stream/MessagePortWritable.js +85 -0
  564. package/dist/plugin/stream/client.js +12 -0
  565. package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
  566. package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
  567. package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
  568. package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
  569. package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
  570. package/dist/plugin/stream/createFromNodeStream.js +6 -0
  571. package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
  572. package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
  573. package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
  574. package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
  575. package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
  576. package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
  577. package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
  578. package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
  579. package/dist/plugin/stream/createHtmlStream.client.js +42 -0
  580. package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
  581. package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
  582. package/dist/plugin/stream/createHtmlStream.js +6 -0
  583. package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
  584. package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
  585. package/dist/plugin/stream/createHtmlStream.server.js +224 -0
  586. package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
  587. package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
  588. package/dist/plugin/stream/createHtmlStream.types.js +1 -0
  589. package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
  590. package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
  591. package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
  592. package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
  593. package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
  594. package/dist/plugin/stream/createMessageChannels.js +35 -0
  595. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
  596. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
  597. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
  598. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
  599. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
  600. package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
  601. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
  602. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
  603. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
  604. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
  605. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
  606. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
  607. package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
  608. package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
  609. package/dist/plugin/stream/createRscStream.client.js +79 -0
  610. package/dist/plugin/stream/createRscStream.d.ts +2 -0
  611. package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
  612. package/dist/plugin/stream/createRscStream.js +13 -0
  613. package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
  614. package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
  615. package/dist/plugin/stream/createRscStream.server.js +113 -0
  616. package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
  617. package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
  618. package/dist/plugin/stream/createRscStream.types.js +1 -0
  619. package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
  620. package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
  621. package/dist/plugin/stream/createRscStream.utils.js +91 -0
  622. package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
  623. package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
  624. package/dist/plugin/stream/createRscWorkerStream.js +120 -0
  625. package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
  626. package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
  627. package/dist/plugin/stream/handleRscStream.client.js +163 -0
  628. package/dist/plugin/stream/handleRscStream.d.ts +3 -0
  629. package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
  630. package/dist/plugin/stream/handleRscStream.js +13 -0
  631. package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
  632. package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
  633. package/dist/plugin/stream/handleRscStream.server.js +70 -0
  634. package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
  635. package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
  636. package/dist/plugin/stream/handleRscStream.types.js +1 -0
  637. package/dist/plugin/stream/index.client.d.ts +7 -0
  638. package/dist/plugin/stream/index.client.d.ts.map +1 -0
  639. package/dist/plugin/stream/index.client.js +11 -0
  640. package/dist/plugin/stream/index.d.ts +95 -0
  641. package/dist/plugin/stream/index.d.ts.map +1 -0
  642. package/dist/plugin/stream/index.js +21 -0
  643. package/dist/plugin/stream/index.server.d.ts +7 -0
  644. package/dist/plugin/stream/index.server.d.ts.map +1 -0
  645. package/dist/plugin/stream/index.server.js +11 -0
  646. package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
  647. package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
  648. package/dist/plugin/stream/renderRscStream.server.js +153 -0
  649. package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
  650. package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
  651. package/dist/plugin/stream/renderRscStream.types.js +1 -0
  652. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
  653. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
  654. package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
  655. package/dist/plugin/stream/server.js +12 -0
  656. package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
  657. package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
  658. package/dist/plugin/stream/setMaxListeners.js +16 -0
  659. package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
  660. package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
  661. package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
  662. package/dist/plugin/transformer/plugin.client.d.ts +2 -29
  663. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  664. package/dist/plugin/transformer/plugin.client.js +5 -96
  665. package/dist/plugin/transformer/plugin.server.d.ts +2 -29
  666. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  667. package/dist/plugin/transformer/plugin.server.js +5 -96
  668. package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
  669. package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
  670. package/dist/plugin/transformer/transformerEnv.js +26 -0
  671. package/dist/plugin/types.d.ts +366 -140
  672. package/dist/plugin/types.d.ts.map +1 -1
  673. package/dist/plugin/types.js +1 -2
  674. package/dist/plugin/utils/callServer.d.ts +1 -1
  675. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  676. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  677. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  678. package/dist/plugin/utils/createCallServer.js +4 -9
  679. package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
  680. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  681. package/dist/plugin/utils/createReactFetcher.js +14 -3
  682. package/dist/plugin/utils/envUrls.node.js +11 -12
  683. package/dist/plugin/utils/index.client.d.ts +8 -0
  684. package/dist/plugin/utils/index.client.d.ts.map +1 -0
  685. package/dist/plugin/utils/index.client.js +8 -0
  686. package/dist/plugin/utils/index.d.ts +1 -0
  687. package/dist/plugin/utils/index.d.ts.map +1 -1
  688. package/dist/plugin/utils/index.js +3 -2
  689. package/dist/plugin/utils/index.server.d.ts +6 -0
  690. package/dist/plugin/utils/index.server.d.ts.map +1 -0
  691. package/dist/plugin/utils/index.server.js +8 -0
  692. package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
  693. package/dist/plugin/utils/routeToURL.js +4 -4
  694. package/dist/plugin/utils/urls.d.ts +1 -1
  695. package/dist/plugin/utils/urls.d.ts.map +1 -1
  696. package/dist/plugin/utils/urls.js +29 -8
  697. package/dist/plugin/utils/useRscHmr.d.ts +39 -0
  698. package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
  699. package/dist/plugin/utils/useRscHmr.js +27 -0
  700. package/dist/plugin/vendor/vendor.client.d.ts +3 -3
  701. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  702. package/dist/plugin/vendor/vendor.client.js +7 -6
  703. package/dist/plugin/vendor/vendor.d.ts +1 -1
  704. package/dist/plugin/vendor/vendor.d.ts.map +1 -1
  705. package/dist/plugin/vendor/vendor.js +4 -6
  706. package/dist/plugin/vendor/vendor.server.d.ts +4 -2
  707. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  708. package/dist/plugin/vendor/vendor.server.js +2 -3
  709. package/dist/plugin/vendor/vendor.static.d.ts +4 -0
  710. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
  711. package/dist/plugin/vendor/vendor.static.js +15 -0
  712. package/dist/plugin/worker/createWorker.d.ts +16 -5
  713. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  714. package/dist/plugin/worker/createWorker.js +207 -30
  715. package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
  716. package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
  717. package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
  718. package/dist/plugin/worker/html/html-worker.development.js +9 -26
  719. package/dist/plugin/worker/html/html-worker.js +4 -4
  720. package/dist/plugin/worker/html/html-worker.production.js +7 -13
  721. package/dist/plugin/worker/html/index.d.ts +1 -1
  722. package/dist/plugin/worker/html/index.js +6 -2
  723. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  724. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  725. package/dist/plugin/worker/html/messageHandler.js +291 -104
  726. package/dist/plugin/worker/html/state.d.ts +10 -0
  727. package/dist/plugin/worker/html/state.d.ts.map +1 -0
  728. package/dist/plugin/worker/html/state.js +28 -0
  729. package/dist/plugin/worker/html/types.d.ts +52 -23
  730. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  731. package/dist/plugin/worker/index.js +1 -1
  732. package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
  733. package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
  734. package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
  735. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
  736. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
  737. package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
  738. package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
  739. package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
  740. package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
  741. package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
  742. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  743. package/dist/plugin/worker/rsc/handlers.js +137 -200
  744. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
  745. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
  746. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
  747. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  748. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  749. package/dist/plugin/worker/rsc/messageHandler.js +927 -49
  750. package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
  751. package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
  752. package/dist/plugin/worker/rsc/rsc-worker.production.js +238 -42
  753. package/dist/plugin/worker/rsc/state.d.ts +6 -0
  754. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  755. package/dist/plugin/worker/rsc/state.js +37 -5
  756. package/dist/plugin/worker/rsc/types.d.ts +73 -12
  757. package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
  758. package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
  759. package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
  760. package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
  761. package/dist/plugin/worker/sendMessage.d.ts +2 -3
  762. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  763. package/dist/plugin/worker/sendMessage.js +24 -38
  764. package/dist/plugin/worker/types.d.ts +42 -56
  765. package/dist/plugin/worker/types.d.ts.map +1 -1
  766. package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
  767. package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
  768. package/dist/plugin/worker/worker-handlers.server.js +1 -0
  769. package/dist/server.d.ts +5 -1
  770. package/dist/server.d.ts.map +1 -1
  771. package/dist/server.js +4 -6
  772. package/dist/static.js +11 -0
  773. package/dist/tsconfig.tsbuildinfo +1 -1
  774. package/package.json +103 -28
  775. package/plugin/bundle/bundles.ts +22 -0
  776. package/plugin/bundle/deferredStaticGeneration.ts +48 -0
  777. package/plugin/bundle/manifests.ts +73 -0
  778. package/plugin/components/css.tsx +3 -7
  779. package/plugin/components/html.tsx +4 -3
  780. package/plugin/components/index.ts +1 -1
  781. package/plugin/components/root.tsx +3 -3
  782. package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
  783. package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
  784. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
  785. package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
  786. package/plugin/config/createHandlerOptions.client.ts +403 -0
  787. package/plugin/config/createHandlerOptions.server.ts +477 -0
  788. package/plugin/config/createHandlerOptions.ts +46 -0
  789. package/plugin/config/createHandlerOptions.types.ts +119 -0
  790. package/plugin/config/createModuleID.ts +201 -10
  791. package/plugin/config/defaults.tsx +58 -9
  792. package/plugin/config/envPrefixFromConfig.ts +10 -0
  793. package/plugin/config/getCondition.ts +267 -10
  794. package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
  795. package/plugin/config/index.ts +60 -1
  796. package/plugin/config/resolveDirectiveMatcher.ts +13 -34
  797. package/plugin/config/resolveEnv.ts +3 -8
  798. package/plugin/config/resolveOptions.ts +295 -77
  799. package/plugin/config/resolvePages.ts +1 -1
  800. package/plugin/config/resolvePatternWithValues.ts +6 -26
  801. package/plugin/config/resolveUrlOption.ts +2 -2
  802. package/plugin/config/resolveUserConfig.ts +358 -133
  803. package/plugin/config/stashedOptionsState.ts +144 -0
  804. package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
  805. package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
  806. package/plugin/dev-server/cleanupServerAction.ts +8 -0
  807. package/plugin/dev-server/configureReactServer.client.ts +107 -0
  808. package/plugin/dev-server/configureReactServer.server.ts +558 -0
  809. package/plugin/dev-server/configureReactServer.ts +8 -0
  810. package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
  811. package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
  812. package/plugin/dev-server/configureRequestHandler.ts +8 -0
  813. package/plugin/dev-server/handleServerAction.client.ts +126 -0
  814. package/plugin/dev-server/handleServerAction.server.ts +10 -0
  815. package/plugin/dev-server/handleServerAction.ts +8 -0
  816. package/plugin/dev-server/index.client.ts +6 -0
  817. package/plugin/dev-server/index.server.ts +6 -0
  818. package/plugin/dev-server/index.ts +20 -0
  819. package/plugin/dev-server/plugin.client.ts +160 -0
  820. package/plugin/dev-server/plugin.server.ts +133 -0
  821. package/plugin/dev-server/restartWorker.client.ts +155 -0
  822. package/plugin/dev-server/restartWorker.server.ts +108 -0
  823. package/plugin/dev-server/restartWorker.ts +8 -0
  824. package/plugin/dev-server/types.ts +78 -0
  825. package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
  826. package/plugin/env/createConfigEnv.ts +27 -8
  827. package/plugin/env/createEnvPlugin.ts +76 -0
  828. package/plugin/env/getArgValue.ts +1 -1
  829. package/plugin/env/getEnvKey.ts +20 -1
  830. package/plugin/env/index.ts +10 -0
  831. package/plugin/env/plugin.client.ts +3 -0
  832. package/plugin/env/plugin.server.ts +4 -0
  833. package/plugin/env/plugin.ts +48 -103
  834. package/plugin/environments/createBuildEventPlugin.ts +117 -0
  835. package/plugin/environments/createEnvironmentPlugin.ts +332 -0
  836. package/plugin/environments/hashCoordination.ts +39 -0
  837. package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
  838. package/plugin/error/assertPanic.ts +9 -0
  839. package/plugin/error/handleError.ts +63 -0
  840. package/plugin/error/index.ts +4 -1
  841. package/plugin/error/logError.ts +63 -42
  842. package/plugin/error/panicThresholdHandler.ts +52 -0
  843. package/plugin/error/serializeError.ts +36 -11
  844. package/plugin/error/serializeErrorInfo.ts +17 -0
  845. package/plugin/error/setupGlobalErrorHandler.ts +71 -0
  846. package/plugin/error/shouldPanic.ts +14 -0
  847. package/plugin/error/toError.ts +59 -19
  848. package/plugin/error/types.ts +32 -0
  849. package/plugin/helpers/README.md +112 -0
  850. package/plugin/helpers/collectManifestCss.ts +24 -5
  851. package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
  852. package/plugin/helpers/createBufferedRscStream.ts +194 -0
  853. package/plugin/helpers/createCssProps.tsx +22 -19
  854. package/plugin/helpers/createElementWithReact.tsx +121 -0
  855. package/plugin/helpers/createPatternMatcher.ts +100 -0
  856. package/plugin/helpers/createRscRenderHelpers.ts +77 -0
  857. package/plugin/helpers/createSafePageComponent.ts +64 -0
  858. package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
  859. package/plugin/helpers/createSharedLoader.ts +207 -0
  860. package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
  861. package/plugin/helpers/getBundleManifest.ts +2 -3
  862. package/plugin/helpers/getRouteFiles.ts +28 -23
  863. package/plugin/helpers/handleServerAction.client.ts +145 -0
  864. package/plugin/helpers/handleServerAction.server.ts +151 -0
  865. package/plugin/helpers/handleServerAction.ts +19 -79
  866. package/plugin/helpers/handleServerActionHelper.ts +270 -0
  867. package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
  868. package/plugin/helpers/headlessStreamState.ts +122 -0
  869. package/plugin/helpers/hydrateUserOptions.ts +2 -2
  870. package/plugin/helpers/index.ts +32 -5
  871. package/plugin/helpers/logRenderStart.ts +26 -0
  872. package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
  873. package/plugin/helpers/pipeToResponse.ts +77 -0
  874. package/plugin/helpers/requestInfo.ts +9 -3
  875. package/plugin/helpers/resolveComponents.client.ts +183 -0
  876. package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
  877. package/plugin/helpers/resolvePageAndProps.ts +237 -50
  878. package/plugin/helpers/resolveRenderUrl.ts +26 -0
  879. package/plugin/helpers/resolveStreamElements.client.ts +50 -0
  880. package/plugin/helpers/resolveStreamElements.server.ts +43 -0
  881. package/plugin/helpers/resolveStreamElements.ts +13 -0
  882. package/plugin/helpers/resolveStreamElements.types.ts +29 -0
  883. package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
  884. package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
  885. package/plugin/helpers/serializeUserOptions.ts +37 -15
  886. package/plugin/helpers/tryManifest.ts +15 -6
  887. package/plugin/helpers/validateRscRenderMessage.ts +13 -0
  888. package/plugin/helpers/workerCleanup.ts +85 -0
  889. package/plugin/helpers/workerManager.ts +16 -0
  890. package/plugin/index.ts +6 -2
  891. package/plugin/loader/createDefaultLoader.ts +0 -21
  892. package/plugin/loader/createTransformer.ts +231 -37
  893. package/plugin/loader/directives/analyzeDirectives.ts +163 -73
  894. package/plugin/loader/directives/analyzeModule.ts +18 -9
  895. package/plugin/loader/env-loader.ts +3 -3
  896. package/plugin/loader/react-loader.ts +133 -86
  897. package/plugin/loader/transformClientModule.ts +85 -23
  898. package/plugin/loader/transformModule.ts +101 -21
  899. package/plugin/loader/transformModuleIfNeeded.ts +20 -23
  900. package/plugin/loader/transformNonServerEnvironment.ts +21 -13
  901. package/plugin/loader/transformServerModule.ts +86 -22
  902. package/plugin/loader/types.ts +22 -7
  903. package/plugin/metrics/collectStreamMetrics.ts +1 -2
  904. package/plugin/metrics/convertStreamMetrics.ts +28 -0
  905. package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
  906. package/plugin/metrics/createRenderMetrics.ts +46 -13
  907. package/plugin/metrics/createStreamMetrics.ts +16 -6
  908. package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
  909. package/plugin/metrics/formatMetrics.ts +5 -33
  910. package/plugin/metrics/index.ts +6 -3
  911. package/plugin/metrics/metricWatcher.ts +216 -0
  912. package/plugin/metrics/types.ts +87 -8
  913. package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
  914. package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
  915. package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
  916. package/plugin/orchestrator/index.ts +1 -0
  917. package/plugin/orchestrator/resolveStrategy.ts +53 -0
  918. package/plugin/orchestrator/types.ts +24 -0
  919. package/plugin/plugin.client.ts +29 -34
  920. package/plugin/plugin.server.ts +36 -42
  921. package/plugin/plugin.ts +8 -2
  922. package/plugin/process-env.ts +3 -0
  923. package/plugin/react-client/createMessageHandlers.ts +9 -34
  924. package/plugin/react-client/index.client.ts +1 -0
  925. package/plugin/react-client/index.server.ts +1 -0
  926. package/plugin/react-client/index.ts +13 -4
  927. package/plugin/react-client/plugin.client.ts +124 -0
  928. package/plugin/react-client/plugin.server.ts +108 -0
  929. package/plugin/react-client/plugin.ts +13 -152
  930. package/plugin/react-client/types.ts +95 -0
  931. package/plugin/react-server/index.client.ts +1 -0
  932. package/plugin/react-server/index.server.ts +1 -0
  933. package/plugin/react-server/index.ts +13 -1
  934. package/plugin/react-server/plugin.client.ts +54 -0
  935. package/plugin/react-server/plugin.server.ts +27 -0
  936. package/plugin/react-server/plugin.ts +8 -183
  937. package/plugin/react-server/types.ts +24 -0
  938. package/plugin/react-static/collectHtmlContent.ts +131 -0
  939. package/plugin/react-static/collectRscContent.ts +92 -49
  940. package/plugin/react-static/configurePreviewServer.ts +8 -18
  941. package/plugin/react-static/createBuildLoader.client.ts +7 -0
  942. package/plugin/react-static/createBuildLoader.server.ts +333 -0
  943. package/plugin/react-static/createBuildLoader.ts +8 -300
  944. package/plugin/react-static/fileWriter.ts +303 -64
  945. package/plugin/react-static/index.client.ts +6 -0
  946. package/plugin/react-static/index.server.ts +6 -0
  947. package/plugin/react-static/index.ts +25 -1
  948. package/plugin/react-static/plugin.client.ts +932 -0
  949. package/plugin/react-static/plugin.server.ts +713 -0
  950. package/plugin/react-static/plugin.ts +8 -446
  951. package/plugin/react-static/processCssFilesForPages.ts +148 -0
  952. package/plugin/react-static/renderPage.client.ts +640 -0
  953. package/plugin/react-static/renderPage.server.ts +655 -0
  954. package/plugin/react-static/renderPage.ts +10 -160
  955. package/plugin/react-static/renderPages.ts +736 -139
  956. package/plugin/react-static/renderPagesBatched.ts +264 -0
  957. package/plugin/react-static/renderStreams.ts +12 -16
  958. package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
  959. package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
  960. package/plugin/react-static/rscToHtmlStream.ts +8 -80
  961. package/plugin/react-static/temporaryReferences.client.ts +1 -0
  962. package/plugin/react-static/temporaryReferences.server.ts +5 -0
  963. package/plugin/react-static/temporaryReferences.ts +11 -2
  964. package/plugin/react-static/types.ts +202 -8
  965. package/plugin/root.ts +1 -3
  966. package/plugin/stream/MessagePortReadable.ts +131 -0
  967. package/plugin/stream/MessagePortWritable.ts +104 -0
  968. package/plugin/stream/createFromNodeStream.client.ts +90 -0
  969. package/plugin/stream/createFromNodeStream.server.ts +30 -0
  970. package/plugin/stream/createFromNodeStream.ts +13 -0
  971. package/plugin/stream/createFromNodeStream.types.ts +53 -0
  972. package/plugin/stream/createHtmlStream.client.ts +47 -0
  973. package/plugin/stream/createHtmlStream.server.ts +312 -0
  974. package/plugin/stream/createHtmlStream.ts +13 -0
  975. package/plugin/stream/createHtmlStream.types.ts +63 -0
  976. package/plugin/stream/createMainThreadHandlers.ts +44 -0
  977. package/plugin/stream/createMessageChannels.ts +52 -0
  978. package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
  979. package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
  980. package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
  981. package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
  982. package/plugin/stream/createRscStream.client.ts +122 -0
  983. package/plugin/stream/createRscStream.server.ts +188 -0
  984. package/plugin/stream/createRscStream.ts +8 -0
  985. package/plugin/stream/createRscStream.types.ts +168 -0
  986. package/plugin/stream/createRscStream.utils.ts +171 -0
  987. package/plugin/stream/createRscWorkerStream.ts +178 -0
  988. package/plugin/stream/handleRscStream.client.ts +214 -0
  989. package/plugin/stream/handleRscStream.server.ts +82 -0
  990. package/plugin/stream/handleRscStream.ts +11 -0
  991. package/plugin/stream/handleRscStream.types.ts +70 -0
  992. package/plugin/stream/index.client.ts +15 -0
  993. package/plugin/stream/index.server.ts +15 -0
  994. package/plugin/stream/index.ts +137 -0
  995. package/plugin/stream/renderRscStream.server.ts +182 -0
  996. package/plugin/stream/renderRscStream.types.ts +43 -0
  997. package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
  998. package/plugin/stream/setMaxListeners.ts +30 -0
  999. package/plugin/transformer/README.md +2 -381
  1000. package/plugin/transformer/createTransformerPlugin.ts +388 -0
  1001. package/plugin/transformer/plugin.client.ts +6 -141
  1002. package/plugin/transformer/plugin.server.ts +6 -142
  1003. package/plugin/transformer/transformerEnv.ts +49 -0
  1004. package/plugin/types/react-server-dom-esm.d.ts +269 -110
  1005. package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
  1006. package/plugin/types.ts +636 -223
  1007. package/plugin/utils/createCallServer.ts +8 -18
  1008. package/plugin/utils/createReactFetcher.ts +87 -5
  1009. package/plugin/utils/env.ts +1 -1
  1010. package/plugin/utils/index.client.ts +8 -0
  1011. package/plugin/utils/index.server.ts +8 -0
  1012. package/plugin/utils/index.ts +5 -1
  1013. package/plugin/utils/routeToURL.ts +3 -4
  1014. package/plugin/utils/urls.ts +40 -8
  1015. package/plugin/utils/useRscHmr.ts +72 -0
  1016. package/plugin/vendor/vendor.client.ts +9 -7
  1017. package/plugin/vendor/vendor.server.ts +5 -4
  1018. package/plugin/vendor/vendor.static.ts +12 -0
  1019. package/plugin/vendor/vendor.ts +10 -5
  1020. package/plugin/worker/createWorker.ts +283 -41
  1021. package/plugin/worker/html/README.md +2 -65
  1022. package/plugin/worker/html/handleHtmlRender.ts +245 -0
  1023. package/plugin/worker/html/html-worker.development.tsx +5 -17
  1024. package/plugin/worker/html/html-worker.production.tsx +1 -1
  1025. package/plugin/worker/html/html-worker.ts +5 -5
  1026. package/plugin/worker/html/index.ts +6 -6
  1027. package/plugin/worker/html/messageHandler.tsx +317 -98
  1028. package/plugin/worker/html/state.ts +38 -0
  1029. package/plugin/worker/html/types.ts +108 -35
  1030. package/plugin/worker/rsc/README.md +2 -257
  1031. package/plugin/worker/rsc/createBundleLoader.ts +92 -0
  1032. package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
  1033. package/plugin/worker/rsc/handleRscRender.ts +510 -0
  1034. package/plugin/worker/rsc/handlers.ts +159 -238
  1035. package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
  1036. package/plugin/worker/rsc/messageHandler.tsx +1288 -58
  1037. package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
  1038. package/plugin/worker/rsc/rsc-worker.production.ts +302 -64
  1039. package/plugin/worker/rsc/rsc-worker.tsx +3 -5
  1040. package/plugin/worker/rsc/state.ts +54 -2
  1041. package/plugin/worker/rsc/types.ts +110 -32
  1042. package/plugin/worker/rsc/workerUserOptions.ts +63 -0
  1043. package/plugin/worker/sendMessage.ts +33 -53
  1044. package/plugin/worker/types.ts +94 -91
  1045. package/scripts/generate-toc.mjs +311 -0
  1046. package/scripts/remove-toc.mjs +51 -0
  1047. package/scripts/test-both.sh +82 -0
  1048. package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
  1049. package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
  1050. package/dist/plugin/getNodeEnv.d.ts.map +0 -1
  1051. package/dist/plugin/getNodeEnv.js +0 -17
  1052. package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
  1053. package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
  1054. package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
  1055. package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
  1056. package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
  1057. package/dist/plugin/helpers/createEventHandler.js +0 -36
  1058. package/dist/plugin/helpers/createHandler.d.ts +0 -14
  1059. package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
  1060. package/dist/plugin/helpers/createHandler.js +0 -75
  1061. package/dist/plugin/helpers/createRscStream.d.ts +0 -26
  1062. package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
  1063. package/dist/plugin/helpers/createRscStream.js +0 -178
  1064. package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
  1065. package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
  1066. package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
  1067. package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
  1068. package/dist/plugin/helpers/resolveComponents.js +0 -146
  1069. package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
  1070. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
  1071. package/dist/plugin/helpers/resolveUserComponents.js +0 -163
  1072. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
  1073. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
  1074. package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
  1075. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
  1076. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
  1077. package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -203
  1078. package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
  1079. package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
  1080. package/dist/plugin/react-client/createWorkerStream.js +0 -163
  1081. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
  1082. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
  1083. package/dist/plugin/react-client/handleWorkerRscStream.js +0 -91
  1084. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
  1085. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
  1086. package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
  1087. package/dist/plugin/react-client/restartWorker.d.ts +0 -12
  1088. package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
  1089. package/dist/plugin/react-client/restartWorker.js +0 -69
  1090. package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
  1091. package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
  1092. package/dist/plugin/react-server/configureReactServer.js +0 -209
  1093. package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
  1094. package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
  1095. package/dist/plugin/react-server/handleServerAction.js +0 -159
  1096. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
  1097. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
  1098. package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
  1099. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
  1100. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
  1101. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
  1102. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
  1103. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
  1104. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
  1105. package/dist/plugin/worker/rsc/handleRender.d.ts +0 -6
  1106. package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
  1107. package/dist/plugin/worker/rsc/handleRender.js +0 -137
  1108. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
  1109. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
  1110. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
  1111. package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
  1112. package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
  1113. package/dist/plugin/worker/rsc/userOptions.js +0 -16
  1114. package/plugin/helpers/collectBundleManifestCss.ts +0 -1
  1115. package/plugin/helpers/createEventHandler.ts +0 -44
  1116. package/plugin/helpers/createHandler.ts +0 -97
  1117. package/plugin/helpers/createRscStream.tsx +0 -226
  1118. package/plugin/helpers/defaultFileWriter.ts +0 -0
  1119. package/plugin/helpers/resolveComponents.ts +0 -202
  1120. package/plugin/helpers/resolveUserComponents.ts +0 -190
  1121. package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
  1122. package/plugin/react-client/configureWorkerRequestHandler.ts +0 -249
  1123. package/plugin/react-client/createWorkerStream.ts +0 -210
  1124. package/plugin/react-client/handleWorkerRscStream.ts +0 -145
  1125. package/plugin/react-client/handleWorkerServerAction.ts +0 -96
  1126. package/plugin/react-client/restartWorker.ts +0 -90
  1127. package/plugin/react-server/configureReactServer.ts +0 -235
  1128. package/plugin/react-server/handleServerAction.ts +0 -192
  1129. package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
  1130. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
  1131. package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
  1132. package/plugin/worker/rsc/handleRender.ts +0 -168
  1133. package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
  1134. package/plugin/worker/rsc/userOptions.ts +0 -7
  1135. /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
  1136. /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
  1137. /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
@@ -0,0 +1,29 @@
1
+ import type { Worker, MessagePort } from "node:worker_threads";
2
+ /**
3
+ * Centralized worker cleanup utilities
4
+ * Provides consistent cleanup patterns across the codebase
5
+ */
6
+ export interface WorkerCleanupOptions {
7
+ /** Whether to terminate the worker (default: true) */
8
+ terminate?: boolean;
9
+ /** Whether to remove all listeners (default: true) */
10
+ removeListeners?: boolean;
11
+ /** Whether to log cleanup errors (default: false) */
12
+ logErrors?: boolean;
13
+ }
14
+ /**
15
+ * Safely cleans up a worker with consistent error handling
16
+ */
17
+ export declare function cleanupWorker(worker: Worker | null | undefined, options?: WorkerCleanupOptions): void;
18
+ /**
19
+ * Safely cleans up MessagePorts with consistent error handling
20
+ */
21
+ export declare function cleanupMessagePorts(ports: (MessagePort | null | undefined)[], options?: {
22
+ logErrors?: boolean;
23
+ }): void;
24
+ /**
25
+ * Comprehensive cleanup for worker + MessagePorts combination
26
+ * This is the most common cleanup pattern in the codebase
27
+ */
28
+ export declare function cleanupWorkerAndPorts(worker: Worker | null | undefined, ports: (MessagePort | null | undefined)[], options?: WorkerCleanupOptions): void;
29
+ //# sourceMappingURL=workerCleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerCleanup.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/workerCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;;GAGG;AAEH,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,IAAI,CAkBN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EACzC,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAGN"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ function cleanupWorker(worker, options = {}) {
7
+ if (!worker) return;
8
+ const {
9
+ terminate = true,
10
+ removeListeners = true,
11
+ logErrors = false
12
+ } = options;
13
+ try {
14
+ if (removeListeners) {
15
+ worker.removeAllListeners();
16
+ }
17
+ if (terminate) {
18
+ worker.terminate();
19
+ }
20
+ } catch (error) {
21
+ if (logErrors) {
22
+ console.warn("[workerCleanup] Error during worker cleanup:", error);
23
+ }
24
+ }
25
+ }
26
+
27
+ export { cleanupWorker };
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyQ2xlYW51cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvd29ya2VyQ2xlYW51cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdvcmtlciwgTWVzc2FnZVBvcnQgfSBmcm9tIFwibm9kZTp3b3JrZXJfdGhyZWFkc1wiO1xuXG4vKipcbiAqIENlbnRyYWxpemVkIHdvcmtlciBjbGVhbnVwIHV0aWxpdGllc1xuICogUHJvdmlkZXMgY29uc2lzdGVudCBjbGVhbnVwIHBhdHRlcm5zIGFjcm9zcyB0aGUgY29kZWJhc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtlckNsZWFudXBPcHRpb25zIHtcbiAgLyoqIFdoZXRoZXIgdG8gdGVybWluYXRlIHRoZSB3b3JrZXIgKGRlZmF1bHQ6IHRydWUpICovXG4gIHRlcm1pbmF0ZT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIHJlbW92ZSBhbGwgbGlzdGVuZXJzIChkZWZhdWx0OiB0cnVlKSAqL1xuICByZW1vdmVMaXN0ZW5lcnM/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBsb2cgY2xlYW51cCBlcnJvcnMgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBsb2dFcnJvcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNhZmVseSBjbGVhbnMgdXAgYSB3b3JrZXIgd2l0aCBjb25zaXN0ZW50IGVycm9yIGhhbmRsaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwV29ya2VyKFxuICB3b3JrZXI6IFdvcmtlciB8IG51bGwgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IFdvcmtlckNsZWFudXBPcHRpb25zID0ge31cbik6IHZvaWQge1xuICBpZiAoIXdvcmtlcikgcmV0dXJuO1xuXG4gIGNvbnN0IHtcbiAgICB0ZXJtaW5hdGUgPSB0cnVlLFxuICAgIHJlbW92ZUxpc3RlbmVycyA9IHRydWUsXG4gICAgbG9nRXJyb3JzID0gZmFsc2VcbiAgfSA9IG9wdGlvbnM7XG5cbiAgdHJ5IHtcbiAgICBpZiAocmVtb3ZlTGlzdGVuZXJzKSB7XG4gICAgICB3b3JrZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgfVxuICAgIFxuICAgIGlmICh0ZXJtaW5hdGUpIHtcbiAgICAgIHdvcmtlci50ZXJtaW5hdGUoKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGxvZ0Vycm9ycykge1xuICAgICAgY29uc29sZS53YXJuKCdbd29ya2VyQ2xlYW51cF0gRXJyb3IgZHVyaW5nIHdvcmtlciBjbGVhbnVwOicsIGVycm9yKTtcbiAgICB9XG4gICAgLy8gQWx3YXlzIGlnbm9yZSBjbGVhbnVwIGVycm9ycyB0byBwcmV2ZW50IGNhc2NhZGluZyBmYWlsdXJlc1xuICB9XG59XG5cbi8qKlxuICogU2FmZWx5IGNsZWFucyB1cCBNZXNzYWdlUG9ydHMgd2l0aCBjb25zaXN0ZW50IGVycm9yIGhhbmRsaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwTWVzc2FnZVBvcnRzKFxuICBwb3J0czogKE1lc3NhZ2VQb3J0IHwgbnVsbCB8IHVuZGVmaW5lZClbXSxcbiAgb3B0aW9uczogeyBsb2dFcnJvcnM/OiBib29sZWFuIH0gPSB7fVxuKTogdm9pZCB7XG4gIGNvbnN0IHsgbG9nRXJyb3JzID0gZmFsc2UgfSA9IG9wdGlvbnM7XG5cbiAgZm9yIChjb25zdCBwb3J0IG9mIHBvcnRzKSB7XG4gICAgaWYgKCFwb3J0KSBjb250aW51ZTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBSZW1vdmUgb25tZXNzYWdlIGhhbmRsZXJzIChwcm9wZXJ0eSBhc3NpZ25tZW50IGNsZWFudXApXG4gICAgICAocG9ydCBhcyBhbnkpLm9ubWVzc2FnZSA9IG51bGw7XG4gICAgICAvLyBDbG9zZSB0aGUgcG9ydFxuICAgICAgcG9ydC5jbG9zZSgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAobG9nRXJyb3JzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW3dvcmtlckNsZWFudXBdIEVycm9yIGR1cmluZyBNZXNzYWdlUG9ydCBjbGVhbnVwOicsIGVycm9yKTtcbiAgICAgIH1cbiAgICAgIC8vIEFsd2F5cyBpZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDb21wcmVoZW5zaXZlIGNsZWFudXAgZm9yIHdvcmtlciArIE1lc3NhZ2VQb3J0cyBjb21iaW5hdGlvblxuICogVGhpcyBpcyB0aGUgbW9zdCBjb21tb24gY2xlYW51cCBwYXR0ZXJuIGluIHRoZSBjb2RlYmFzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFdvcmtlckFuZFBvcnRzKFxuICB3b3JrZXI6IFdvcmtlciB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHBvcnRzOiAoTWVzc2FnZVBvcnQgfCBudWxsIHwgdW5kZWZpbmVkKVtdLFxuICBvcHRpb25zOiBXb3JrZXJDbGVhbnVwT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY2xlYW51cE1lc3NhZ2VQb3J0cyhwb3J0cywgeyBsb2dFcnJvcnM6IG9wdGlvbnMubG9nRXJyb3JzIH0pO1xuICBjbGVhbnVwV29ya2VyKHdvcmtlciwgb3B0aW9ucyk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtQk8sU0FBUyxhQUNkLENBQUEsTUFBQSxFQUNBLE9BQWdDLEdBQUEsRUFDMUIsRUFBQTtBQUNOLEVBQUEsSUFBSSxDQUFDLE1BQVEsRUFBQTtBQUViLEVBQU0sTUFBQTtBQUFBLElBQ0osU0FBWSxHQUFBLElBQUE7QUFBQSxJQUNaLGVBQWtCLEdBQUEsSUFBQTtBQUFBLElBQ2xCLFNBQVksR0FBQTtBQUFBLEdBQ1YsR0FBQSxPQUFBO0FBRUosRUFBSSxJQUFBO0FBQ0YsSUFBQSxJQUFJLGVBQWlCLEVBQUE7QUFDbkIsTUFBQSxNQUFBLENBQU8sa0JBQW1CLEVBQUE7QUFBQTtBQUc1QixJQUFBLElBQUksU0FBVyxFQUFBO0FBQ2IsTUFBQSxNQUFBLENBQU8sU0FBVSxFQUFBO0FBQUE7QUFDbkIsV0FDTyxLQUFPLEVBQUE7QUFDZCxJQUFBLElBQUksU0FBVyxFQUFBO0FBQ2IsTUFBUSxPQUFBLENBQUEsSUFBQSxDQUFLLGdEQUFnRCxLQUFLLENBQUE7QUFBQTtBQUNwRTtBQUdKOzs7OyJ9
@@ -0,0 +1,5 @@
1
+ import type { Worker } from "node:worker_threads";
2
+ export declare const setWorker: (w: Worker | null) => void;
3
+ export declare const getWorker: () => Worker | null;
4
+ export declare const clearWorker: () => void;
5
+ //# sourceMappingURL=workerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/workerManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,GAAG,IAAI,SAEzC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,MAAM,GAAG,IAErC,CAAC;AAEF,eAAO,MAAM,WAAW,YAEvB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ let worker = null;
7
+ const setWorker = (w) => {
8
+ worker = w;
9
+ };
10
+ const getWorker = () => {
11
+ return worker;
12
+ };
13
+ const clearWorker = () => {
14
+ worker = null;
15
+ };
16
+
17
+ export { clearWorker, getWorker, setWorker };
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyTWFuYWdlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvd29ya2VyTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdvcmtlciB9IGZyb20gXCJub2RlOndvcmtlcl90aHJlYWRzXCI7XG5cbi8vIFNpbXBsZSBtb2R1bGUtbGV2ZWwgd29ya2VyIHJlZmVyZW5jZSBmb3IgZGV2IHNlcnZlciBjb250ZXh0XG5sZXQgd29ya2VyOiBXb3JrZXIgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHNldFdvcmtlciA9ICh3OiBXb3JrZXIgfCBudWxsKSA9PiB7XG4gIHdvcmtlciA9IHc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0V29ya2VyID0gKCk6IFdvcmtlciB8IG51bGwgPT4ge1xuICByZXR1cm4gd29ya2VyO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyV29ya2VyID0gKCkgPT4ge1xuICB3b3JrZXIgPSBudWxsO1xufTsgIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsSUFBSSxNQUF3QixHQUFBLElBQUE7QUFFZixNQUFBLFNBQUEsR0FBWSxDQUFDLENBQXFCLEtBQUE7QUFDN0MsRUFBUyxNQUFBLEdBQUEsQ0FBQTtBQUNYO0FBRU8sTUFBTSxZQUFZLE1BQXFCO0FBQzVDLEVBQU8sT0FBQSxNQUFBO0FBQ1Q7QUFFTyxNQUFNLGNBQWMsTUFBTTtBQUMvQixFQUFTLE1BQUEsR0FBQSxJQUFBO0FBQ1g7Ozs7In0=
@@ -1,2 +1,5 @@
1
- export declare const vitePluginReactServer: any;
1
+ import type { VitePluginMainFn } from './types.js';
2
+ export declare const condition: "client" | "server";
3
+ export declare const vitePluginReactServer: VitePluginMainFn, vitePluginReactClient: VitePluginMainFn;
4
+ export { createPluginOrchestrator } from './orchestrator/createPluginOrchestrator.js';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAQ,qBAAqB,KAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,SAAS,qBAAmB,CAAC;AAC1C,eAAO,MAAQ,qBAAqB,oBAAE,qBAAqB,kBAAmJ,CAAC;AAG/M,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import { getCondition } from './config/getCondition.js';
2
- const condition = getCondition('');
3
- export const { vitePluginReactServer } = await import(`./plugin.${condition}.js`);
2
+ import { pluginRoot } from './root.js';
3
+ export const condition = getCondition('');
4
+ export const { vitePluginReactServer, vitePluginReactClient } = (await import(`${pluginRoot}/plugin.${condition}.js`));
5
+ // Export the orchestrator for direct use
6
+ export { createPluginOrchestrator } from './orchestrator/createPluginOrchestrator.js';
@@ -20,5 +20,5 @@ export type Loader = {
20
20
  * - Returns a loader function that takes a module ID and returns a LoaderResult
21
21
  * - Used by the plugin to create loaders for different environments
22
22
  */
23
- export declare function createDefaultLoader(defaultSource: string, defaultId?: string, verbose?: boolean): (url: string, context?: Partial<LoadHookContext>, nextLoad?: (url: string, context?: Partial<LoadHookContext>) => LoadFnOutput | Promise<LoadFnOutput>) => Promise<LoadFnOutput>;
23
+ export declare function createDefaultLoader(defaultSource: string, defaultId?: string): (url: string, context?: Partial<LoadHookContext>, nextLoad?: (url: string, context?: Partial<LoadHookContext>) => LoadFnOutput | Promise<LoadFnOutput>) => Promise<LoadFnOutput>;
24
24
  //# sourceMappingURL=createDefaultLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createDefaultLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKjE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,CACE,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,aAAa,EACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,GAC/C,YAAY,CAAC;CACjB,CAAC;AAgBF;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,SAAS,SAAU,EACnB,OAAO,UAAQ,GACd,CACD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EAClC,QAAQ,CAAC,EAAE,CACT,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC/B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,KACtC,OAAO,CAAC,YAAY,CAAC,CAgFzB"}
1
+ {"version":3,"file":"createDefaultLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createDefaultLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKjE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,CACE,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,aAAa,EACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,GAC/C,YAAY,CAAC;CACjB,CAAC;AAgBF;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,SAAS,SAAU,GAClB,CACD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EAClC,QAAQ,CAAC,EAAE,CACT,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAC/B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,KACtC,OAAO,CAAC,YAAY,CAAC,CA4DzB"}
@@ -18,7 +18,7 @@ const defaultNextLoad = async (url) => {
18
18
  map: result.map
19
19
  };
20
20
  };
21
- function createDefaultLoader(defaultSource, defaultId = "index", verbose = false) {
21
+ function createDefaultLoader(defaultSource, defaultId = "index") {
22
22
  const defaultSourceNextLoad = typeof defaultSource === "string" ? async (url = defaultId) => {
23
23
  const result = await transformWithEsbuild(defaultSource, url, {
24
24
  loader: "tsx",
@@ -36,38 +36,18 @@ function createDefaultLoader(defaultSource, defaultId = "index", verbose = false
36
36
  conditions: ["react-server"],
37
37
  importAttributes: {}
38
38
  }, nextLoad = defaultSourceNextLoad) => {
39
- if (verbose) {
40
- console.log("[createDefaultLoader] Loading:", url);
41
- console.log("[createDefaultLoader] Context:", {
42
- format: context.format,
43
- conditions: context.conditions
44
- });
45
- }
46
39
  const { format } = context;
47
40
  if (format === "module" || format === "module-typescript") {
48
- if (verbose) {
49
- console.log("[createDefaultLoader] Loading module:", url);
50
- }
51
41
  const result = await nextLoad(url, context);
52
- if (verbose) {
53
- console.log("[createDefaultLoader] Next load result:", {
54
- format: result.format,
55
- shortCircuit: result.shortCircuit,
56
- source: typeof result.source
57
- });
58
- }
59
42
  const source = typeof result.source === "string" ? result.source : result.source instanceof Uint8Array || result.source instanceof ArrayBuffer || result.source instanceof Uint8ClampedArray || result.source instanceof Uint16Array || result.source instanceof Uint32Array || result.source instanceof Int8Array || result.source instanceof Int16Array || result.source instanceof Int32Array || result.source instanceof Float32Array || result.source instanceof Float64Array || result.source instanceof BigUint64Array || result.source instanceof BigInt64Array ? new TextDecoder().decode(result.source) : defaultSource;
60
43
  return {
61
44
  ...result,
62
45
  source
63
46
  };
64
47
  }
65
- if (verbose) {
66
- console.log("[createDefaultLoader] Skipping non-module format:", format);
67
- }
68
48
  return nextLoad(url, context);
69
49
  };
70
50
  }
71
51
 
72
52
  export { createDefaultLoader };
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVmYXVsdExvYWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2xvYWRlci9jcmVhdGVEZWZhdWx0TG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9hZGVyQ29udGV4dCB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSYXdTb3VyY2VNYXAgfSBmcm9tIFwic291cmNlLW1hcFwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkRm5PdXRwdXQsIExvYWRIb29rQ29udGV4dCB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkSG9vayB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2l0aEVzYnVpbGQgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuXG5leHBvcnQgdHlwZSBMb2FkZXJSZXN1bHQgPSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtYXA6IFJhd1NvdXJjZU1hcCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBMb2FkZXIgPSB7XG4gIChcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbnRleHQ/OiBMb2FkZXJDb250ZXh0LFxuICAgIG5leHRMb2FkPzogKGlkOiBzdHJpbmcpID0+IFByb21pc2U8TG9hZGVyUmVzdWx0PlxuICApOiBMb2FkZXJSZXN1bHQ7XG59O1xuXG5cbmNvbnN0IGRlZmF1bHROZXh0TG9hZDogUGFyYW1ldGVyczxMb2FkSG9vaz5bMl0gPSBhc3luYyAodXJsKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybVdpdGhFc2J1aWxkKGF3YWl0IHJlYWRGaWxlKHVybCwgXCJ1dGYtOFwiKSwgdXJsLCB7XG4gICAgbG9hZGVyOiBcInRzeFwiLFxuICAgIGZvcm1hdDogXCJlc21cIixcbiAgICBzb3VyY2VtYXA6IFwiZXh0ZXJuYWxcIixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgc291cmNlOiByZXN1bHQuY29kZSxcbiAgICBmb3JtYXQ6IFwibW9kdWxlXCIsXG4gICAgbWFwOiByZXN1bHQubWFwLFxuICB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZ1bmN0aW9uIHRoYXQgdHJhbnNmb3JtcyBtb2R1bGVzIGFuZCBoYW5kbGVzIHNvdXJjZSBtYXBzLlxuICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBpbiB0d28gd2F5czpcbiAqXG4gKiAxLiBBcyBhIGRpcmVjdCB0cmFuc2Zvcm1lcjpcbiAqICAgIC0gVGFrZXMgc291cmNlIGNvZGUgYW5kIHJldHVybnMgdHJhbnNmb3JtZWQgY29kZSB3aXRoIHNvdXJjZSBtYXAgYXR0YWNoZWRcbiAqICAgIC0gVXNlZCBieSB0cmFuc2Zvcm1Nb2R1bGVJZk5lZWRlZFxuICpcbiAqIDIuIEFzIGEgbG9hZGVyIGZhY3Rvcnk6XG4gKiAgICAtIFJldHVybnMgYSBsb2FkZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIG1vZHVsZSBJRCBhbmQgcmV0dXJucyBhIExvYWRlclJlc3VsdFxuICogICAgLSBVc2VkIGJ5IHRoZSBwbHVnaW4gdG8gY3JlYXRlIGxvYWRlcnMgZm9yIGRpZmZlcmVudCBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRMb2FkZXIoXG4gIGRlZmF1bHRTb3VyY2U6IHN0cmluZyxcbiAgZGVmYXVsdElkID0gXCJpbmRleFwiLFxuICB2ZXJib3NlID0gZmFsc2Vcbik6IChcbiAgdXJsOiBzdHJpbmcsXG4gIGNvbnRleHQ/OiBQYXJ0aWFsPExvYWRIb29rQ29udGV4dD4sXG4gIG5leHRMb2FkPzogKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGNvbnRleHQ/OiBQYXJ0aWFsPExvYWRIb29rQ29udGV4dD5cbiAgKSA9PiBMb2FkRm5PdXRwdXQgfCBQcm9taXNlPExvYWRGbk91dHB1dD5cbikgPT4gUHJvbWlzZTxMb2FkRm5PdXRwdXQ+IHtcblxuICBjb25zdCBkZWZhdWx0U291cmNlTmV4dExvYWQ6IFBhcmFtZXRlcnM8TG9hZEhvb2s+WzJdID1cbiAgICB0eXBlb2YgZGVmYXVsdFNvdXJjZSA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBhc3luYyAodXJsID0gZGVmYXVsdElkKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHJhbnNmb3JtV2l0aEVzYnVpbGQoZGVmYXVsdFNvdXJjZSwgdXJsLCB7XG4gICAgICAgICAgICBsb2FkZXI6IFwidHN4XCIsXG4gICAgICAgICAgICBmb3JtYXQ6IFwiZXNtXCIsXG4gICAgICAgICAgICBzb3VyY2VtYXA6IFwiZXh0ZXJuYWxcIixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc291cmNlOiByZXN1bHQuY29kZSxcbiAgICAgICAgICAgIGZvcm1hdDogXCJtb2R1bGVcIixcbiAgICAgICAgICAgIG1hcDogcmVzdWx0Lm1hcCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICA6IGRlZmF1bHROZXh0TG9hZDtcblxuICByZXR1cm4gYXN5bmMgKFxuICAgIHVybCA9IGRlZmF1bHRJZCxcbiAgICBjb250ZXh0ID0ge1xuICAgICAgZm9ybWF0OiBcIm1vZHVsZVwiLFxuICAgICAgY29uZGl0aW9uczogW1wicmVhY3Qtc2VydmVyXCJdLFxuICAgICAgaW1wb3J0QXR0cmlidXRlczoge30sXG4gICAgfSxcbiAgICBuZXh0TG9hZCA9IGRlZmF1bHRTb3VyY2VOZXh0TG9hZFxuICApID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coXCJbY3JlYXRlRGVmYXVsdExvYWRlcl0gTG9hZGluZzpcIiwgdXJsKTtcbiAgICAgIGNvbnNvbGUubG9nKFwiW2NyZWF0ZURlZmF1bHRMb2FkZXJdIENvbnRleHQ6XCIsIHtcbiAgICAgICAgZm9ybWF0OiBjb250ZXh0LmZvcm1hdCxcbiAgICAgICAgY29uZGl0aW9uczogY29udGV4dC5jb25kaXRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmb3JtYXQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGZvcm1hdCA9PT0gXCJtb2R1bGVcIiB8fCBmb3JtYXQgPT09IFwibW9kdWxlLXR5cGVzY3JpcHRcIikge1xuICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJbY3JlYXRlRGVmYXVsdExvYWRlcl0gTG9hZGluZyBtb2R1bGU6XCIsIHVybCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5leHRMb2FkKHVybCwgY29udGV4dCk7XG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIltjcmVhdGVEZWZhdWx0TG9hZGVyXSBOZXh0IGxvYWQgcmVzdWx0OlwiLCB7XG4gICAgICAgICAgZm9ybWF0OiByZXN1bHQuZm9ybWF0LFxuICAgICAgICAgIHNob3J0Q2lyY3VpdDogcmVzdWx0LnNob3J0Q2lyY3VpdCxcbiAgICAgICAgICBzb3VyY2U6IHR5cGVvZiByZXN1bHQuc291cmNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlID1cbiAgICAgICAgdHlwZW9mIHJlc3VsdC5zb3VyY2UgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICA/IHJlc3VsdC5zb3VyY2VcbiAgICAgICAgICA6IHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBVaW50OEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIFVpbnQxNkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgVWludDMyQXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBJbnQ4QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBJbnQxNkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgSW50MzJBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEJpZ1VpbnQ2NEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgQmlnSW50NjRBcnJheVxuICAgICAgICAgID8gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHJlc3VsdC5zb3VyY2UpXG4gICAgICAgICAgOiBkZWZhdWx0U291cmNlO1xuXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIltjcmVhdGVEZWZhdWx0TG9hZGVyXSBTa2lwcGluZyBub24tbW9kdWxlIGZvcm1hdDpcIiwgZm9ybWF0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHRMb2FkKHVybCwgY29udGV4dCk7XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFxQkEsTUFBTSxlQUFBLEdBQTJDLE9BQU8sR0FBUSxLQUFBO0FBQzlELEVBQU0sTUFBQSxNQUFBLEdBQVMsTUFBTSxvQkFBcUIsQ0FBQSxNQUFNLFNBQVMsR0FBSyxFQUFBLE9BQU8sR0FBRyxHQUFLLEVBQUE7QUFBQSxJQUMzRSxNQUFRLEVBQUEsS0FBQTtBQUFBLElBQ1IsTUFBUSxFQUFBLEtB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
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVmYXVsdExvYWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2xvYWRlci9jcmVhdGVEZWZhdWx0TG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9hZGVyQ29udGV4dCB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSYXdTb3VyY2VNYXAgfSBmcm9tIFwic291cmNlLW1hcFwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkRm5PdXRwdXQsIExvYWRIb29rQ29udGV4dCB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkSG9vayB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2l0aEVzYnVpbGQgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuXG5leHBvcnQgdHlwZSBMb2FkZXJSZXN1bHQgPSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtYXA6IFJhd1NvdXJjZU1hcCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBMb2FkZXIgPSB7XG4gIChcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbnRleHQ/OiBMb2FkZXJDb250ZXh0LFxuICAgIG5leHRMb2FkPzogKGlkOiBzdHJpbmcpID0+IFByb21pc2U8TG9hZGVyUmVzdWx0PlxuICApOiBMb2FkZXJSZXN1bHQ7XG59O1xuXG5cbmNvbnN0IGRlZmF1bHROZXh0TG9hZDogUGFyYW1ldGVyczxMb2FkSG9vaz5bMl0gPSBhc3luYyAodXJsKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybVdpdGhFc2J1aWxkKGF3YWl0IHJlYWRGaWxlKHVybCwgXCJ1dGYtOFwiKSwgdXJsLCB7XG4gICAgbG9hZGVyOiBcInRzeFwiLFxuICAgIGZvcm1hdDogXCJlc21cIixcbiAgICBzb3VyY2VtYXA6IFwiZXh0ZXJuYWxcIixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgc291cmNlOiByZXN1bHQuY29kZSxcbiAgICBmb3JtYXQ6IFwibW9kdWxlXCIsXG4gICAgbWFwOiByZXN1bHQubWFwLFxuICB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZ1bmN0aW9uIHRoYXQgdHJhbnNmb3JtcyBtb2R1bGVzIGFuZCBoYW5kbGVzIHNvdXJjZSBtYXBzLlxuICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBpbiB0d28gd2F5czpcbiAqXG4gKiAxLiBBcyBhIGRpcmVjdCB0cmFuc2Zvcm1lcjpcbiAqICAgIC0gVGFrZXMgc291cmNlIGNvZGUgYW5kIHJldHVybnMgdHJhbnNmb3JtZWQgY29kZSB3aXRoIHNvdXJjZSBtYXAgYXR0YWNoZWRcbiAqICAgIC0gVXNlZCBieSB0cmFuc2Zvcm1Nb2R1bGVJZk5lZWRlZFxuICpcbiAqIDIuIEFzIGEgbG9hZGVyIGZhY3Rvcnk6XG4gKiAgICAtIFJldHVybnMgYSBsb2FkZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIG1vZHVsZSBJRCBhbmQgcmV0dXJucyBhIExvYWRlclJlc3VsdFxuICogICAgLSBVc2VkIGJ5IHRoZSBwbHVnaW4gdG8gY3JlYXRlIGxvYWRlcnMgZm9yIGRpZmZlcmVudCBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRMb2FkZXIoXG4gIGRlZmF1bHRTb3VyY2U6IHN0cmluZyxcbiAgZGVmYXVsdElkID0gXCJpbmRleFwiLFxuKTogKFxuICB1cmw6IHN0cmluZyxcbiAgY29udGV4dD86IFBhcnRpYWw8TG9hZEhvb2tDb250ZXh0PixcbiAgbmV4dExvYWQ/OiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgY29udGV4dD86IFBhcnRpYWw8TG9hZEhvb2tDb250ZXh0PlxuICApID0+IExvYWRGbk91dHB1dCB8IFByb21pc2U8TG9hZEZuT3V0cHV0PlxuKSA9PiBQcm9taXNlPExvYWRGbk91dHB1dD4ge1xuXG4gIGNvbnN0IGRlZmF1bHRTb3VyY2VOZXh0TG9hZDogUGFyYW1ldGVyczxMb2FkSG9vaz5bMl0gPVxuICAgIHR5cGVvZiBkZWZhdWx0U291cmNlID09PSBcInN0cmluZ1wiXG4gICAgICA/IGFzeW5jICh1cmwgPSBkZWZhdWx0SWQpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm1XaXRoRXNidWlsZChkZWZhdWx0U291cmNlLCB1cmwsIHtcbiAgICAgICAgICAgIGxvYWRlcjogXCJ0c3hcIixcbiAgICAgICAgICAgIGZvcm1hdDogXCJlc21cIixcbiAgICAgICAgICAgIHNvdXJjZW1hcDogXCJleHRlcm5hbFwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzb3VyY2U6IHJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgZm9ybWF0OiBcIm1vZHVsZVwiLFxuICAgICAgICAgICAgbWFwOiByZXN1bHQubWFwLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIDogZGVmYXVsdE5leHRMb2FkO1xuXG4gIHJldHVybiBhc3luYyAoXG4gICAgdXJsID0gZGVmYXVsdElkLFxuICAgIGNvbnRleHQgPSB7XG4gICAgICBmb3JtYXQ6IFwibW9kdWxlXCIsXG4gICAgICBjb25kaXRpb25zOiBbXCJyZWFjdC1zZXJ2ZXJcIl0sXG4gICAgICBpbXBvcnRBdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICAgIG5leHRMb2FkID0gZGVmYXVsdFNvdXJjZU5leHRMb2FkXG4gICkgPT4ge1xuXG4gICAgY29uc3QgeyBmb3JtYXQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGZvcm1hdCA9PT0gXCJtb2R1bGVcIiB8fCBmb3JtYXQgPT09IFwibW9kdWxlLXR5cGVzY3JpcHRcIikge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXh0TG9hZCh1cmwsIGNvbnRleHQpO1xuXG4gICAgICBjb25zdCBzb3VyY2UgPVxuICAgICAgICB0eXBlb2YgcmVzdWx0LnNvdXJjZSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gcmVzdWx0LnNvdXJjZVxuICAgICAgICAgIDogcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgVWludDE2QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBVaW50MzJBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEludDhBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEludDE2QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBJbnQzMkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgQmlnVWludDY0QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBCaWdJbnQ2NEFycmF5XG4gICAgICAgICAgPyBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocmVzdWx0LnNvdXJjZSlcbiAgICAgICAgICA6IGRlZmF1bHRTb3VyY2U7XG5cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRMb2FkKHVybCwgY29udGV4dCk7XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFxQkEsTUFBTSxlQUFBLEdBQTJDLE9BQU8sR0FBUSxLQUFBO0FBQzlELEVBQU0sTUFBQSxNQUFBLEdBQVMsTUFBTSxvQkFBcUIsQ0FBQSxNQUFNLFNBQVMsR0FBSyxFQUFBLE9BQU8sR0FBRyxHQUFLLEVBQUE7QUFBQSxJQUMzRSxNQUFRLEVBQUEsS0FBQTtBQUFBLElBQ1IsTUFBUSxFQUFBLEtBQUE7QUFBQSxJQUNSLFNBQVcsRUFBQTtBQUFBLEdBQ1osQ0FBQTtBQUNELEVBQU8sT0FBQTtBQUFBLElBQ0wsUUFBUSxNQUFPLENBQUEsSUFBQTtBQUFBLElBQ2YsTUFBUSxFQUFBLFFBQUE7QUFBQSxJQUNSLEtBQUssTUFBTyxDQUFBO0FBQUEsR0FDZDtBQUNGLENBQUE7QUFjTyxTQUFTLG1CQUFBLENBQ2QsYUFDQSxFQUFBLFNBQUEsR0FBWSxPQVFhLEVBQUE7QUFFekIsRUFBQSxNQUFNLHdCQUNKLE9BQU8sYUFBQSxLQUFrQixRQUNyQixHQUFBLE9BQU8sTUFBTSxTQUFjLEtBQUE7QUFDekIsSUFBQSxNQUFNLE1BQVMsR0FBQSxNQUFNLG9CQUFxQixDQUFBLGFBQUEsRUFBZSxHQUFLLEVBQUE7QUFBQSxNQUM1RCxNQUFRLEVBQUEsS0FBQTtBQUFBLE1BQ1IsTUFBUSxFQUFBLEtBQUE7QUFBQSxNQUNSLFNBQVcsRUFBQTtBQUFBLEtBQ1osQ0FBQTtBQUNELElBQU8sT0FBQTtBQUFBLE1BQ0wsUUFBUSxNQUFPLENBQUEsSUFBQTtBQUFBLE1BQ2YsTUFBUSxFQUFBLFFBQUE7QUFBQSxNQUNSLEtBQUssTUFBTyxDQUFBO0FBQUEsS0FDZDtBQUFBLEdBRUYsR0FBQSxlQUFBO0FBRU4sRUFBTyxPQUFBLE9BQ0wsR0FBTSxHQUFBLFNBQUEsRUFDTixPQUFVLEdBQUE7QUFBQSxJQUNSLE1BQVEsRUFBQSxRQUFBO0FBQUEsSUFDUixVQUFBLEVBQVksQ0FBQyxjQUFjLENBQUE7QUFBQSxJQUMzQixrQkFBa0I7QUFBQyxHQUNyQixFQUNBLFdBQVcscUJBQ1IsS0FBQTtBQUVILElBQU0sTUFBQSxFQUFFLFFBQVcsR0FBQSxPQUFBO0FBQ25CLElBQUksSUFBQSxNQUFBLEtBQVcsUUFBWSxJQUFBLE1BQUEsS0FBVyxtQkFBcUIsRUFBQTtBQUV6RCxNQUFBLE1BQU0sTUFBUyxHQUFBLE1BQU0sUUFBUyxDQUFBLEdBQUEsRUFBSyxPQUFPLENBQUE7QUFFMUMsTUFBTSxNQUFBLE1BQUEsR0FDSixPQUFPLE1BQU8sQ0FBQSxNQUFBLEtBQVcsV0FDckIsTUFBTyxDQUFBLE1BQUEsR0FDUCxNQUFPLENBQUEsTUFBQSxZQUFrQixVQUN6QixJQUFBLE1BQUEsQ0FBTyxrQkFBa0IsV0FDekIsSUFBQSxNQUFBLENBQU8sa0JBQWtCLGlCQUN6QixJQUFBLE1BQUEsQ0FBTyxrQkFBa0IsV0FDekIsSUFBQSxNQUFBLENBQU8sTUFBa0IsWUFBQSxXQUFBLElBQ3pCLE1BQU8sQ0FBQSxNQUFBLFlBQWtCLGFBQ3pCLE1BQU8sQ0FBQSxNQUFBLFlBQWtCLGNBQ3pCLE1BQU8sQ0FBQSxNQUFBLFlBQWtCLGNBQ3pCLE1BQU8sQ0FBQSxNQUFBLFlBQWtCLFlBQ3pCLElBQUEsTUFBQSxDQUFPLE1BQWtCLFlBQUEsWUFBQSxJQUN6QixPQUFPLE1BQWtCLFlBQUEsY0FBQSxJQUN6QixNQUFPLENBQUEsTUFBQSxZQUFrQixhQUN6QixHQUFBLElBQUksYUFBYyxDQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsTUFBTSxDQUN0QyxHQUFBLGFBQUE7QUFHTixNQUFPLE9BQUE7QUFBQSxRQUNMLEdBQUcsTUFBQTtBQUFBLFFBQ0g7QUFBQSxPQUNGO0FBQUE7QUFHRixJQUFPLE9BQUEsUUFBQSxDQUFTLEtBQUssT0FBTyxDQUFBO0FBQUEsR0FDOUI7QUFDRjs7OzsifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"createTransformer.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAiG/B,CAAC"}
1
+ {"version":3,"file":"createTransformer.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createTransformer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAOtE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBA+R/B,CAAC"}
@@ -4,21 +4,41 @@
4
4
  * MIT License
5
5
  */
6
6
  import { transformModule } from './transformModule.js';
7
+ import { transformNonServerEnvironment } from './transformNonServerEnvironment.js';
7
8
  import { isReactServerCondition } from '../config/getCondition.js';
8
9
  import { analyzeModule } from './directives/analyzeModule.js';
9
10
  import { findDirectiveMatches } from './directives/findDirectiveMatches.js';
10
11
  import { DEFAULT_LOADER_CONFIG } from '../config/defaults.js';
11
- import { getNodeEnv } from '../getNodeEnv.js';
12
+ import { getNodeEnv } from '../config/getNodeEnv.js';
13
+ import { createLogger } from 'vite';
14
+ import pkg from 'picocolors';
12
15
 
16
+ const { red, underline } = pkg;
13
17
  const createTransformer = ({
14
18
  options,
15
19
  forceServerFunction = void 0,
16
20
  forceClientComponent = void 0,
17
21
  isServerEnvironment = isReactServerCondition()
18
22
  }) => {
19
- return async (source, moduleId) => {
20
- if (options.verbose) {
21
- console.log(`[createTransformer] Loading: ${moduleId}`);
23
+ const {
24
+ verbose,
25
+ logger = createLogger(),
26
+ loader = DEFAULT_LOADER_CONFIG
27
+ } = options;
28
+ const explicitForceServerFunction = forceServerFunction !== void 0;
29
+ const explicitForceClientComponent = forceClientComponent !== void 0;
30
+ const initialForceServerFunction = forceServerFunction;
31
+ const initialForceClientComponent = forceClientComponent;
32
+ return async (source, moduleId, transformedModuleId = loader?.moduleID?.(moduleId) ?? moduleId) => {
33
+ forceServerFunction = initialForceServerFunction;
34
+ forceClientComponent = initialForceClientComponent;
35
+ if (verbose) {
36
+ logger.info(`[createTransformer] moduleID function called: ${moduleId} -> ${transformedModuleId}`);
37
+ }
38
+ if (verbose && moduleId.includes("client")) {
39
+ logger.info(
40
+ `[createTransformer:${isServerEnvironment ? "server" : "client"}] Loading: ${moduleId}`
41
+ );
22
42
  }
23
43
  const matches = findDirectiveMatches(source);
24
44
  const hasServerDirective = matches.matches.some(
@@ -28,11 +48,106 @@ const createTransformer = ({
28
48
  (m) => m.type === "client"
29
49
  );
30
50
  if (hasClientDirective === false && hasServerDirective === false) {
31
- return { code: source, map: null };
51
+ if (isServerEnvironment && loader?.isClientComponentByName?.(moduleId, transformedModuleId)) {
52
+ if (verbose) {
53
+ logger.info(
54
+ `[createTransformer:server] Transforming client file without directive: ${moduleId}`
55
+ );
56
+ }
57
+ forceClientComponent = true;
58
+ } else if (!isServerEnvironment && !hasClientDirective && !hasServerDirective && !loader?.isClientComponentByName?.(moduleId, transformedModuleId) && !moduleId.includes("node_modules")) {
59
+ if (verbose) {
60
+ logger.info(
61
+ `[createTransformer:non-server] Hiding server component in non-server environment: ${moduleId}`
62
+ );
63
+ }
64
+ return { code: source, map: null };
65
+ } else {
66
+ if (hasClientDirective || hasServerDirective) {
67
+ if (verbose) {
68
+ logger.info(
69
+ `[createTransformer:client] Transforming file with directives: ${moduleId}`
70
+ );
71
+ }
72
+ const parseResult2 = await analyzeModule(source, {
73
+ ...options,
74
+ logger,
75
+ loader
76
+ });
77
+ if (parseResult2.type === "success") {
78
+ const result = await transformNonServerEnvironment(
79
+ source,
80
+ moduleId,
81
+ transformedModuleId,
82
+ parseResult2,
83
+ loader
84
+ );
85
+ if (verbose) {
86
+ logger.info(
87
+ `[createTransformer:client] Transformed result for ${moduleId}: ${result.code.substring(
88
+ 0,
89
+ 100
90
+ )}`
91
+ );
92
+ }
93
+ return result;
94
+ }
95
+ } else {
96
+ if (loader?.isClientComponentByName?.(moduleId, transformedModuleId)) {
97
+ if (verbose) {
98
+ logger.info(
99
+ `[createTransformer:client] Transforming client component without directives: ${moduleId}`
100
+ );
101
+ }
102
+ const parseResult2 = await analyzeModule(source, {
103
+ ...options,
104
+ logger,
105
+ loader
106
+ });
107
+ if (parseResult2.type === "success") {
108
+ const result = await transformNonServerEnvironment(
109
+ source,
110
+ moduleId,
111
+ transformedModuleId,
112
+ parseResult2,
113
+ loader
114
+ );
115
+ if (verbose) {
116
+ logger.info(
117
+ `[createTransformer:client] Transformed result for ${moduleId}: ${result.code.substring(
118
+ 0,
119
+ 100
120
+ )}`
121
+ );
122
+ }
123
+ return result;
124
+ }
125
+ }
126
+ }
127
+ return { code: source, map: null };
128
+ }
129
+ } else {
130
+ if (hasClientDirective) {
131
+ forceClientComponent = true;
132
+ }
133
+ if (hasServerDirective) {
134
+ forceServerFunction = true;
135
+ }
136
+ if (isServerEnvironment && forceClientComponent) {
137
+ const isAlreadyTransformed = source.includes(
138
+ options?.loader?.registerClientReferenceName ?? "registerClientReference"
139
+ );
140
+ if (isAlreadyTransformed) {
141
+ logger.warn(
142
+ `[createTransformer] File already transformed ${moduleId}. This call was not needed.`
143
+ );
144
+ return { code: source, map: null };
145
+ }
146
+ }
32
147
  }
33
- const loader = options.loader ?? DEFAULT_LOADER_CONFIG;
34
148
  const parseResult = await analyzeModule(source, {
35
149
  ...options,
150
+ logger,
36
151
  loader
37
152
  });
38
153
  if (parseResult.directiveInfo && parseResult.directiveInfo.warnings.length > 0) {
@@ -43,30 +158,37 @@ const createTransformer = ({
43
158
  const [start, end] = warning.range;
44
159
  const lines = source.split("\n");
45
160
  const startLine = source.slice(0, start).split("\n").length;
46
- console.warn(`Warning: ${warning.message}`);
161
+ logger.warn(`Warning: ${warning.message}`);
47
162
  const contextLines = 2;
48
163
  const minLine = Math.max(1, startLine - contextLines);
49
164
  const maxLine = Math.min(lines.length, startLine + contextLines);
50
- console.warn("");
51
165
  for (let i = minLine; i <= maxLine; i++) {
52
166
  const lineNum = i.toString().padStart(3, " ");
53
167
  const isErrorLine = i === startLine;
54
168
  const prefix = isErrorLine ? ">" : " ";
55
169
  const line = lines[i - 1] || "";
56
170
  if (isErrorLine) {
57
- console.warn(`${prefix} ${lineNum} | ${line}`);
58
171
  const lineStart = source.lastIndexOf("\n", start - 1) + 1;
59
172
  const columnPos = Math.max(0, start - lineStart);
60
173
  const directiveLength = Math.max(1, end - start);
61
- const pointer = " ".repeat(7 + columnPos) + "^".repeat(directiveLength);
62
- console.warn(` ${pointer}`);
63
- } else {
64
- console.warn(` ${lineNum} | ${line}`);
174
+ const beforeDirective = line.slice(0, columnPos);
175
+ const directiveText = line.slice(
176
+ columnPos,
177
+ columnPos + directiveLength
178
+ );
179
+ const afterDirective = line.slice(columnPos + directiveLength);
180
+ logger.warn(
181
+ `${prefix} ${lineNum} | ${beforeDirective}${red(
182
+ underline(directiveText)
183
+ )}${afterDirective}`
184
+ );
185
+ } else if (line.trim() !== "") {
186
+ logger.warn(` ${lineNum} | ${line}`);
65
187
  }
66
188
  }
67
- console.warn("");
189
+ logger.warn("");
68
190
  if (options.verbose) {
69
- console.warn(` range: [${start}, ${end}]`);
191
+ logger.warn(` range: [${start}, ${end}]`);
70
192
  }
71
193
  } else {
72
194
  throw new Error(warning.message);
@@ -76,17 +198,25 @@ const createTransformer = ({
76
198
  if (parseResult.type !== "success") {
77
199
  return { code: source, map: null };
78
200
  }
79
- return await transformModule(source, moduleId, parseResult, {
80
- forceServerFunction: forceServerFunction ?? hasServerDirective,
81
- forceClientComponent: forceClientComponent ?? hasClientDirective,
82
- isServerEnvironment,
83
- loader: options.loader,
84
- directiveWarnings: parseResult.directiveInfo.warnings,
85
- verbose: options.verbose || false,
86
- panicThreshold: options.panicThreshold || "none"
87
- });
201
+ const finalForceServerFunction = isServerEnvironment ? forceServerFunction ?? hasServerDirective : explicitForceServerFunction ? forceServerFunction : void 0;
202
+ const finalForceClientComponent = isServerEnvironment ? forceClientComponent ?? hasClientDirective : explicitForceClientComponent ? forceClientComponent : void 0;
203
+ return await transformModule(
204
+ source,
205
+ moduleId,
206
+ transformedModuleId,
207
+ parseResult,
208
+ {
209
+ forceServerFunction: finalForceServerFunction,
210
+ forceClientComponent: finalForceClientComponent,
211
+ isServerEnvironment,
212
+ loader: options.loader,
213
+ directiveWarnings: parseResult.directiveInfo.warnings,
214
+ verbose: options.verbose || false,
215
+ panicThreshold: options.panicThreshold || "none"
216
+ }
217
+ );
88
218
  };
89
219
  };
90
220
 
91
221
  export { createTransformer };
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVHJhbnNmb3JtZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9sb2FkZXIvY3JlYXRlVHJhbnNmb3JtZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNmb3JtTW9kdWxlIH0gZnJvbSBcIi4vdHJhbnNmb3JtTW9kdWxlLmpzXCI7XG5pbXBvcnQgeyBpc1JlYWN0U2VydmVyQ29uZGl0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZy9nZXRDb25kaXRpb24uanNcIjtcbmltcG9ydCB7IGFuYWx5emVNb2R1bGUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2FuYWx5emVNb2R1bGUuanNcIjtcbmltcG9ydCB7IGZpbmREaXJlY3RpdmVNYXRjaGVzIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9maW5kRGlyZWN0aXZlTWF0Y2hlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVNYXRjaCB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdHlwZXMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtZXJGYWN0b3J5LCBUcmFuc2Zvcm1SZXN1bHQgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0FERVJfQ09ORklHIH0gZnJvbSBcIi4uL2NvbmZpZy9kZWZhdWx0cy5qc1wiO1xuaW1wb3J0IHsgZ2V0Tm9kZUVudiB9IGZyb20gXCIuLi9nZXROb2RlRW52LmpzXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRyYW5zZm9ybWVyIHRoYXQgaGFuZGxlcyBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyAoUlNDKSBib3VuZGFyaWVzLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlVHJhbnNmb3JtZXI6IFRyYW5zZm9ybWVyRmFjdG9yeSA9ICh7XG4gIG9wdGlvbnMsXG4gIGZvcmNlU2VydmVyRnVuY3Rpb24gPSB1bmRlZmluZWQsXG4gIGZvcmNlQ2xpZW50Q29tcG9uZW50ID0gdW5kZWZpbmVkLFxuICBpc1NlcnZlckVudmlyb25tZW50ID0gaXNSZWFjdFNlcnZlckNvbmRpdGlvbigpLFxufSkgPT4ge1xuICByZXR1cm4gYXN5bmMgKHNvdXJjZTogc3RyaW5nLCBtb2R1bGVJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+ID0+IHtcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgW2NyZWF0ZVRyYW5zZm9ybWVyXSBMb2FkaW5nOiAke21vZHVsZUlkfWApO1xuICAgIH1cblxuICAgIC8vIEZhc3QtcGF0aDogc2tpcCBwYXJzaW5nIGFuZCB0cmFuc2Zvcm1hdGlvbiBpZiBubyBkaXJlY3RpdmVzIGFyZSBwcmVzZW50XG4gICAgY29uc3QgbWF0Y2hlcyA9IGZpbmREaXJlY3RpdmVNYXRjaGVzKHNvdXJjZSk7XG4gICAgY29uc3QgaGFzU2VydmVyRGlyZWN0aXZlID0gbWF0Y2hlcy5tYXRjaGVzLnNvbWUoXG4gICAgICAobTogRGlyZWN0aXZlTWF0Y2gpID0+IG0udHlwZSA9PT0gXCJzZXJ2ZXJcIlxuICAgICk7XG4gICAgY29uc3QgaGFzQ2xpZW50RGlyZWN0aXZlID0gbWF0Y2hlcy5tYXRjaGVzLnNvbWUoXG4gICAgICAobTogRGlyZWN0aXZlTWF0Y2gpID0+IG0udHlwZSA9PT0gXCJjbGllbnRcIlxuICAgICk7XG5cbiAgICBpZiAoaGFzQ2xpZW50RGlyZWN0aXZlID09PSBmYWxzZSAmJiBoYXNTZXJ2ZXJEaXJlY3RpdmUgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4geyBjb2RlOiBzb3VyY2UsIG1hcDogbnVsbCB9O1xuICAgIH1cbiAgICBjb25zdCBsb2FkZXIgPSBvcHRpb25zLmxvYWRlciA/PyBERUZBVUxUX0xPQURFUl9DT05GSUc7XG4gICAgLy8gVXNlIGFuYWx5emVNb2R1bGUgdG8gZ2V0IHRoZSBmdWxsIHBhcnNlIHJlc3VsdCwgcGFzc2luZyB0aGUgY3VzdG9tIHBhcnNlRm5cbiAgICBjb25zdCBwYXJzZVJlc3VsdCA9IGF3YWl0IGFuYWx5emVNb2R1bGUoc291cmNlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgfSk7XG4gICAgaWYgKFxuICAgICAgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mbyAmJlxuICAgICAgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mby53YXJuaW5ncy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBpc1Byb2R1Y3Rpb24gPSBnZXROb2RlRW52KCkgPT09IFwicHJvZHVjdGlvblwiO1xuXG4gICAgICAvLyBIYW5kbGUgZGlyZWN0aXZlIGVycm9ycyAoY2FuIGJlIGRvd25ncmFkZWQgdG8gd2FybmluZ3MgYmFzZWQgb24gcGFuaWNUaHJlc2hvbGQpXG4gICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2YgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mby53YXJuaW5ncykge1xuICAgICAgICBjb25zdCBzaG91bGREb3duZ3JhZGVUb1dhcm5pbmcgPSAhaXNQcm9kdWN0aW9uICYmIG9wdGlvbnMucGFuaWNUaHJlc2hvbGQgPT09ICdub25lJztcbiAgICAgICAgICBcbiAgICAgICAgaWYgKHNob3VsZERvd25ncmFkZVRvV2FybmluZykge1xuICAgICAgICAgIC8vIERvd25ncmFkZSBlcnJvciB0byB3YXJuaW5nIGluIGRldmVsb3BtZW50IHdoZW4gcGFuaWNUaHJlc2hvbGQgaXMgJ25vbmUnXG4gICAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gd2FybmluZy5yYW5nZTtcbiAgICAgICAgICBjb25zdCBsaW5lcyA9IHNvdXJjZS5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgY29uc3Qgc3RhcnRMaW5lID0gc291cmNlLnNsaWNlKDAsIHN0YXJ0KS5zcGxpdCgnXFxuJykubGVuZ3RoO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogJHt3YXJuaW5nLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gU2hvdyBkb2N1bWVudCBwcmV2aWV3IHdpdGggbGluZSBudW1iZXJzXG4gICAgICAgICAgY29uc3QgY29udGV4dExpbmVzID0gMjsgLy8gU2hvdyAyIGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXJcbiAgICAgICAgICBjb25zdCBtaW5MaW5lID0gTWF0aC5tYXgoMSwgc3RhcnRMaW5lIC0gY29udGV4dExpbmVzKTtcbiAgICAgICAgICBjb25zdCBtYXhMaW5lID0gTWF0aC5taW4obGluZXMubGVuZ3RoLCBzdGFydExpbmUgKyBjb250ZXh0TGluZXMpO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUud2FybignJyk7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IG1pbkxpbmU7IGkgPD0gbWF4TGluZTsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lTnVtID0gaS50b1N0cmluZygpLnBhZFN0YXJ0KDMsICcgJyk7XG4gICAgICAgICAgICBjb25zdCBpc0Vycm9yTGluZSA9IGkgPT09IHN0YXJ0TGluZTtcbiAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IGlzRXJyb3JMaW5lID8gJz4nIDogJyAnO1xuICAgICAgICAgICAgY29uc3QgbGluZSA9IGxpbmVzW2kgLSAxXSB8fCAnJztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGlzRXJyb3JMaW5lKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgJHtwcmVmaXh9ICR7bGluZU51bX0gfCAke2xpbmV9YCk7XG4gICAgICAgICAgICAgIC8vIFNob3cgcG9pbnRlciB0byB0aGUgZGlyZWN0aXZlXG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVTdGFydCA9IHNvdXJjZS5sYXN0SW5kZXhPZignXFxuJywgc3RhcnQgLSAxKSArIDE7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbHVtblBvcyA9IE1hdGgubWF4KDAsIHN0YXJ0IC0gbGluZVN0YXJ0KTtcbiAgICAgICAgICAgICAgY29uc3QgZGlyZWN0aXZlTGVuZ3RoID0gTWF0aC5tYXgoMSwgZW5kIC0gc3RhcnQpO1xuICAgICAgICAgICAgICBjb25zdCBwb2ludGVyID0gJyAnLnJlcGVhdCg3ICsgY29sdW1uUG9zKSArICdeJy5yZXBlYXQoZGlyZWN0aXZlTGVuZ3RoKTtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGAgICR7cG9pbnRlcn1gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgICAke2xpbmVOdW19IHwgJHtsaW5lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zb2xlLndhcm4oJycpO1xuXG4gICAgICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGAgIHJhbmdlOiBbJHtzdGFydH0sICR7ZW5kfV1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVHJlYXQgYXMgZXJyb3IgKGRlZmF1bHQgYmVoYXZpb3IpIC0gcGFuaWMgYW5kIHN0b3AgY29tcGlsYXRpb25cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Iod2FybmluZy5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocGFyc2VSZXN1bHQudHlwZSAhPT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgIHJldHVybiB7IGNvZGU6IHNvdXJjZSwgbWFwOiBudWxsIH07XG4gICAgfVxuXG4gICAgLy8gVHJhbnNmb3JtIHRoZSBtb2R1bGVcbiAgICByZXR1cm4gYXdhaXQgdHJhbnNmb3JtTW9kdWxlKHNvdXJjZSwgbW9kdWxlSWQsIHBhcnNlUmVzdWx0LCB7XG4gICAgICBmb3JjZVNlcnZlckZ1bmN0aW9uOiBmb3JjZVNlcnZlckZ1bmN0aW9uID8/IGhhc1NlcnZlckRpcmVjdGl2ZSxcbiAgICAgIGZvcmNlQ2xpZW50Q29tcG9uZW50OiBmb3JjZUNsaWVudENvbXBvbmVudCA/PyBoYXNDbGllbnREaXJlY3RpdmUsXG4gICAgICBpc1NlcnZlckVudmlyb25tZW50LFxuICAgICAgbG9hZGVyOiBvcHRpb25zLmxvYWRlcixcbiAgICAgIGRpcmVjdGl2ZVdhcm5pbmdzOiBwYXJzZVJlc3VsdC5kaXJlY3RpdmVJbmZvLndhcm5pbmdzLFxuICAgICAgdmVyYm9zZTogb3B0aW9ucy52ZXJib3NlIHx8IGZhbHNlLFxuICAgICAgcGFuaWNUaHJlc2hvbGQ6IG9wdGlvbnMucGFuaWNUaHJlc2hvbGQgfHwgJ25vbmUnLFxuICAgIH0pO1xuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFZTyxNQUFNLG9CQUF3QyxDQUFDO0FBQUEsRUFDcEQsT0FBQTtBQUFBLEVBQ0EsbUJBQXNCLEdBQUEsTUFBQTtBQUFBLEVBQ3RCLG9CQUF1QixHQUFBLE1BQUE7QUFBQSxFQUN2QixzQkFBc0Isc0JBQXVCO0FBQy9DLENBQU0sS0FBQTtBQUNKLEVBQU8sT0FBQSxPQUFPLFFBQWdCLFFBQStDLEtBQUE7QUFDM0UsSUFBQSxJQUFJLFFBQVEsT0FBUyxFQUFBO0FBQ25CLE1BQVEsT0FBQSxDQUFBLEdBQUEsQ0FBSSxDQUFnQyw2QkFBQSxFQUFBLFFBQVEsQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUl4RCxJQUFNLE1BQUEsT0FBQSxHQUFVLHFCQUFxQixNQUFNLENBQUE7QUFDM0MsSUFBTSxNQUFBLGtCQUFBLEdBQXFCLFFBQVEsT0FBUSxDQUFBLElBQUE7QUFBQSxNQUN6QyxDQUFDLENBQXNCLEtBQUEsQ0FBQSxDQUFFLElBQVMsS0FBQTtBQUFBLEtBQ3BDO0FBQ0EsSUFBTSxNQUFBLGtCQUFBLEdBQXFCLFFBQVEsT0FBUSxDQUFBLElBQUE7QUFBQSxNQUN6QyxDQUFDLENBQXNCLEtBQUEsQ0FBQSxDQUFFLElBQVMsS0FBQTtBQUFBLEtBQ3BDO0FBRUEsSUFBSSxJQUFBLGtCQUFBLEtBQXVCLEtBQVMsSUFBQSxrQkFBQSxLQUF1QixLQUFPLEVBQUE7QUFDaEUsTUFBQSxPQUFPLEVBQUUsSUFBQSxFQUFNLE1BQVEsRUFBQSxHQUFBLEVBQUssSUFBSyxF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
222
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVHJhbnNmb3JtZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9sb2FkZXIvY3JlYXRlVHJhbnNmb3JtZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNmb3JtTW9kdWxlIH0gZnJvbSBcIi4vdHJhbnNmb3JtTW9kdWxlLmpzXCI7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Ob25TZXJ2ZXJFbnZpcm9ubWVudCB9IGZyb20gXCIuL3RyYW5zZm9ybU5vblNlcnZlckVudmlyb25tZW50LmpzXCI7XG5pbXBvcnQgeyBpc1JlYWN0U2VydmVyQ29uZGl0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZy9nZXRDb25kaXRpb24uanNcIjtcbmltcG9ydCB7IGFuYWx5emVNb2R1bGUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2FuYWx5emVNb2R1bGUuanNcIjtcbmltcG9ydCB7IGZpbmREaXJlY3RpdmVNYXRjaGVzIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9maW5kRGlyZWN0aXZlTWF0Y2hlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVNYXRjaCB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdHlwZXMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtZXJGYWN0b3J5LCBUcmFuc2Zvcm1SZXN1bHQgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0FERVJfQ09ORklHIH0gZnJvbSBcIi4uL2NvbmZpZy9kZWZhdWx0cy5qc1wiO1xuaW1wb3J0IHsgZ2V0Tm9kZUVudiB9IGZyb20gXCIuLi9jb25maWcvZ2V0Tm9kZUVudi5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCBwa2cgZnJvbSBcInBpY29jb2xvcnNcIjtcbmNvbnN0IHsgcmVkLCB1bmRlcmxpbmUgfSA9IHBrZztcblxuLyoqXG4gKiBDcmVhdGVzIGEgdHJhbnNmb3JtZXIgdGhhdCBoYW5kbGVzIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIChSU0MpIGJvdW5kYXJpZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVUcmFuc2Zvcm1lcjogVHJhbnNmb3JtZXJGYWN0b3J5ID0gKHtcbiAgb3B0aW9ucyxcbiAgZm9yY2VTZXJ2ZXJGdW5jdGlvbiA9IHVuZGVmaW5lZCxcbiAgZm9yY2VDbGllbnRDb21wb25lbnQgPSB1bmRlZmluZWQsXG4gIGlzU2VydmVyRW52aXJvbm1lbnQgPSBpc1JlYWN0U2VydmVyQ29uZGl0aW9uKCksXG59KSA9PiB7XG4gIFxuICBjb25zdCB7XG4gICAgdmVyYm9zZSxcbiAgICBsb2dnZXIgPSBjcmVhdGVMb2dnZXIoKSxcbiAgICBsb2FkZXIgPSBERUZBVUxUX0xPQURFUl9DT05GSUcsXG4gIH0gPSBvcHRpb25zO1xuXG4gIC8vIFRyYWNrIGlmIGZvcmNlU2VydmVyRnVuY3Rpb24vZm9yY2VDbGllbnRDb21wb25lbnQgd2VyZSBleHBsaWNpdGx5IHBhc3NlZCAoZm9yIHRlc3RpbmcpXG4gIC8vIHZzIGF1dG8tZGV0ZWN0ZWQgZnJvbSBkaXJlY3RpdmVzIChmb3Igbm9ybWFsIGJ1aWxkcylcbiAgY29uc3QgZXhwbGljaXRGb3JjZVNlcnZlckZ1bmN0aW9uID0gZm9yY2VTZXJ2ZXJGdW5jdGlvbiAhPT0gdW5kZWZpbmVkO1xuICBjb25zdCBleHBsaWNpdEZvcmNlQ2xpZW50Q29tcG9uZW50ID0gZm9yY2VDbGllbnRDb21wb25lbnQgIT09IHVuZGVmaW5lZDtcbiAgXG4gIC8vIFNhdmUgaW5pdGlhbCB2YWx1ZXMgdG8gcmVzZXQgb24gZWFjaCBjYWxsIChjbG9zdXJlIGJ1ZyBmaXgpXG4gIGNvbnN0IGluaXRpYWxGb3JjZVNlcnZlckZ1bmN0aW9uID0gZm9yY2VTZXJ2ZXJGdW5jdGlvbjtcbiAgY29uc3QgaW5pdGlhbEZvcmNlQ2xpZW50Q29tcG9uZW50ID0gZm9yY2VDbGllbnRDb21wb25lbnQ7XG5cbiAgcmV0dXJuIGFzeW5jIChcbiAgICBzb3VyY2U6IHN0cmluZyxcbiAgICBtb2R1bGVJZDogc3RyaW5nLFxuICAgIC8vIGlmIGEgbW9kdWxlSUQgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIHVzZSBpdCB0byBnZXQgdGhlIHRyYW5zZm9ybWVkIG1vZHVsZSBJRCBieSBkZWZhdWx0XG4gICAgLy8gb3RoZXJ3aXNlLCB1c2UgdGhlIG9yaWdpbmFsIG1vZHVsZSBJRFxuICAgIC8vIGNhbiBhbHNvIGJlIHBhc3NlZCBkaXJlY3RseSBhcyBhIHBhcmFtZXRlclxuICAgIHRyYW5zZm9ybWVkTW9kdWxlSWQgPSBsb2FkZXI/Lm1vZHVsZUlEPy4obW9kdWxlSWQpID8/IG1vZHVsZUlkXG4gICk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PiA9PiB7XG4gICAgLy8gUmVzZXQgZmxhZ3MgYXQgc3RhcnQgb2YgZWFjaCBjYWxsIHRvIHByZXZlbnQgY2xvc3VyZSBzdGF0ZSBwb2xsdXRpb25cbiAgICAvLyAoRWFjaCB0cmFuc2Zvcm1hdGlvbiBzaG91bGQgc3RhcnQgZnJlc2gsIG5vdCBpbmhlcml0IHN0YXRlIGZyb20gcHJldmlvdXMgY2FsbHMpXG4gICAgZm9yY2VTZXJ2ZXJGdW5jdGlvbiA9IGluaXRpYWxGb3JjZVNlcnZlckZ1bmN0aW9uO1xuICAgIGZvcmNlQ2xpZW50Q29tcG9uZW50ID0gaW5pdGlhbEZvcmNlQ2xpZW50Q29tcG9uZW50O1xuICAgIFxuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBsb2dnZXIuaW5mbyhgW2NyZWF0ZVRyYW5zZm9ybWVyXSBtb2R1bGVJRCBmdW5jdGlvbiBjYWxsZWQ6ICR7bW9kdWxlSWR9IC0+ICR7dHJhbnNmb3JtZWRNb2R1bGVJZH1gKTtcbiAgICB9XG4gICAgaWYgKHZlcmJvc2UgJiYgbW9kdWxlSWQuaW5jbHVkZXMoXCJjbGllbnRcIikpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBgW2NyZWF0ZVRyYW5zZm9ybWVyOiR7XG4gICAgICAgICAgaXNTZXJ2ZXJFbnZpcm9ubWVudCA/IFwic2VydmVyXCIgOiBcImNsaWVudFwiXG4gICAgICAgIH1dIExvYWRpbmc6ICR7bW9kdWxlSWR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBGYXN0LXBhdGg6IHNraXAgcGFyc2luZyBhbmQgdHJhbnNmb3JtYXRpb24gaWYgbm8gZGlyZWN0aXZlcyBhcmUgcHJlc2VudFxuICAgIGNvbnN0IG1hdGNoZXMgPSBmaW5kRGlyZWN0aXZlTWF0Y2hlcyhzb3VyY2UpO1xuICAgIGNvbnN0IGhhc1NlcnZlckRpcmVjdGl2ZSA9IG1hdGNoZXMubWF0Y2hlcy5zb21lKFxuICAgICAgKG06IERpcmVjdGl2ZU1hdGNoKSA9PiBtLnR5cGUgPT09IFwic2VydmVyXCJcbiAgICApO1xuICAgIGNvbnN0IGhhc0NsaWVudERpcmVjdGl2ZSA9IG1hdGNoZXMubWF0Y2hlcy5zb21lKFxuICAgICAgKG06IERpcmVjdGl2ZU1hdGNoKSA9PiBtLnR5cGUgPT09IFwiY2xpZW50XCJcbiAgICApO1xuXG4gICAgaWYgKGhhc0NsaWVudERpcmVjdGl2ZSA9PT0gZmFsc2UgJiYgaGFzU2VydmVyRGlyZWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgLy8gRm9yIGZpbGVzIHdpdGhvdXQgZGlyZWN0aXZlcywgaGFuZGxlIGRpZmZlcmVudGx5IGJhc2VkIG9uIGVudmlyb25tZW50XG5cbiAgICAgIGlmIChpc1NlcnZlckVudmlyb25tZW50ICYmIGxvYWRlcj8uaXNDbGllbnRDb21wb25lbnRCeU5hbWU/Lihtb2R1bGVJZCwgdHJhbnNmb3JtZWRNb2R1bGVJZCkpIHtcbiAgICAgICAgLy8gSW4gc2VydmVyIGVudmlyb25tZW50LCBjbGllbnQgY29tcG9uZW50cyB3aXRob3V0IGRpcmVjdGl2ZXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIHRvIHJlZ2lzdGVyQ2xpZW50UmVmZXJlbmNlXG4gICAgICAgIC8vIFRoaXMgaGFuZGxlcyBjYXNlcyB3aGVyZSBjbGllbnQgY29tcG9uZW50cyBkb24ndCBoYXZlIGV4cGxpY2l0IFwidXNlIGNsaWVudFwiIGRpcmVjdGl2ZXNcbiAgICAgICAgLy8gYnV0IGFyZSBpZGVudGlmaWVkIGJ5IGZpbGUgbmFtaW5nIGNvbnZlbnRpb24gKC5jbGllbnQudHN4KVxuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFtjcmVhdGVUcmFuc2Zvcm1lcjpzZXJ2ZXJdIFRyYW5zZm9ybWluZyBjbGllbnQgZmlsZSB3aXRob3V0IGRpcmVjdGl2ZTogJHttb2R1bGVJZH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTZXQgZm9yY2VDbGllbnRDb21wb25lbnQgdG8gdHJ1ZSBmb3IgY2xpZW50IGNvbXBvbmVudHMgaWRlbnRpZmllZCBieSBmaWxlbmFtZVxuICAgICAgICBmb3JjZUNsaWVudENvbXBvbmVudCA9IHRydWU7XG4gICAgICAgIC8vIERvbid0IHJldHVybiBlYXJseSAtIGxldCBpdCBmYWxsIHRocm91Z2ggdG8gdHJhbnNmb3JtTW9kdWxlXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAhaXNTZXJ2ZXJFbnZpcm9ubWVudCAmJlxuICAgICAgICAhaGFzQ2xpZW50RGlyZWN0aXZlICYmXG4gICAgICAgICFoYXNTZXJ2ZXJEaXJlY3RpdmUgJiZcbiAgICAgICAgIWxvYWRlcj8uaXNDbGllbnRDb21wb25lbnRCeU5hbWU/Lihtb2R1bGVJZCwgdHJhbnNmb3JtZWRNb2R1bGVJZCkgJiZcbiAgICAgICAgIW1vZHVsZUlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpXG4gICAgICApIHtcbiAgICAgICAgLy8gSW4gbm9uLXNlcnZlciBlbnZpcm9ubWVudHMsIHNlcnZlciBjb21wb25lbnRzIChtb2R1bGVzIHdpdGhvdXQgY2xpZW50L3NlcnZlciBkaXJlY3RpdmVzIGFuZCBub3QgY2xpZW50IGJ5IG5hbWUpIHNob3VsZCBiZSBoaWRkZW5cbiAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzZXJ2ZXIgY29tcG9uZW50cyBmcm9tIGJlaW5nIGxvYWRlZCBpbiBjbGllbnQvc3NyIGVudmlyb25tZW50c1xuICAgICAgICAvLyBCdXQgZG9uJ3QgaGlkZSB0aGlyZC1wYXJ0eSBtb2R1bGVzIGZyb20gbm9kZV9tb2R1bGVzIG9yIG1vZHVsZXMgd2l0aCBkaXJlY3RpdmVzXG4gICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgW2NyZWF0ZVRyYW5zZm9ybWVyOm5vbi1zZXJ2ZXJdIEhpZGluZyBzZXJ2ZXIgY29tcG9uZW50IGluIG5vbi1zZXJ2ZXIgZW52aXJvbm1lbnQ6ICR7bW9kdWxlSWR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmV0dXJuIGEgbW9kdWxlIHRoYXQgZXhwb3J0cyBudWxsL3VuZGVmaW5lZCBpbnN0ZWFkIG9mIGVtcHR5IHN0cmluZ1xuICAgICAgICByZXR1cm4geyBjb2RlOiBzb3VyY2UsIG1hcDogbnVsbCB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSW4gY2xpZW50L3NzciBlbnZpcm9ubWVudHMsIHdlIG5lZWQgdG8gdHJhbnNmb3JtIHRvIHJlbW92ZSBkaXJlY3RpdmVzXG4gICAgICAgIC8vIGJ1dCB3ZSBkb24ndCB0cmFuc2Zvcm0gdG8gcmVnaXN0ZXJDbGllbnRSZWZlcmVuY2VcbiAgICAgICAgaWYgKGhhc0NsaWVudERpcmVjdGl2ZSB8fCBoYXNTZXJ2ZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgIGBbY3JlYXRlVHJhbnNmb3JtZXI6Y2xpZW50XSBUcmFuc2Zvcm1pbmcgZmlsZSB3aXRoIGRpcmVjdGl2ZXM6ICR7bW9kdWxlSWR9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gVHJhbnNmb3JtIHRvIHJlbW92ZSBkaXJlY3RpdmVzIGluIGNsaWVudC9zc3IgZW52aXJvbm1lbnRcbiAgICAgICAgICBjb25zdCBwYXJzZVJlc3VsdCA9IGF3YWl0IGFuYWx5emVNb2R1bGUoc291cmNlLCB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgbG9nZ2VyLFxuICAgICAgICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAocGFyc2VSZXN1bHQudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybU5vblNlcnZlckVudmlyb25tZW50KFxuICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm1lZE1vZHVsZUlkLFxuICAgICAgICAgICAgICBwYXJzZVJlc3VsdCxcbiAgICAgICAgICAgICAgbG9hZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICAgYFtjcmVhdGVUcmFuc2Zvcm1lcjpjbGllbnRdIFRyYW5zZm9ybWVkIHJlc3VsdCBmb3IgJHttb2R1bGVJZH06ICR7cmVzdWx0LmNvZGUuc3Vic3RyaW5nKFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIDEwMFxuICAgICAgICAgICAgICAgICl9YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRm9yIGZpbGVzIHdpdGhvdXQgZGlyZWN0aXZlcyBpbiBjbGllbnQvc3NyIGVudmlyb25tZW50LCB3ZSBzdGlsbCBuZWVkIHRvIGNoZWNrXG4gICAgICAgICAgLy8gaWYgdGhpcyBpcyBhIGNsaWVudCBjb21wb25lbnQgdGhhdCBzaG91bGQgYmUgdHJhbnNmb3JtZWRcbiAgICAgICAgICBpZiAobG9hZGVyPy5pc0NsaWVudENvbXBvbmVudEJ5TmFtZT8uKG1vZHVsZUlkLCB0cmFuc2Zvcm1lZE1vZHVsZUlkKSkge1xuICAgICAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICAgYFtjcmVhdGVUcmFuc2Zvcm1lcjpjbGllbnRdIFRyYW5zZm9ybWluZyBjbGllbnQgY29tcG9uZW50IHdpdGhvdXQgZGlyZWN0aXZlczogJHttb2R1bGVJZH1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUcmFuc2Zvcm0gdG8gZW5zdXJlIHByb3BlciBleHBvcnRzIGluIGNsaWVudCBlbnZpcm9ubWVudFxuICAgICAgICAgICAgY29uc3QgcGFyc2VSZXN1bHQgPSBhd2FpdCBhbmFseXplTW9kdWxlKHNvdXJjZSwge1xuICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICBsb2dnZXIsXG4gICAgICAgICAgICAgIGxvYWRlcjogbG9hZGVyLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJzZVJlc3VsdC50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm1Ob25TZXJ2ZXJFbnZpcm9ubWVudChcbiAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZWRNb2R1bGVJZCxcbiAgICAgICAgICAgICAgICBwYXJzZVJlc3VsdCxcbiAgICAgICAgICAgICAgICBsb2FkZXIsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICAgICBgW2NyZWF0ZVRyYW5zZm9ybWVyOmNsaWVudF0gVHJhbnNmb3JtZWQgcmVzdWx0IGZvciAke21vZHVsZUlkfTogJHtyZXN1bHQuY29kZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgIDEwMFxuICAgICAgICAgICAgICAgICAgKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBGb3IgZmlsZXMgd2l0aG91dCBkaXJlY3RpdmVzIGFuZCBub3QgaWRlbnRpZmllZCBhcyBjbGllbnQgY29tcG9uZW50cywga2VlcCBvcmlnaW5hbCBjb2RlXG4gICAgICAgIHJldHVybiB7IGNvZGU6IHNvdXJjZSwgbWFwOiBudWxsIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNldCBhcHByb3ByaWF0ZSBmbGFncyBiYXNlZCBvbiBkaXJlY3RpdmVzXG4gICAgICBpZiAoaGFzQ2xpZW50RGlyZWN0aXZlKSB7XG4gICAgICAgIGZvcmNlQ2xpZW50Q29tcG9uZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChoYXNTZXJ2ZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgZm9yY2VTZXJ2ZXJGdW5jdGlvbiA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbjogQ2hlY2sgaWYgZmlsZSBpcyBhbHJlYWR5IHRyYW5zZm9ybWVkIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHdvcmtcbiAgICAgIC8vIE9ubHkgY2hlY2sgdGhpcyBmb3IgZmlsZXMgdGhhdCBhY3R1YWxseSBoYXZlIGRpcmVjdGl2ZXMgYW5kIGFyZSBpbiB0aGUgcmlnaHQgZW52aXJvbm1lbnRcbiAgICAgIGlmIChpc1NlcnZlckVudmlyb25tZW50ICYmIGZvcmNlQ2xpZW50Q29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IGlzQWxyZWFkeVRyYW5zZm9ybWVkID0gc291cmNlLmluY2x1ZGVzKFxuICAgICAgICAgIG9wdGlvbnM/LmxvYWRlcj8ucmVnaXN0ZXJDbGllbnRSZWZlcmVuY2VOYW1lID8/XG4gICAgICAgICAgICBcInJlZ2lzdGVyQ2xpZW50UmVmZXJlbmNlXCJcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoaXNBbHJlYWR5VHJhbnNmb3JtZWQpIHtcbiAgICAgICAgICBsb2dnZXIud2FybihcbiAgICAgICAgICAgIGBbY3JlYXRlVHJhbnNmb3JtZXJdIEZpbGUgYWxyZWFkeSB0cmFuc2Zvcm1lZCAke21vZHVsZUlkfS4gVGhpcyBjYWxsIHdhcyBub3QgbmVlZGVkLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB7IGNvZGU6IHNvdXJjZSwgbWFwOiBudWxsIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVXNlIGFuYWx5emVNb2R1bGUgdG8gZ2V0IHRoZSBmdWxsIHBhcnNlIHJlc3VsdCwgcGFzc2luZyB0aGUgY3VzdG9tIHBhcnNlRm5cbiAgICBjb25zdCBwYXJzZVJlc3VsdCA9IGF3YWl0IGFuYWx5emVNb2R1bGUoc291cmNlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbG9nZ2VyLFxuICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgfSk7XG4gICAgaWYgKFxuICAgICAgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mbyAmJlxuICAgICAgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mby53YXJuaW5ncy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBpc1Byb2R1Y3Rpb24gPSBnZXROb2RlRW52KCkgPT09IFwicHJvZHVjdGlvblwiO1xuXG4gICAgICAvLyBIYW5kbGUgZGlyZWN0aXZlIGVycm9ycyAoY2FuIGJlIGRvd25ncmFkZWQgdG8gd2FybmluZ3MgYmFzZWQgb24gcGFuaWNUaHJlc2hvbGQpXG4gICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2YgcGFyc2VSZXN1bHQuZGlyZWN0aXZlSW5mby53YXJuaW5ncykge1xuICAgICAgICBjb25zdCBzaG91bGREb3duZ3JhZGVUb1dhcm5pbmcgPVxuICAgICAgICAgICFpc1Byb2R1Y3Rpb24gJiYgb3B0aW9ucy5wYW5pY1RocmVzaG9sZCA9PT0gXCJub25lXCI7XG5cbiAgICAgICAgaWYgKHNob3VsZERvd25ncmFkZVRvV2FybmluZykge1xuICAgICAgICAgIC8vIERvd25ncmFkZSBlcnJvciB0byB3YXJuaW5nIGluIGRldmVsb3BtZW50IHdoZW4gcGFuaWNUaHJlc2hvbGQgaXMgJ25vbmUnXG4gICAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gd2FybmluZy5yYW5nZTtcbiAgICAgICAgICBjb25zdCBsaW5lcyA9IHNvdXJjZS5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgICBjb25zdCBzdGFydExpbmUgPSBzb3VyY2Uuc2xpY2UoMCwgc3RhcnQpLnNwbGl0KFwiXFxuXCIpLmxlbmd0aDtcblxuICAgICAgICAgIGxvZ2dlci53YXJuKGBXYXJuaW5nOiAke3dhcm5pbmcubWVzc2FnZX1gKTtcblxuICAgICAgICAgIC8vIFNob3cgZG9jdW1lbnQgcHJldmlldyB3aXRoIGxpbmUgbnVtYmVyc1xuICAgICAgICAgIGNvbnN0IGNvbnRleHRMaW5lcyA9IDI7IC8vIFNob3cgMiBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyXG4gICAgICAgICAgY29uc3QgbWluTGluZSA9IE1hdGgubWF4KDEsIHN0YXJ0TGluZSAtIGNvbnRleHRMaW5lcyk7XG4gICAgICAgICAgY29uc3QgbWF4TGluZSA9IE1hdGgubWluKGxpbmVzLmxlbmd0aCwgc3RhcnRMaW5lICsgY29udGV4dExpbmVzKTtcblxuICAgICAgICAgIGZvciAobGV0IGkgPSBtaW5MaW5lOyBpIDw9IG1heExpbmU7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbGluZU51bSA9IGkudG9TdHJpbmcoKS5wYWRTdGFydCgzLCBcIiBcIik7XG4gICAgICAgICAgICBjb25zdCBpc0Vycm9yTGluZSA9IGkgPT09IHN0YXJ0TGluZTtcbiAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IGlzRXJyb3JMaW5lID8gXCI+XCIgOiBcIiBcIjtcbiAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBsaW5lc1tpIC0gMV0gfHwgXCJcIjtcblxuICAgICAgICAgICAgaWYgKGlzRXJyb3JMaW5lKSB7XG4gICAgICAgICAgICAgIC8vIEhpZ2hsaWdodCB0aGUgZGlyZWN0aXZlIHRleHQgaXRzZWxmIHVzaW5nIFZpdGUncyBsb2dnZXIgY29sb3IgbWV0aG9kc1xuICAgICAgICAgICAgICBjb25zdCBsaW5lU3RhcnQgPSBzb3VyY2UubGFzdEluZGV4T2YoXCJcXG5cIiwgc3RhcnQgLSAxKSArIDE7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbHVtblBvcyA9IE1hdGgubWF4KDAsIHN0YXJ0IC0gbGluZVN0YXJ0KTtcbiAgICAgICAgICAgICAgY29uc3QgZGlyZWN0aXZlTGVuZ3RoID0gTWF0aC5tYXgoMSwgZW5kIC0gc3RhcnQpO1xuXG4gICAgICAgICAgICAgIC8vIFNwbGl0IHRoZSBsaW5lIHRvIGhpZ2hsaWdodCBqdXN0IHRoZSBkaXJlY3RpdmVcbiAgICAgICAgICAgICAgY29uc3QgYmVmb3JlRGlyZWN0aXZlID0gbGluZS5zbGljZSgwLCBjb2x1bW5Qb3MpO1xuICAgICAgICAgICAgICBjb25zdCBkaXJlY3RpdmVUZXh0ID0gbGluZS5zbGljZShcbiAgICAgICAgICAgICAgICBjb2x1bW5Qb3MsXG4gICAgICAgICAgICAgICAgY29sdW1uUG9zICsgZGlyZWN0aXZlTGVuZ3RoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGNvbnN0IGFmdGVyRGlyZWN0aXZlID0gbGluZS5zbGljZShjb2x1bW5Qb3MgKyBkaXJlY3RpdmVMZW5ndGgpO1xuXG4gICAgICAgICAgICAgIC8vIFVzZSBwaWNvY29sb3JzIGZvciBwcm9wZXIgc2VtYW50aWMgY29sb3JpbmcgdGhhdCBhZGFwdHMgdG8gdGhlbWVzXG4gICAgICAgICAgICAgIGxvZ2dlci53YXJuKFxuICAgICAgICAgICAgICAgIGAke3ByZWZpeH0gJHtsaW5lTnVtfSB8ICR7YmVmb3JlRGlyZWN0aXZlfSR7cmVkKFxuICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lKGRpcmVjdGl2ZVRleHQpXG4gICAgICAgICAgICAgICAgKX0ke2FmdGVyRGlyZWN0aXZlfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobGluZS50cmltKCkgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgbG9nZ2VyLndhcm4oYCAgJHtsaW5lTnVtfSB8ICR7bGluZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbG9nZ2VyLndhcm4oXCJcIik7XG5cbiAgICAgICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgICBsb2dnZXIud2FybihgICByYW5nZTogWyR7c3RhcnR9LCAke2VuZH1dYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRyZWF0IGFzIGVycm9yIChkZWZhdWx0IGJlaGF2aW9yKSAtIHBhbmljIGFuZCBzdG9wIGNvbXBpbGF0aW9uXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHdhcm5pbmcubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBhcnNlUmVzdWx0LnR5cGUgIT09IFwic3VjY2Vzc1wiKSB7XG4gICAgICByZXR1cm4geyBjb2RlOiBzb3VyY2UsIG1hcDogbnVsbCB9O1xuICAgIH1cblxuICAgIC8vIFRyYW5zZm9ybSB0aGUgbW9kdWxlXG4gICAgLy8gT25seSB1c2UgZXhwbGljaXQgZm9yY2VTZXJ2ZXJGdW5jdGlvbi9mb3JjZUNsaWVudENvbXBvbmVudCBpbiBjbGllbnQgZW52aXJvbm1lbnRzXG4gICAgLy8gSW4gY2xpZW50IGVudmlyb25tZW50cywgYXV0by1kZXRlY3RlZCBkaXJlY3RpdmVzIHNob3VsZCBnbyB0byB0cmFuc2Zvcm1Ob25TZXJ2ZXJFbnZpcm9ubWVudFxuICAgIC8vICh3aGljaCB0aHJvd3MgZXJyb3JzIGZvciBcInVzZSBzZXJ2ZXJcIiBkaXJlY3RpdmVzKVxuICAgIGNvbnN0IGZpbmFsRm9yY2VTZXJ2ZXJGdW5jdGlvbiA9IGlzU2VydmVyRW52aXJvbm1lbnRcbiAgICAgID8gKGZvcmNlU2VydmVyRnVuY3Rpb24gPz8gaGFzU2VydmVyRGlyZWN0aXZlKVxuICAgICAgOiAoZXhwbGljaXRGb3JjZVNlcnZlckZ1bmN0aW9uID8gZm9yY2VTZXJ2ZXJGdW5jdGlvbiA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZmluYWxGb3JjZUNsaWVudENvbXBvbmVudCA9IGlzU2VydmVyRW52aXJvbm1lbnRcbiAgICAgID8gKGZvcmNlQ2xpZW50Q29tcG9uZW50ID8/IGhhc0NsaWVudERpcmVjdGl2ZSlcbiAgICAgIDogKGV4cGxpY2l0Rm9yY2VDbGllbnRDb21wb25lbnQgPyBmb3JjZUNsaWVudENvbXBvbmVudCA6IHVuZGVmaW5lZCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdHJhbnNmb3JtTW9kdWxlKFxuICAgICAgc291cmNlLFxuICAgICAgbW9kdWxlSWQsXG4gICAgICB0cmFuc2Zvcm1lZE1vZHVsZUlkLFxuICAgICAgcGFyc2VSZXN1bHQsXG4gICAgICB7XG4gICAgICAgIGZvcmNlU2VydmVyRnVuY3Rpb246IGZpbmFsRm9yY2VTZXJ2ZXJGdW5jdGlvbixcbiAgICAgICAgZm9yY2VDbGllbnRDb21wb25lbnQ6IGZpbmFsRm9yY2VDbGllbnRDb21wb25lbnQsXG4gICAgICAgIGlzU2VydmVyRW52aXJvbm1lbnQsXG4gICAgICAgIGxvYWRlcjogb3B0aW9ucy5sb2FkZXIsXG4gICAgICAgIGRpcmVjdGl2ZVdhcm5pbmdzOiBwYXJzZVJlc3VsdC5kaXJlY3RpdmVJbmZvLndhcm5pbmdzLFxuICAgICAgICB2ZXJib3NlOiBvcHRpb25zLnZlcmJvc2UgfHwgZmFsc2UsXG4gICAgICAgIHBhbmljVGhyZXNob2xkOiBvcHRpb25zLnBhbmljVGhyZXNob2xkIHx8IFwibm9uZVwiLFxuICAgICAgfVxuICAgICk7XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbInBhcnNlUmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFXQSxNQUFNLEVBQUUsR0FBSyxFQUFBLFNBQUEsRUFBYyxHQUFBLEdBQUE7QUFLcEIsTUFBTSxvQkFBd0MsQ0FBQztBQUFBLEVBQ3BELE9BQUE7QUFBQSxFQUNBLG1CQUFzQixHQUFBLE1BQUE7QUFBQSxFQUN0QixvQkFBdUIsR0FBQSxNQUFBO0FBQUEsRUFDdkIsc0JBQXNCLHNCQUF1QjtBQUMvQyxDQUFNLEtBQUE7QUFFSixFQUFNLE1BQUE7QUFBQSxJQUNKLE9BQUE7QUFBQSxJQUNBLFNBQVMsWUFBYSxFQUFBO0FBQUEsSUFDdEIsTUFBUyxHQUFBO0FBQUEsR0FDUCxHQUFBLE9BQUE7QUFJSixFQUFBLE1BQU0sOEJBQThCLG1CQUF3QixLQUFBLE1BQUE7QUFDNUQsRUFBQSxNQUFNLCtCQUErQixvQkFBeUIsS0FBQSxNQUFBO0FBRzlELEVBQUEsTUFBTSwwQkFBNkIsR0FBQSxtQkFBQTtBQUNuQyxFQUFBLE1BQU0sMkJBQThCLEdBQUEsb0JBQUE7QUFFcEMsRUFBTyxPQUFBLE9BQ0wsUUFDQSxRQUlBLEVBQUEsbUJBQUEsR0FBc0IsUUFBUSxRQUFXLEdBQUEsUUFBUSxLQUFLLFFBQ3pCLEtBQUE7QUFHN0IsSUFBc0IsbUJBQUEsR0FBQSwwQkFBQTtBQUN0QixJQUF1QixvQkFBQSxHQUFBLDJCQUFBO0FBRXZCLElBQUEsSUFBSSxPQUFTLEVBQUE7QUFDWCxNQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsQ0FBQSw4Q0FBQSxFQUFpRCxRQUFRLENBQUEsSUFBQSxFQUFPLG1CQUFtQixDQUFFLENBQUEsQ0FBQTtBQUFBO0FBRW5HLElBQUEsSUFBSSxPQUFXLElBQUEsUUFBQSxDQUFTLFFBQVMsQ0FBQSxRQUFRLENBQUcsRUFBQTtBQUMxQyxNQUFPLE1BQUEsQ0FBQSxJQUFBO0FBQUEsUUFDTCxDQUNFLG1CQUFBLEVBQUEsbUJB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
@@ -1,9 +1,10 @@
1
1
  import type { DirectiveInfo, DirectiveMatches } from "./types.js";
2
2
  import type { Program } from "acorn";
3
3
  import type { DirectiveOptions } from "../../types.js";
4
+ import { type Logger } from "vite";
4
5
  /**
5
6
  * Analyzes directives in the given source and AST, returning directiveInfo.
6
7
  */
7
- export declare function analyzeDirectives(ast: Program, source: string, matches?: DirectiveMatches): DirectiveInfo;
8
- export declare function analyzeDirectives(ast: Program, source: string, options?: DirectiveOptions): DirectiveInfo;
8
+ export declare function analyzeDirectives(ast: Program, source: string, matches?: DirectiveMatches, logger?: Logger): DirectiveInfo;
9
+ export declare function analyzeDirectives(ast: Program, source: string, options?: DirectiveOptions, logger?: Logger): DirectiveInfo;
9
10
  //# sourceMappingURL=analyzeDirectives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeDirectives.d.ts","sourceRoot":"","sources":["../../../../plugin/loader/directives/analyzeDirectives.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAkB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC;AACjB,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC"}
1
+ {"version":3,"file":"analyzeDirectives.d.ts","sourceRoot":"","sources":["../../../../plugin/loader/directives/analyzeDirectives.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAAC;AACjB,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAAC"}