vite-plugin-react-server 0.3.10 → 0.3.12

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 (318) hide show
  1. package/dist/client.d.ts +1 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +1 -1
  4. package/dist/index.d.ts +3 -6
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/package.json +16 -14
  9. package/dist/plugin/assertServerCondition.d.ts +5 -1
  10. package/dist/plugin/assertServerCondition.d.ts.map +1 -1
  11. package/dist/plugin/assertServerCondition.js +1 -3
  12. package/dist/plugin/checkFilesExist.d.ts +2 -2
  13. package/dist/plugin/checkFilesExist.d.ts.map +1 -1
  14. package/dist/plugin/checkFilesExist.js +43 -58
  15. package/dist/plugin/checkFilesExist.js.map +1 -1
  16. package/dist/plugin/collect-css-manifest.d.ts.map +1 -1
  17. package/dist/plugin/collect-css-manifest.js +5 -0
  18. package/dist/plugin/collect-css-manifest.js.map +1 -1
  19. package/dist/plugin/components.js +10 -15
  20. package/dist/plugin/config/createModuleIdGenerator.d.ts +11 -0
  21. package/dist/plugin/config/createModuleIdGenerator.d.ts.map +1 -0
  22. package/dist/plugin/config/createModuleIdGenerator.js +44 -0
  23. package/dist/plugin/config/createModuleIdGenerator.js.map +1 -0
  24. package/dist/plugin/config/defaults.d.ts +27 -24
  25. package/dist/plugin/config/defaults.d.ts.map +1 -1
  26. package/dist/plugin/config/defaults.js +26 -31
  27. package/dist/plugin/config/defaults.js.map +1 -1
  28. package/dist/plugin/config/getPaths.js +1 -1
  29. package/dist/plugin/config/resolveOptions.d.ts +1 -1
  30. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  31. package/dist/plugin/config/resolveOptions.js +223 -16
  32. package/dist/plugin/config/resolveOptions.js.map +1 -1
  33. package/dist/plugin/config/resolvePages.d.ts +2 -0
  34. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  35. package/dist/plugin/config/resolvePages.js.map +1 -1
  36. package/dist/plugin/config/resolveUserConfig.d.ts +2 -2
  37. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  38. package/dist/plugin/config/resolveUserConfig.js +149 -50
  39. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  40. package/dist/plugin/helpers/getBundleManifest.d.ts +25 -0
  41. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -0
  42. package/dist/plugin/helpers/getBundleManifest.js +72 -0
  43. package/dist/plugin/helpers/getBundleManifest.js.map +1 -0
  44. package/dist/plugin/helpers/inputNormalizer.d.ts +14 -1
  45. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  46. package/dist/plugin/helpers/inputNormalizer.js +128 -16
  47. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  48. package/dist/plugin/helpers/tryManifest.d.ts +3 -1
  49. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  50. package/dist/plugin/helpers/tryManifest.js +1 -1
  51. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  52. package/dist/plugin/loader/createBuildLoader.d.ts +6 -2
  53. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  54. package/dist/plugin/loader/createBuildLoader.js +37 -9
  55. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  56. package/dist/plugin/loader/createPageLoader.d.ts.map +1 -1
  57. package/dist/plugin/loader/createPageLoader.js +0 -7
  58. package/dist/plugin/loader/css-loader.d.ts +16 -0
  59. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  60. package/dist/plugin/loader/css-loader.js +70 -0
  61. package/dist/plugin/loader/css-loader.js.map +1 -0
  62. package/dist/plugin/loader/react-loader.d.ts +17 -0
  63. package/dist/plugin/loader/react-loader.d.ts.map +1 -0
  64. package/dist/plugin/loader/react-loader.js +647 -0
  65. package/dist/plugin/loader/react-loader.js.map +1 -0
  66. package/dist/plugin/loader/rsc/messageHandler.d.ts +2 -0
  67. package/dist/plugin/loader/rsc/messageHandler.d.ts.map +1 -0
  68. package/dist/plugin/loader/rsc/messageHandler.js +1 -0
  69. package/dist/plugin/loader/rsc/rsc-worker.development.d.ts +2 -0
  70. package/dist/plugin/loader/rsc/rsc-worker.development.d.ts.map +1 -0
  71. package/dist/plugin/loader/rsc/rsc-worker.development.js +1 -0
  72. package/dist/plugin/plugin.d.ts +0 -1
  73. package/dist/plugin/plugin.d.ts.map +1 -1
  74. package/dist/plugin/plugin.js +2 -1
  75. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  76. package/dist/plugin/preserver/plugin.js +3 -2
  77. package/dist/plugin/preserver/plugin.js.map +1 -1
  78. package/dist/plugin/react-client/index.d.ts +2 -1
  79. package/dist/plugin/react-client/index.d.ts.map +1 -1
  80. package/dist/plugin/react-client/index.js +19 -1
  81. package/dist/plugin/react-client/index.js.map +1 -0
  82. package/dist/plugin/react-client/plugin.d.ts +2 -2
  83. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  84. package/dist/plugin/react-client/plugin.js +283 -10
  85. package/dist/plugin/react-client/plugin.js.map +1 -1
  86. package/dist/plugin/react-server/createHandler.d.ts +2 -2
  87. package/dist/plugin/react-server/createHandler.d.ts.map +1 -1
  88. package/dist/plugin/react-server/createHandler.js +15 -9
  89. package/dist/plugin/react-server/createHandler.js.map +1 -1
  90. package/dist/plugin/react-server/createRscStream.d.ts +15 -3
  91. package/dist/plugin/react-server/createRscStream.d.ts.map +1 -1
  92. package/dist/plugin/react-server/createRscStream.js +53 -36
  93. package/dist/plugin/react-server/createRscStream.js.map +1 -1
  94. package/dist/plugin/react-server/createSsrHandler.d.ts +2 -2
  95. package/dist/plugin/react-server/createSsrHandler.d.ts.map +1 -1
  96. package/dist/plugin/react-server/createSsrHandler.js +5 -12
  97. package/dist/plugin/react-server/index.js +18 -9
  98. package/dist/plugin/react-server/index.js.map +1 -0
  99. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  100. package/dist/plugin/react-server/plugin.js +147 -137
  101. package/dist/plugin/react-server/plugin.js.map +1 -1
  102. package/dist/plugin/transformer/plugin.d.ts +2 -1
  103. package/dist/plugin/transformer/plugin.d.ts.map +1 -1
  104. package/dist/plugin/transformer/plugin.js +68 -75
  105. package/dist/plugin/transformer/plugin.js.map +1 -1
  106. package/dist/plugin/transformer/types.d.ts +4 -0
  107. package/dist/plugin/transformer/types.d.ts.map +1 -1
  108. package/dist/plugin/types.d.ts +56 -20
  109. package/dist/plugin/types.d.ts.map +1 -1
  110. package/dist/plugin/utils/logger.d.ts +9 -0
  111. package/dist/plugin/utils/logger.d.ts.map +1 -0
  112. package/dist/plugin/utils/logger.js +68 -0
  113. package/dist/plugin/utils/logger.js.map +1 -0
  114. package/dist/plugin/worker/createWorker.d.ts +1 -0
  115. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  116. package/dist/plugin/worker/createWorker.js +23 -36
  117. package/dist/plugin/worker/createWorker.js.map +1 -1
  118. package/dist/plugin/worker/html/html-worker.production.js +5 -1
  119. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  120. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  121. package/dist/plugin/worker/html/messageHandler.js +33 -28
  122. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  123. package/dist/plugin/worker/html/plugin.d.ts.map +1 -1
  124. package/dist/plugin/worker/html/plugin.js +10 -5
  125. package/dist/plugin/worker/html/renderPages.d.ts +7 -6
  126. package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
  127. package/dist/plugin/worker/html/renderPages.js +147 -93
  128. package/dist/plugin/worker/html/renderPages.js.map +1 -1
  129. package/dist/plugin/worker/loader.d.ts +1 -11
  130. package/dist/plugin/worker/loader.d.ts.map +1 -1
  131. package/dist/plugin/worker/loader.js +2 -2
  132. package/dist/plugin/worker/loader.js.map +1 -1
  133. package/dist/plugin/worker/plugin.d.ts +10 -1
  134. package/dist/plugin/worker/plugin.d.ts.map +1 -1
  135. package/dist/plugin/worker/plugin.js +10 -1
  136. package/dist/plugin/worker/rsc/index.d.ts +1 -3
  137. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  138. package/dist/plugin/worker/rsc/index.js +1 -9
  139. package/dist/plugin/worker/rsc/index.js.map +1 -1
  140. package/dist/plugin/worker/rsc/messageHandler.d.ts +3 -0
  141. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -0
  142. package/dist/plugin/worker/rsc/messageHandler.js +107 -0
  143. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -0
  144. package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -1
  145. package/dist/plugin/worker/rsc/plugin.js +74 -80
  146. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts +32 -0
  147. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts.map +1 -0
  148. package/dist/plugin/worker/rsc/rsc-worker.development.js +43 -0
  149. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -0
  150. package/dist/plugin/worker/rsc/rsc-worker.js +4 -106
  151. package/dist/plugin/worker/rsc/rsc-worker.production.d.ts +2 -0
  152. package/dist/plugin/worker/rsc/rsc-worker.production.d.ts.map +1 -0
  153. package/dist/plugin/worker/rsc/rsc-worker.production.js +14 -0
  154. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -0
  155. package/dist/plugin/worker/rsc/state.d.ts +11 -0
  156. package/dist/plugin/worker/rsc/state.d.ts.map +1 -0
  157. package/dist/plugin/worker/rsc/state.js +12 -0
  158. package/dist/plugin/worker/rsc/state.js.map +1 -0
  159. package/dist/plugin/worker/types.d.ts +62 -35
  160. package/dist/plugin/worker/types.d.ts.map +1 -1
  161. package/dist/server.d.ts +1 -3
  162. package/dist/server.d.ts.map +1 -1
  163. package/dist/server.js +1 -3
  164. package/dist/server.js.map +1 -1
  165. package/dist/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +16 -14
  167. package/plugin/assertServerCondition.ts +2 -3
  168. package/plugin/checkFilesExist.ts +46 -66
  169. package/plugin/collect-css-manifest.ts +5 -1
  170. package/plugin/config/createModuleIdGenerator.ts +52 -0
  171. package/plugin/config/defaults.ts +27 -20
  172. package/plugin/config/resolveOptions.ts +311 -25
  173. package/plugin/config/resolvePages.ts +1 -1
  174. package/plugin/config/resolveUserConfig.ts +195 -61
  175. package/plugin/helpers/getBundleManifest.ts +113 -0
  176. package/plugin/helpers/inputNormalizer.ts +186 -25
  177. package/plugin/helpers/tryManifest.ts +3 -1
  178. package/plugin/loader/createBuildLoader.ts +50 -9
  179. package/plugin/loader/createPageLoader.ts +1 -7
  180. package/plugin/loader/css-loader.ts +96 -0
  181. package/plugin/loader/react-loader.ts +945 -0
  182. package/plugin/loader/rsc/messageHandler.tsx +1 -0
  183. package/plugin/loader/rsc/rsc-worker.development.ts +1 -0
  184. package/plugin/plugin.ts +2 -1
  185. package/plugin/preserver/plugin.ts +2 -1
  186. package/plugin/react-client/index.ts +12 -1
  187. package/plugin/react-client/plugin.ts +351 -11
  188. package/plugin/react-server/createHandler.ts +16 -18
  189. package/plugin/react-server/createRscStream.ts +75 -42
  190. package/plugin/react-server/createSsrHandler.ts +7 -26
  191. package/plugin/react-server/plugin.ts +192 -155
  192. package/plugin/transformer/plugin.ts +70 -104
  193. package/plugin/transformer/types.ts +4 -0
  194. package/plugin/types/global.d.ts +8 -0
  195. package/plugin/types.ts +120 -64
  196. package/plugin/utils/logger.ts +52 -0
  197. package/plugin/worker/createWorker.ts +43 -44
  198. package/plugin/worker/html/html-worker.production.tsx +7 -2
  199. package/plugin/worker/html/messageHandler.ts +42 -35
  200. package/plugin/worker/html/plugin.ts +15 -11
  201. package/plugin/worker/html/renderPages.ts +177 -123
  202. package/plugin/worker/loader.ts +4 -13
  203. package/plugin/worker/plugin.ts +10 -1
  204. package/plugin/worker/rsc/index.ts +4 -13
  205. package/plugin/worker/rsc/messageHandler.tsx +143 -0
  206. package/plugin/worker/rsc/plugin.ts +38 -37
  207. package/plugin/worker/rsc/rsc-worker.development.ts +107 -0
  208. package/plugin/worker/rsc/rsc-worker.production.ts +13 -0
  209. package/plugin/worker/rsc/rsc-worker.tsx +5 -128
  210. package/plugin/worker/rsc/state.ts +37 -0
  211. package/plugin/worker/types.ts +83 -38
  212. package/scripts/check-react-version.mjs +17 -7
  213. package/scripts/react+0.0.0-experimental-b3a95caf-20250113.patch +143 -4170
  214. package/scripts/react-dom+0.0.0-experimental-b3a95caf-20250113.patch +14271 -90079
  215. package/dist/node_modules/magic-string/dist/magic-string.es.js +0 -1283
  216. package/dist/node_modules/magic-string/dist/magic-string.es.js.map +0 -1
  217. package/dist/plugin/build/createClientBuildConfig.d.ts +0 -3
  218. package/dist/plugin/build/createClientBuildConfig.d.ts.map +0 -1
  219. package/dist/plugin/build/createClientBuildConfig.js +0 -14
  220. package/dist/plugin/build/createServerBuildConfig.d.ts +0 -12
  221. package/dist/plugin/build/createServerBuildConfig.d.ts.map +0 -1
  222. package/dist/plugin/build/createServerBuildConfig.js +0 -40
  223. package/dist/plugin/build/createSharedBuildConfig.d.ts +0 -5
  224. package/dist/plugin/build/createSharedBuildConfig.d.ts.map +0 -1
  225. package/dist/plugin/build/createSharedBuildConfig.js +0 -28
  226. package/dist/plugin/build/mergeInputs.d.ts +0 -9
  227. package/dist/plugin/build/mergeInputs.d.ts.map +0 -1
  228. package/dist/plugin/build/mergeInputs.js +0 -56
  229. package/dist/plugin/components.js.map +0 -1
  230. package/dist/plugin/config/moduleIdDefault.d.ts +0 -8
  231. package/dist/plugin/config/moduleIdDefault.d.ts.map +0 -1
  232. package/dist/plugin/config/moduleIdDefault.js +0 -23
  233. package/dist/plugin/config/moduleIdDefault.js.map +0 -1
  234. package/dist/plugin/helpers/createClientInputNormalizer.d.ts +0 -8
  235. package/dist/plugin/helpers/createClientInputNormalizer.d.ts.map +0 -1
  236. package/dist/plugin/helpers/createClientInputNormalizer.js +0 -35
  237. package/dist/plugin/helpers/createServerInputNormalizer.d.ts +0 -9
  238. package/dist/plugin/helpers/createServerInputNormalizer.d.ts.map +0 -1
  239. package/dist/plugin/helpers/createServerInputNormalizer.js +0 -37
  240. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts +0 -7
  241. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts.map +0 -1
  242. package/dist/plugin/helpers/createStaticInputNormalizer.js +0 -18
  243. package/dist/plugin/helpers/getModuleManifest.d.ts +0 -12
  244. package/dist/plugin/helpers/getModuleManifest.d.ts.map +0 -1
  245. package/dist/plugin/helpers/getModuleManifest.js +0 -24
  246. package/dist/plugin/helpers/getModuleManifest.js.map +0 -1
  247. package/dist/plugin/helpers/inputNormalizerWorker.d.ts +0 -11
  248. package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +0 -1
  249. package/dist/plugin/helpers/inputNormalizerWorker.js +0 -30
  250. package/dist/plugin/helpers/normalizedRelativePath.d.ts +0 -11
  251. package/dist/plugin/helpers/normalizedRelativePath.d.ts.map +0 -1
  252. package/dist/plugin/helpers/normalizedRelativePath.js +0 -36
  253. package/dist/plugin/helpers/resolveFilePath.d.ts +0 -13
  254. package/dist/plugin/helpers/resolveFilePath.d.ts.map +0 -1
  255. package/dist/plugin/helpers/resolveFilePath.js +0 -74
  256. package/dist/plugin/helpers/resolveWorkerModule.d.ts +0 -6
  257. package/dist/plugin/helpers/resolveWorkerModule.d.ts.map +0 -1
  258. package/dist/plugin/helpers/resolveWorkerModule.js +0 -24
  259. package/dist/plugin/helpers/validateModuleBase.d.ts +0 -3
  260. package/dist/plugin/helpers/validateModuleBase.d.ts.map +0 -1
  261. package/dist/plugin/helpers/validateModuleBase.js +0 -16
  262. package/dist/plugin/helpers/validateResolvedConfig.d.ts +0 -3
  263. package/dist/plugin/helpers/validateResolvedConfig.d.ts.map +0 -1
  264. package/dist/plugin/helpers/validateResolvedConfig.js +0 -17
  265. package/dist/plugin/react-server/createDevMiddleware.d.ts +0 -8
  266. package/dist/plugin/react-server/createDevMiddleware.d.ts.map +0 -1
  267. package/dist/plugin/react-server/createDevMiddleware.js +0 -68
  268. package/dist/plugin/react-server/createDevServer.d.ts +0 -4
  269. package/dist/plugin/react-server/createDevServer.d.ts.map +0 -1
  270. package/dist/plugin/react-server/createDevServer.js +0 -4
  271. package/dist/plugin/react-server/createReactNodeStreamer.d.ts +0 -10
  272. package/dist/plugin/react-server/createReactNodeStreamer.d.ts.map +0 -1
  273. package/dist/plugin/react-server/createReactNodeStreamer.js +0 -7
  274. package/dist/plugin/transformer/transformer-client-components.d.ts +0 -21
  275. package/dist/plugin/transformer/transformer-client-components.d.ts.map +0 -1
  276. package/dist/plugin/transformer/transformer-client-components.js +0 -61
  277. package/dist/plugin/transformer/transformer-client-components.js.map +0 -1
  278. package/dist/plugin/transformer/transformer-server-actions.d.ts +0 -29
  279. package/dist/plugin/transformer/transformer-server-actions.d.ts.map +0 -1
  280. package/dist/plugin/transformer/transformer-server-actions.js +0 -76
  281. package/dist/plugin/transformer/transformer-server-actions.js.map +0 -1
  282. package/dist/plugin/worker/rsc/createRscStream.d.ts +0 -5
  283. package/dist/plugin/worker/rsc/createRscStream.d.ts.map +0 -1
  284. package/dist/plugin/worker/rsc/createRscStream.js +0 -39
  285. package/dist/plugin/worker/rsc/createRscStream.js.map +0 -1
  286. package/dist/plugin/worker/rsc/development.d.ts +0 -5
  287. package/dist/plugin/worker/rsc/development.d.ts.map +0 -1
  288. package/dist/plugin/worker/rsc/development.js +0 -13
  289. package/dist/plugin/worker/rsc/development.js.map +0 -1
  290. package/dist/plugin/worker/rsc/plugin.js.map +0 -1
  291. package/dist/plugin/worker/rsc/production.d.ts +0 -5
  292. package/dist/plugin/worker/rsc/production.d.ts.map +0 -1
  293. package/dist/plugin/worker/rsc/production.js +0 -13
  294. package/dist/plugin/worker/rsc/production.js.map +0 -1
  295. package/plugin/build/createClientBuildConfig.ts +0 -21
  296. package/plugin/build/createServerBuildConfig.ts +0 -66
  297. package/plugin/build/createSharedBuildConfig.ts +0 -35
  298. package/plugin/build/mergeInputs.ts +0 -58
  299. package/plugin/config/moduleIdDefault.ts +0 -23
  300. package/plugin/helpers/createClientInputNormalizer.ts +0 -48
  301. package/plugin/helpers/createServerInputNormalizer.ts +0 -52
  302. package/plugin/helpers/createStaticInputNormalizer.ts +0 -26
  303. package/plugin/helpers/getModuleManifest.ts +0 -31
  304. package/plugin/helpers/inputNormalizerWorker.ts +0 -47
  305. package/plugin/helpers/normalizedRelativePath.ts +0 -59
  306. package/plugin/helpers/resolveFilePath.ts +0 -108
  307. package/plugin/helpers/resolveWorkerModule.ts +0 -41
  308. package/plugin/helpers/validateModuleBase.ts +0 -30
  309. package/plugin/helpers/validateResolvedConfig.ts +0 -21
  310. package/plugin/react-server/createDevMiddleware.ts +0 -91
  311. package/plugin/react-server/createDevServer.ts +0 -9
  312. package/plugin/react-server/createReactNodeStreamer.ts +0 -26
  313. package/plugin/transformer/transformer-client-components.ts +0 -94
  314. package/plugin/transformer/transformer-server-actions.ts +0 -110
  315. package/plugin/worker/rsc/createRscStream.ts +0 -42
  316. package/plugin/worker/rsc/development.ts +0 -6
  317. package/plugin/worker/rsc/production.ts +0 -6
  318. package/scripts/react-server-dom-esm+0.0.1.patch +0 -24775
@@ -1 +1 @@
1
- {"version":3,"file":"tryManifest.js","sources":["../../../plugin/helpers/tryManifest.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport type { Manifest } from \"vite\";\n\ntype TryManifestOptions<SSR extends boolean> = {\n root: string;\n outDir: string;\n ssrManifest: SSR;\n};\n\nexport function tryManifest<SSR extends boolean>(options: TryManifestOptions<SSR>): {\n type: \"success\";\n manifest: SSR extends true ? Record<string, string[]> : Manifest;\n} | {\n type: \"error\";\n error: Error;\n} {\n const manifestPath = resolve(\n options.root,\n options.outDir,\n \".vite\",\n options.ssrManifest ? \"ssr-manifest.json\" : \"manifest.json\"\n );\n try {\n const result= JSON.parse(readFileSync(manifestPath, \"utf-8\"));\n return {\n type: \"success\",\n manifest: result,\n }\n } catch (e) {\n console.log(\"No manifest found\", manifestPath);\n return {\n type: \"error\",\n error: e as Error,\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAUO,SAAS,YAAiC,OAM/C,EAAA;AACA,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,OAAQ,CAAA,IAAA;AAAA,IACR,OAAQ,CAAA,MAAA;AAAA,IACR,OAAA;AAAA,IAC4C;AAAA,GAC9C;AACA,EAAI,IAAA;AACF,IAAA,MAAM,SAAS,IAAK,CAAA,KAAA,CAAM,YAAa,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA;AAC7D,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAU,EAAA;AAAA,KACZ;AAAA,WACO,CAAG,EAAA;AACV,IAAQ,OAAA,CAAA,GAAA,CAAI,qBAAqB,YAAY,CAAA;AAC7C,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACT;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"tryManifest.js","sources":["../../../plugin/helpers/tryManifest.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport type { Manifest } from \"vite\";\n\ntype TryManifestOptions<SSR extends boolean> = {\n root: string;\n outDir: string;\n ssrManifest?: SSR;\n};\n\nexport function tryManifest<SSR extends boolean>(options: TryManifestOptions<SSR>): {\n type: \"success\";\n manifest: SSR extends true ? Record<string, string[]> : Manifest;\n error?:never\n} | {\n type: \"error\";\n error: Error;\n manifest?:never\n} {\n const manifestPath = resolve(\n options.root,\n options.outDir,\n \".vite\",\n options.ssrManifest ? \"ssr-manifest.json\" : \"manifest.json\"\n );\n try {\n const result= JSON.parse(readFileSync(manifestPath, \"utf-8\"));\n return {\n type: \"success\",\n manifest: result,\n }\n } catch (e) {\n console.log(\"No manifest found\", manifestPath);\n return {\n type: \"error\",\n error: e as Error,\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAUO,SAAS,YAAiC,OAQ/C,EAAA;AACA,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,OAAQ,CAAA,IAAA;AAAA,IACR,OAAQ,CAAA,MAAA;AAAA,IACR,OAAA;AAAA,IACA,OAAA,CAAQ,cAAc,mBAAsB,GAAA;AAAA,GAC9C;AACA,EAAI,IAAA;AACF,IAAA,MAAM,SAAS,IAAK,CAAA,KAAA,CAAM,YAAa,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA;AAC7D,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAU,EAAA;AAAA,KACZ;AAAA,WACO,CAAG,EAAA;AACV,IAAQ,OAAA,CAAA,GAAA,CAAI,qBAAqB,YAAY,CAAA;AAC7C,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACT;AAAA;AAEJ;;;;"}
@@ -1,9 +1,13 @@
1
1
  import type { PluginContext } from "rollup";
2
- import type { ResolvedUserConfig } from "../../server.js";
2
+ import type { ResolvedUserConfig, ResolvedUserOptions } from "../../server.js";
3
+ import type { Manifest } from "vite";
3
4
  export interface BuildLoaderOptions {
4
5
  root: string;
5
6
  pluginContext: PluginContext;
6
7
  userConfig: ResolvedUserConfig;
8
+ userOptions: ResolvedUserOptions;
9
+ serverManifest: Manifest;
10
+ clientManifest: Manifest;
7
11
  }
8
- export declare function createBuildLoader({ root, userConfig, }: BuildLoaderOptions): (id: string) => Promise<any>;
12
+ export declare function createBuildLoader({ root, userConfig, userOptions, pluginContext, serverManifest, clientManifest, }: BuildLoaderOptions): (id: string) => Promise<any>;
9
13
  //# sourceMappingURL=createBuildLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,UAAU,GACX,EAAE,kBAAkB,QACD,MAAM,kBAOzB"}
1
+ {"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;IACjC,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,QAMmB,MAAM,kBAmC7C"}
@@ -3,19 +3,47 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
- import { join } from 'path';
7
- import { DEFAULT_CONFIG } from '../config/defaults.js';
6
+ import { join } from 'node:path';
7
+ import { createInputNormalizer } from '../helpers/inputNormalizer.js';
8
8
 
9
9
  function createBuildLoader({
10
10
  root,
11
- userConfig
11
+ userConfig,
12
+ userOptions,
13
+ pluginContext,
14
+ serverManifest,
15
+ clientManifest
12
16
  }) {
13
- return async (id) => {
14
- return import(join(
15
- root,
16
- userConfig.build.outDir,
17
- id.replace(DEFAULT_CONFIG.FILE_REGEX, "") + ".js"
18
- ));
17
+ const normalizer = createInputNormalizer({
18
+ root,
19
+ preserveModulesRoot: undefined,
20
+ removeExtension: false
21
+ });
22
+ return async function buildLoader(id) {
23
+ const [key, value] = normalizer(id);
24
+ const distDir = userOptions.build.outDir;
25
+ const manifests = [clientManifest, serverManifest];
26
+ for (const n of [0, 1]) {
27
+ const manifest = manifests[n];
28
+ const manifestEntry = manifest[key];
29
+ if (!manifestEntry) {
30
+ continue;
31
+ }
32
+ const isClient = userOptions.autoDiscover.clientComponents(id);
33
+ const isServer = userOptions.autoDiscover.serverFunctions(id);
34
+ const outDir = isClient ? userOptions.build.client : isServer ? userOptions.build.server : n === 0 ? userOptions.build.client : userOptions.build.server;
35
+ if (manifestEntry.file.startsWith(`${root}/${distDir}/${outDir}/`)) {
36
+ return import(manifestEntry.file);
37
+ }
38
+ if (manifestEntry.file.startsWith(`${distDir}/`)) {
39
+ return import(join(root, manifestEntry.file));
40
+ }
41
+ if (manifestEntry.file.startsWith(`${outDir}/`)) {
42
+ return import(join(root, distDir, outDir, manifestEntry.file));
43
+ }
44
+ return import(join(root, distDir, outDir, manifestEntry.file));
45
+ }
46
+ throw new Error(`Module not found: ${id}`);
19
47
  };
20
48
  }
21
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildLoader.js","sources":["../../../plugin/loader/createBuildLoader.ts"],"sourcesContent":["import { join } from \"path\";\nimport type { PluginContext } from \"rollup\";\nimport type { ResolvedUserConfig } from \"../../server.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\n\nexport interface BuildLoaderOptions {\n root: string;\n pluginContext: PluginContext;\n userConfig: ResolvedUserConfig;\n}\n\nexport function createBuildLoader({\n root,\n userConfig,\n}: BuildLoaderOptions) {\n return async (id: string) => {\n return import(join(\n root,\n userConfig.build.outDir,\n id.replace(DEFAULT_CONFIG.FILE_REGEX, \"\") + \".js\"\n ));\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAWO,SAAS,iBAAkB,CAAA;AAAA,EAChC,IAAA;AAAA,EACA;AACF,CAAuB,EAAA;AACrB,EAAA,OAAO,OAAO,EAAe,KAAA;AAC3B,IAAA,OAAO,OAAO,IAAA;AAAA,MACZ,IAAA;AAAA,MACA,WAAW,KAAM,CAAA,MAAA;AAAA,MACjB,EAAG,CAAA,OAAA,CAAQ,cAAe,CAAA,UAAA,EAAY,EAAE,CAAI,GAAA;AAAA,KAC9C,CAAA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"createBuildLoader.js","sources":["../../../plugin/loader/createBuildLoader.ts"],"sourcesContent":["import { join, relative, resolve } from \"node:path\";\nimport type { PluginContext } from \"rollup\";\nimport type { ResolvedUserConfig, ResolvedUserOptions } from \"../../server.js\";\nimport type { Manifest } from \"vite\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\nexport interface BuildLoaderOptions {\n root: string;\n pluginContext: PluginContext;\n userConfig: ResolvedUserConfig;\n userOptions: ResolvedUserOptions;\n serverManifest: Manifest;\n clientManifest: Manifest;\n}\n\nexport function createBuildLoader({\n root,\n userConfig,\n userOptions,\n pluginContext,\n serverManifest,\n clientManifest,\n}: BuildLoaderOptions) {\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: undefined,\n removeExtension: false,\n });\n return async function buildLoader(id: string) {\n const [key, value] = normalizer(id);\n // Remove leading slash if present\n const distDir = userOptions.build.outDir;\n const manifests = [clientManifest, serverManifest];\n // Try to find the module in the manifest\n for (const n of [0, 1]) {\n const manifest = manifests[n];\n const manifestEntry = manifest[key]\n if (!manifestEntry) {\n continue;\n }\n const isClient = userOptions.autoDiscover.clientComponents(id);\n const isServer = userOptions.autoDiscover.serverFunctions(id);\n const outDir = isClient\n ? userOptions.build.client\n : isServer\n ? userOptions.build.server\n : n === 0\n ? userOptions.build.client\n : userOptions.build.server;\n if (manifestEntry.file.startsWith(`${root}/${distDir}/${outDir}/`)) {\n return import(manifestEntry.file);\n }\n if (manifestEntry.file.startsWith(`${distDir}/`)) {\n return import(join(root, manifestEntry.file));\n }\n if (manifestEntry.file.startsWith(`${outDir}/`)) {\n return import(join(root, distDir, outDir, manifestEntry.file));\n }\n // Load the module\n return import(join(root, distDir, outDir, manifestEntry.file));\n }\n throw new Error(`Module not found: ${id}`);\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAeO,SAAS,iBAAkB,CAAA;AAAA,EAChC,IAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAuB,EAAA;AACrB,EAAA,MAAM,aAAa,qBAAsB,CAAA;AAAA,IACvC,IAAA;AAAA,IACA,mBAAqB,EAAA,SAAA;AAAA,IACrB,eAAiB,EAAA;AAAA,GAClB,CAAA;AACD,EAAO,OAAA,eAAe,YAAY,EAAY,EAAA;AAC5C,IAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,WAAW,EAAE,CAAA;AAElC,IAAM,MAAA,OAAA,GAAU,YAAY,KAAM,CAAA,MAAA;AAClC,IAAM,MAAA,SAAA,GAAY,CAAC,cAAA,EAAgB,cAAc,CAAA;AAEjD,IAAA,KAAA,MAAW,CAAK,IAAA,CAAC,CAAG,EAAA,CAAC,CAAG,EAAA;AACtB,MAAM,MAAA,QAAA,GAAW,UAAU,CAAC,CAAA;AAC5B,MAAM,MAAA,aAAA,GAAgB,SAAS,GAAG,CAAA;AAClC,MAAA,IAAI,CAAC,aAAe,EAAA;AAClB,QAAA;AAAA;AAEF,MAAA,MAAM,QAAW,GAAA,WAAA,CAAY,YAAa,CAAA,gBAAA,CAAiB,EAAE,CAAA;AAC7D,MAAA,MAAM,QAAW,GAAA,WAAA,CAAY,YAAa,CAAA,eAAA,CAAgB,EAAE,CAAA;AAC5D,MAAA,MAAM,MAAS,GAAA,QAAA,GACX,WAAY,CAAA,KAAA,CAAM,SAClB,QACA,GAAA,WAAA,CAAY,KAAM,CAAA,MAAA,GAClB,MAAM,CACN,GAAA,WAAA,CAAY,KAAM,CAAA,MAAA,GAClB,YAAY,KAAM,CAAA,MAAA;AACtB,MAAI,IAAA,aAAA,CAAc,IAAK,CAAA,UAAA,CAAW,CAAG,EAAA,IAAI,IAAI,OAAO,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG,CAAG,EAAA;AAClE,QAAA,OAAO,OAAO,aAAc,CAAA,IAAA,CAAA;AAAA;AAE9B,MAAA,IAAI,cAAc,IAAK,CAAA,UAAA,CAAW,CAAG,EAAA,OAAO,GAAG,CAAG,EAAA;AAChD,QAAA,OAAO,OAAO,IAAA,CAAK,IAAM,EAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA;AAE7C,MAAA,IAAI,cAAc,IAAK,CAAA,UAAA,CAAW,CAAG,EAAA,MAAM,GAAG,CAAG,EAAA;AAC/C,QAAA,OAAO,OAAO,IAAK,CAAA,IAAA,EAAM,OAAS,EAAA,MAAA,EAAQ,cAAc,IAAI,CAAA,CAAA;AAAA;AAG9D,MAAA,OAAO,OAAO,IAAK,CAAA,IAAA,EAAM,OAAS,EAAA,MAAA,EAAQ,cAAc,IAAI,CAAA,CAAA;AAAA;AAE9D,IAAA,MAAM,IAAI,KAAA,CAAM,CAAqB,kBAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAAA,GAC3C;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPageLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createPageLoader.ts"],"names":[],"mappings":"AAaA,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wFAM7B,0BAA0B,WAqBR,MAAM,iBAM1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,EAAE,uBAAuB,QACS,MAAM,kBA+BxC"}
1
+ {"version":3,"file":"createPageLoader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/createPageLoader.ts"],"names":[],"mappings":"AAaA,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wFAM7B,0BAA0B,WAqBR,MAAM,iBAM1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,EAAE,uBAAuB,QACS,MAAM,kBAyBxC"}
@@ -32,13 +32,6 @@ export const createDefaultLoader = ({ id, registerServer, registerClient, always
32
32
  };
33
33
  export function createPageLoader({ manifest, root, outDir, moduleBase, alwaysRegisterServer, alwaysRegisterClient, registerServer, registerClient, }) {
34
34
  return async function loader(id) {
35
- console.log("[pageLoader] Loading:", {
36
- id,
37
- manifest: Object.keys(manifest),
38
- outDir,
39
- moduleBase
40
- });
41
- console.log("[pageLoader] Manifest:", manifest);
42
35
  // Try to find the entry directly or by source file
43
36
  const manifestEntry = manifest[id] ||
44
37
  Object.values(manifest).find(entry => entry.src === id);
@@ -0,0 +1,16 @@
1
+ import type { MessagePort } from 'node:worker_threads';
2
+ import type { LoadHookContext } from 'node:module';
3
+ type LoaderContext = {
4
+ data?: {
5
+ port: MessagePort;
6
+ };
7
+ };
8
+ export declare function initialize(data: {
9
+ port: MessagePort;
10
+ }): Promise<void>;
11
+ export declare function setCurrentPage(page: string | null): void;
12
+ export declare function getCssFilesForPage(page: string): string[];
13
+ export declare function load(url: string, context: LoadHookContext & LoaderContext, defaultLoad: any): Promise<any>;
14
+ export declare function resolve(specifier: string, context: any, defaultResolve: any): any;
15
+ export {};
16
+ //# sourceMappingURL=css-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-loader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/css-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CAC9B,CAAC;AAKF,wBAAsB,UAAU,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,iBAI3D;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,QAKjD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AAGD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,aAAa,EAAE,WAAW,EAAE,GAAG,gBAqDjG;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,OAE3E"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { readFile } from 'fs/promises';
7
+ import { basename } from 'path';
8
+ import postcss from 'postcss';
9
+
10
+ let cssLoaderPort;
11
+ async function initialize(data) {
12
+ cssLoaderPort = data.port;
13
+ data.port.postMessage({ type: "INITIALIZED" });
14
+ data.port.unref();
15
+ }
16
+ const cssFilesByPage = /* @__PURE__ */ new Map();
17
+ function setCurrentPage(page) {
18
+ if (page && !cssFilesByPage.has(page)) {
19
+ cssFilesByPage.set(page, /* @__PURE__ */ new Set());
20
+ }
21
+ }
22
+ function getCssFilesForPage(page) {
23
+ return Array.from(cssFilesByPage.get(page) || []);
24
+ }
25
+ async function load(url, context, defaultLoad) {
26
+ if (url.endsWith(".css")) {
27
+ const source = await readFile(new URL(url), "utf-8");
28
+ const result = await postcss().process(source, {
29
+ from: url,
30
+ to: url,
31
+ map: {
32
+ inline: false,
33
+ annotation: false
34
+ }
35
+ });
36
+ const moduleName = basename(url, ".css").replace(".", "_");
37
+ const classes = {};
38
+ result.root.walkRules((rule) => {
39
+ const selector = rule.selector.replace(".", "");
40
+ const className = `${moduleName}_${selector}`;
41
+ classes[selector] = className;
42
+ rule.selector = `.${className}`;
43
+ });
44
+ const transformedCss = result.root.toString();
45
+ if (cssLoaderPort) {
46
+ cssLoaderPort.postMessage({
47
+ type: "CSS_FILE",
48
+ id: url,
49
+ cssFile: transformedCss
50
+ });
51
+ }
52
+ const moduleSource = `
53
+ const styles = ${JSON.stringify(classes)};
54
+ export default styles;
55
+ export const css = ${JSON.stringify(transformedCss)};
56
+ `;
57
+ return {
58
+ format: "module",
59
+ source: moduleSource,
60
+ shortCircuit: true
61
+ };
62
+ }
63
+ return defaultLoad(url, context, defaultLoad);
64
+ }
65
+ function resolve(specifier, context, defaultResolve) {
66
+ return defaultResolve(specifier, context, defaultResolve);
67
+ }
68
+
69
+ export { getCssFilesForPage, initialize, load, resolve, setCurrentPage };
70
+ //# sourceMappingURL=css-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-loader.js","sources":["../../../plugin/loader/css-loader.ts"],"sourcesContent":["import { readFile } from 'fs/promises';\nimport { basename } from 'path';\nimport postcss from 'postcss';\nimport type { MessagePort } from 'node:worker_threads';\nimport type { CssFileMessage } from '../worker/types.js';\nimport type { LoadHookContext } from 'node:module';\n\ntype LoaderContext = {\n data?: { port: MessagePort };\n};\n// Store port globally for CSS loader\nlet cssLoaderPort: MessagePort | undefined;\n\n// Initialize hook\nexport async function initialize(data: { port: MessagePort }) {\n cssLoaderPort = data.port; // Store port\n data.port.postMessage({ type: 'INITIALIZED' });\n data.port.unref();\n}\n\n// CSS file tracking per page\nconst cssFilesByPage = new Map<string, Set<string>>();\nlet currentPage: string | null = null;\n\nexport function setCurrentPage(page: string | null) {\n currentPage = page;\n if (page && !cssFilesByPage.has(page)) {\n cssFilesByPage.set(page, new Set());\n }\n}\n\nexport function getCssFilesForPage(page: string): string[] {\n return Array.from(cssFilesByPage.get(page) || []);\n}\n\n// Modify the CSS handling in the load function\nexport async function load(url: string, context: LoadHookContext & LoaderContext, defaultLoad: any) {\n // Handle CSS files\n if(url.endsWith(\".css\")) {\n const source = await readFile(new URL(url), 'utf-8');\n \n // Process CSS with PostCSS\n const result = await postcss().process(source, {\n from: url,\n to: url,\n map: {\n inline: false,\n annotation: false\n }\n });\n\n // Generate both transformed CSS and class mappings\n const moduleName = basename(url, '.css').replace('.', '_');\n const classes: Record<string, string> = {};\n\n // Transform selectors\n result.root.walkRules(rule => {\n const selector = rule.selector.replace('.', '');\n const className = `${moduleName}_${selector}`;\n classes[selector] = className;\n rule.selector = `.${className}`;\n });\n\n // Get transformed CSS using root.toString()\n const transformedCss = result.root.toString();\n\n // Send processed CSS to worker\n if (cssLoaderPort) {\n cssLoaderPort.postMessage({\n type: 'CSS_FILE',\n id: url,\n cssFile: transformedCss\n } satisfies CssFileMessage);\n }\n \n // Return CSS module\n const moduleSource = `\n const styles = ${JSON.stringify(classes)};\n export default styles;\n export const css = ${JSON.stringify(transformedCss)};\n `;\n\n return {\n format: 'module',\n source: moduleSource,\n shortCircuit: true\n };\n }\n return defaultLoad(url, context, defaultLoad);\n}\n\nexport function resolve(specifier: string, context: any, defaultResolve: any) {\n return defaultResolve(specifier, context, defaultResolve);\n}\n\n\n"],"names":[],"mappings":";;;;;;;;;AAWA,IAAI,aAAA;AAGJ,eAAsB,WAAW,IAA6B,EAAA;AAC5D,EAAA,aAAA,GAAgB,IAAK,CAAA,IAAA;AACrB,EAAA,IAAA,CAAK,IAAK,CAAA,WAAA,CAAY,EAAE,IAAA,EAAM,eAAe,CAAA;AAC7C,EAAA,IAAA,CAAK,KAAK,KAAM,EAAA;AAClB;AAGA,MAAM,cAAA,uBAAqB,GAAyB,EAAA;AAG7C,SAAS,eAAe,IAAqB,EAAA;AAElD,EAAA,IAAI,IAAQ,IAAA,CAAC,cAAe,CAAA,GAAA,CAAI,IAAI,CAAG,EAAA;AACrC,IAAA,cAAA,CAAe,GAAI,CAAA,IAAA,kBAAU,IAAA,GAAA,EAAK,CAAA;AAAA;AAEtC;AAEO,SAAS,mBAAmB,IAAwB,EAAA;AACzD,EAAA,OAAO,MAAM,IAAK,CAAA,cAAA,CAAe,IAAI,IAAI,CAAA,IAAK,EAAE,CAAA;AAClD;AAGsB,eAAA,IAAA,CAAK,GAAa,EAAA,OAAA,EAA0C,WAAkB,EAAA;AAElG,EAAG,IAAA,GAAA,CAAI,QAAS,CAAA,MAAM,CAAG,EAAA;AACvB,IAAA,MAAM,SAAS,MAAM,QAAA,CAAS,IAAI,GAAI,CAAA,GAAG,GAAG,OAAO,CAAA;AAGnD,IAAA,MAAM,MAAS,GAAA,MAAM,OAAQ,EAAA,CAAE,QAAQ,MAAQ,EAAA;AAAA,MAC7C,IAAM,EAAA,GAAA;AAAA,MACN,EAAI,EAAA,GAAA;AAAA,MACJ,GAAK,EAAA;AAAA,QACH,MAAQ,EAAA,KAAA;AAAA,QACR,UAAY,EAAA;AAAA;AACd,KACD,CAAA;AAGD,IAAA,MAAM,aAAa,QAAS,CAAA,GAAA,EAAK,MAAM,CAAE,CAAA,OAAA,CAAQ,KAAK,GAAG,CAAA;AACzD,IAAA,MAAM,UAAkC,EAAC;AAGzC,IAAO,MAAA,CAAA,IAAA,CAAK,UAAU,CAAQ,IAAA,KAAA;AAC5B,MAAA,MAAM,QAAW,GAAA,IAAA,CAAK,QAAS,CAAA,OAAA,CAAQ,KAAK,EAAE,CAAA;AAC9C,MAAA,MAAM,SAAY,GAAA,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA;AAC3C,MAAA,OAAA,CAAQ,QAAQ,CAAI,GAAA,SAAA;AACpB,MAAK,IAAA,CAAA,QAAA,GAAW,IAAI,SAAS,CAAA,CAAA;AAAA,KAC9B,CAAA;AAGD,IAAM,MAAA,cAAA,GAAiB,MAAO,CAAA,IAAA,CAAK,QAAS,EAAA;AAG5C,IAAA,IAAI,aAAe,EAAA;AACjB,MAAA,aAAA,CAAc,WAAY,CAAA;AAAA,QACxB,IAAM,EAAA,UAAA;AAAA,QACN,EAAI,EAAA,GAAA;AAAA,QACJ,OAAS,EAAA;AAAA,OACe,CAAA;AAAA;AAI5B,IAAA,MAAM,YAAe,GAAA;AAAA,qBACF,EAAA,IAAA,CAAK,SAAU,CAAA,OAAO,CAAC,CAAA;AAAA;AAAA,yBAEnB,EAAA,IAAA,CAAK,SAAU,CAAA,cAAc,CAAC,CAAA;AAAA,IAAA,CAAA;AAGrD,IAAO,OAAA;AAAA,MACL,MAAQ,EAAA,QAAA;AAAA,MACR,MAAQ,EAAA,YAAA;AAAA,MACR,YAAc,EAAA;AAAA,KAChB;AAAA;AAEF,EAAO,OAAA,WAAA,CAAY,GAAK,EAAA,OAAA,EAAS,WAAW,CAAA;AAC9C;AAEgB,SAAA,OAAA,CAAQ,SAAmB,EAAA,OAAA,EAAc,cAAqB,EAAA;AAC5E,EAAO,OAAA,cAAA,CAAe,SAAW,EAAA,OAAA,EAAS,cAAc,CAAA;AAC1D;;;;"}
@@ -0,0 +1,17 @@
1
+ import { type LoadHookContext, type ResolveHookContext } from "node:module";
2
+ import type { MessagePort } from "node:worker_threads";
3
+ interface LoaderContext {
4
+ data?: {
5
+ port: MessagePort;
6
+ };
7
+ }
8
+ export declare function getSource(url: string, context: any, defaultGetSource: any): Promise<any>;
9
+ export declare function transformModuleIfNeeded(source: string, url: string, loader: any, port?: MessagePort): Promise<string>;
10
+ export declare function initialize(data: {
11
+ port: MessagePort;
12
+ }): Promise<void>;
13
+ export declare function resolve(specifier: string, context: ResolveHookContext, nextResolve: any): Promise<any>;
14
+ export declare function load(url: string, context: LoadHookContext & LoaderContext, nextLoad: any): Promise<any>;
15
+ export declare function transformSource(source: string, context: any, defaultTransformSource: any): Promise<any>;
16
+ export {};
17
+ //# sourceMappingURL=react-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-loader.d.ts","sourceRoot":"","sources":["../../../plugin/loader/react-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYvD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CAC9B;AAKD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,GAAG,EACZ,gBAAgB,EAAE,GAAG,gBAKtB;AAomBD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,GAAG,EACX,IAAI,CAAC,EAAE,WAAW,mBAwDnB;AA4KD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,iBAI3D;AAGD,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,GAAG,gBAGjB;AAGD,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,eAAe,GAAG,aAAa,EACxC,QAAQ,EAAE,GAAG,gBAad;AAGD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,sBAAsB,EAAE,GAAG,gBAyB5B"}