vite-plugin-react-server 1.1.13 → 1.1.14

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 (159) hide show
  1. package/dist/package.json +3 -1
  2. package/dist/plugin/config/defaults.d.ts +2 -2
  3. package/dist/plugin/config/defaults.d.ts.map +1 -1
  4. package/dist/plugin/config/defaults.js +2 -2
  5. package/dist/plugin/config/defaults.js.map +1 -1
  6. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  7. package/dist/plugin/config/resolveOptions.js +98 -61
  8. package/dist/plugin/config/resolveOptions.js.map +1 -1
  9. package/dist/plugin/error/toError.d.ts.map +1 -1
  10. package/dist/plugin/error/toError.js +0 -1
  11. package/dist/plugin/error/toError.js.map +1 -1
  12. package/dist/plugin/helpers/collectManifestCss.d.ts +1 -2
  13. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
  14. package/dist/plugin/helpers/collectManifestCss.js +3 -5
  15. package/dist/plugin/helpers/collectManifestCss.js.map +1 -1
  16. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +1 -1
  17. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  18. package/dist/plugin/helpers/collectViteModuleGraphCss.js +6 -2
  19. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  20. package/dist/plugin/helpers/createCssProps.d.ts +1 -1
  21. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  22. package/dist/plugin/helpers/createCssProps.js +11 -32
  23. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  24. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  25. package/dist/plugin/helpers/createRscStream.js +1 -0
  26. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  27. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  28. package/dist/plugin/loader/createDefaultLoader.js +68 -4
  29. package/dist/plugin/loader/css-loader.development.d.ts +2 -15
  30. package/dist/plugin/loader/css-loader.development.d.ts.map +1 -1
  31. package/dist/plugin/loader/css-loader.development.js +16 -15
  32. package/dist/plugin/loader/css-loader.development.js.map +1 -1
  33. package/dist/plugin/loader/css-loader.production.d.ts +1 -1
  34. package/dist/plugin/loader/css-loader.production.d.ts.map +1 -1
  35. package/dist/plugin/loader/css-loader.production.js +1 -1
  36. package/dist/plugin/loader/css-loader.production.js.map +1 -1
  37. package/dist/plugin/loader/env-loader.development.d.ts +1 -0
  38. package/dist/plugin/loader/env-loader.development.d.ts.map +1 -1
  39. package/dist/plugin/loader/env-loader.development.js +17 -9
  40. package/dist/plugin/loader/handleExports.d.ts +1 -0
  41. package/dist/plugin/loader/handleExports.d.ts.map +1 -1
  42. package/dist/plugin/loader/handleExports.js +27 -8
  43. package/dist/plugin/loader/handleExports.js.map +1 -1
  44. package/dist/plugin/loader/react-loader.server.d.ts +2 -2
  45. package/dist/plugin/loader/react-loader.server.d.ts.map +1 -1
  46. package/dist/plugin/loader/react-loader.server.js +88 -26
  47. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  48. package/dist/plugin/loader/transformModuleIfNeeded.js +1 -1
  49. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -1
  50. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -1
  51. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +86 -13
  52. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -1
  53. package/dist/plugin/plugin.client.d.ts.map +1 -1
  54. package/dist/plugin/plugin.client.js +0 -1
  55. package/dist/plugin/plugin.client.js.map +1 -1
  56. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  57. package/dist/plugin/react-client/configureWorkerRequestHandler.js +85 -6
  58. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -1
  59. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  60. package/dist/plugin/react-client/createMessageHandlers.js +3 -0
  61. package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
  62. package/dist/plugin/react-client/createWorkerStream.d.ts +2 -2
  63. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  64. package/dist/plugin/react-client/createWorkerStream.js +13 -2
  65. package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
  66. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  67. package/dist/plugin/react-client/handleWorkerRscStream.js +10 -3
  68. package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -1
  69. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  70. package/dist/plugin/react-client/restartWorker.js +2 -1
  71. package/dist/plugin/react-client/restartWorker.js.map +1 -1
  72. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  73. package/dist/plugin/react-server/configureReactServer.js +1 -2
  74. package/dist/plugin/react-server/configureReactServer.js.map +1 -1
  75. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  76. package/dist/plugin/react-server/handleServerAction.js +0 -16
  77. package/dist/plugin/react-server/handleServerAction.js.map +1 -1
  78. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -0
  79. package/dist/plugin/react-static/createBuildLoader.js.map +1 -0
  80. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  81. package/dist/plugin/react-static/plugin.js +9 -12
  82. package/dist/plugin/react-static/plugin.js.map +1 -1
  83. package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -0
  84. package/dist/plugin/react-static/temporaryReferences.js.map +1 -0
  85. package/dist/plugin/transformer/plugin.server.js +2 -2
  86. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  87. package/dist/plugin/types.d.ts +14 -3
  88. package/dist/plugin/types.d.ts.map +1 -1
  89. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  90. package/dist/plugin/worker/rsc/handleRender.js +1 -0
  91. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  92. package/dist/plugin/worker/rsc/handlers.d.ts +3 -0
  93. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -0
  94. package/dist/plugin/worker/rsc/handlers.js +223 -0
  95. package/dist/plugin/worker/rsc/handlers.js.map +1 -0
  96. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  97. package/dist/plugin/worker/rsc/messageHandler.js +5 -110
  98. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  99. package/dist/plugin/worker/rsc/rsc-worker.development.js +13 -16
  100. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  101. package/dist/plugin/worker/rsc/state.d.ts +1 -2
  102. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  103. package/dist/plugin/worker/rsc/state.js +1 -2
  104. package/dist/plugin/worker/rsc/state.js.map +1 -1
  105. package/dist/plugin/worker/rsc/userOptions.d.ts +2 -0
  106. package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -0
  107. package/dist/plugin/worker/rsc/userOptions.js +17 -0
  108. package/dist/plugin/worker/rsc/userOptions.js.map +1 -0
  109. package/dist/plugin/worker/types.d.ts +2 -1
  110. package/dist/plugin/worker/types.d.ts.map +1 -1
  111. package/dist/tsconfig.tsbuildinfo +1 -1
  112. package/package.json +5 -1
  113. package/plugin/config/defaults.tsx +5 -2
  114. package/plugin/config/resolveOptions.ts +101 -67
  115. package/plugin/error/toError.ts +0 -2
  116. package/plugin/helpers/collectManifestCss.ts +2 -6
  117. package/plugin/helpers/collectViteModuleGraphCss.ts +6 -0
  118. package/plugin/helpers/createCssProps.tsx +17 -46
  119. package/plugin/helpers/createRscStream.tsx +1 -0
  120. package/plugin/loader/createDefaultLoader.ts +80 -4
  121. package/plugin/loader/css-loader.development.ts +17 -34
  122. package/plugin/loader/css-loader.production.ts +2 -4
  123. package/plugin/loader/env-loader.development.ts +38 -15
  124. package/plugin/loader/handleExports.ts +36 -13
  125. package/plugin/loader/react-loader.server.ts +110 -32
  126. package/plugin/loader/transformModuleIfNeeded.ts +2 -2
  127. package/plugin/loader/transformModuleWithPreservedFunctions.ts +128 -21
  128. package/plugin/plugin.client.ts +0 -2
  129. package/plugin/react-client/configureWorkerRequestHandler.ts +107 -4
  130. package/plugin/react-client/createMessageHandlers.ts +3 -0
  131. package/plugin/react-client/createWorkerStream.ts +15 -1
  132. package/plugin/react-client/handleWorkerRscStream.ts +12 -3
  133. package/plugin/react-client/restartWorker.ts +1 -0
  134. package/plugin/react-server/configureReactServer.ts +1 -2
  135. package/plugin/react-server/handleServerAction.ts +1 -19
  136. package/plugin/react-static/plugin.ts +9 -12
  137. package/plugin/transformer/plugin.server.ts +2 -2
  138. package/plugin/types.ts +25 -2
  139. package/plugin/worker/rsc/handleRender.ts +1 -0
  140. package/plugin/worker/rsc/handlers.ts +243 -0
  141. package/plugin/worker/rsc/messageHandler.tsx +4 -118
  142. package/plugin/worker/rsc/rsc-worker.development.ts +17 -20
  143. package/plugin/worker/rsc/state.ts +2 -6
  144. package/plugin/worker/rsc/userOptions.ts +8 -0
  145. package/plugin/worker/types.ts +2 -0
  146. package/dist/plugin/loader/createBuildLoader.d.ts.map +0 -1
  147. package/dist/plugin/loader/createBuildLoader.js.map +0 -1
  148. package/dist/plugin/loader/plugin.d.ts +0 -22
  149. package/dist/plugin/loader/plugin.d.ts.map +0 -1
  150. package/dist/plugin/loader/plugin.js +0 -27
  151. package/dist/plugin/loader/temporaryReferences.d.ts.map +0 -1
  152. package/dist/plugin/loader/temporaryReferences.js.map +0 -1
  153. package/plugin/loader/plugin.ts +0 -33
  154. /package/dist/plugin/{loader → react-static}/createBuildLoader.d.ts +0 -0
  155. /package/dist/plugin/{loader → react-static}/createBuildLoader.js +0 -0
  156. /package/dist/plugin/{loader → react-static}/temporaryReferences.d.ts +0 -0
  157. /package/dist/plugin/{loader → react-static}/temporaryReferences.js +0 -0
  158. /package/plugin/{loader → react-static}/createBuildLoader.ts +0 -0
  159. /package/plugin/{loader → react-static}/temporaryReferences.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerAction.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/handleServerAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,wBAAsB,kBAAkB,CACtC,CAAC,SAAS,WAAW,EACrB,SAAS,SAAS,YAAY,EAE9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,iBA8JlD"}
1
+ {"version":3,"file":"handleServerAction.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/handleServerAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,wBAAsB,kBAAkB,CACtC,CAAC,SAAS,WAAW,EACrB,SAAS,SAAS,YAAY,EAE9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,iBA4IlD"}
@@ -122,22 +122,6 @@ async function handleServerAction(req, res, server, handlerOptions) {
122
122
  pipe(res);
123
123
  } catch (error) {
124
124
  logError(error, server.config.logger);
125
- res.statusCode = 500;
126
- res.setHeader("Content-Type", "text/x-component; charset=utf-8");
127
- const { pipe } = ReactDOMServer.renderToPipeableStream(
128
- {
129
- type: "server-action-response",
130
- error: toError(error).message
131
- },
132
- handlerOptions.moduleBasePath,
133
- {
134
- onError(error2) {
135
- logError(error2, server.config.logger);
136
- res.end();
137
- }
138
- }
139
- );
140
- pipe(res);
141
125
  }
142
126
  }
143
127
 
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerAction.js","sources":["../../../plugin/react-server/handleServerAction.ts"],"sourcesContent":["import type { ViteDevServer } from \"vite\";\nimport type {\n InlineCssOpt,\n PagePropOpt,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { logError, toError } from \"../error/toError.js\";\nimport { join } from \"path\";\nimport { ReactDOMServer } from \"../vendor/vendor.server.js\";\nimport type { IncomingMessage, ServerResponse } from \"http\";\n\nexport async function handleServerAction<\n T extends PagePropOpt,\n InlineCss extends InlineCssOpt\n>(\n req: IncomingMessage,\n res: ServerResponse,\n server: ViteDevServer,\n handlerOptions: ResolvedUserOptions<T, InlineCss>\n) {\n try {\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Handling server action request at ${req.url}`\n );\n }\n\n // Parse the request body - handle both formats:\n // 1. Direct args array: [\"arg1\", \"arg2\"]\n // 2. Object with id and args: { id: \"path/to/action\", args: [\"arg1\", \"arg2\"] }\n let id: string;\n let args: unknown[];\n try {\n const chunks: Buffer[] = [];\n for await (const chunk of req) {\n chunks.push(chunk);\n }\n const body = Buffer.concat(chunks).toString();\n if (handlerOptions.verbose) {\n server.config.logger.info(`[react-server] Request body: ${body}`);\n }\n\n const parsed = JSON.parse(body);\n if (Array.isArray(parsed)) {\n // Format 1: Direct args array\n args = parsed;\n // Get the action ID from the request URL\n id = req.url?.split(\"?\")[0] ?? \"\";\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Using action ID from URL: ${id}`\n );\n }\n } else if (parsed && typeof parsed === \"object\" && \"id\" in parsed) {\n // Format 2: Object with id and args\n id = parsed.id;\n args = parsed.args ?? [];\n } else {\n throw new Error(\"Invalid server action request format\");\n }\n } catch (error: unknown) {\n const err = toError(error);\n throw new Error(`Failed to parse server action request`, {\n cause: err,\n });\n }\n\n if (!id) {\n throw new Error(\"Server action ID is required\");\n }\n\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Server action request for ${id} with args: ${JSON.stringify(\n args\n )}`\n );\n }\n\n // Parse the server action ID to get the file path and export name\n const [filePath, exportName] = id.split(\"#\");\n if (!filePath || !exportName) {\n throw new Error(\n `Invalid server action ID format: ${id}. Expected format: \"path/to/file.ts#exportName\"`\n );\n }\n\n // Convert the server action ID to a file path\n const actionPath = filePath.startsWith(\"/\") ? filePath.slice(1) : filePath;\n const fullPath = join(handlerOptions.projectRoot, actionPath);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Resolved file path: id=${id}, actionPath=${actionPath}, projectRoot=${handlerOptions.projectRoot}, filePath=${fullPath}, exportName=${exportName}`\n );\n }\n\n // Load the server action module\n if (handlerOptions.verbose) {\n server.config.logger.info(`[react-server] Loading module: ${fullPath}`);\n }\n const module = await server.ssrLoadModule(fullPath);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Looking for action: ${exportName} in module with exports: ${Object.keys(\n module\n ).join(\", \")}`\n );\n }\n const action = module[exportName];\n\n if (typeof action !== \"function\") {\n if (handlerOptions.verbose) {\n server.config.logger.error(\n `[react-server] Action not found: ${exportName} in module with exports: ${Object.keys(\n module\n ).join(\", \")}`\n );\n }\n throw new Error(`Server action not found: ${id}`);\n }\n\n // Execute the server action\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Executing action with args: ${JSON.stringify(args)}`\n );\n }\n const result = await action(...args);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Action completed successfully with result: ${JSON.stringify(\n result\n )}`\n );\n }\n\n // Send the response\n res.setHeader(\"Content-Type\", \"text/x-component; charset=utf-8\");\n\n const { pipe } = ReactDOMServer.renderToPipeableStream(\n {\n type: \"server-action-response\",\n returnValue: result,\n },\n handlerOptions.moduleBasePath,\n {\n onError(error: Error) {\n logError(error, server.config.logger);\n res.statusCode = 500;\n res.end();\n },\n }\n );\n\n pipe(res);\n } catch (error) {\n logError(error, server.config.logger);\n res.statusCode = 500;\n res.setHeader(\"Content-Type\", \"text/x-component; charset=utf-8\");\n\n const { pipe } = ReactDOMServer.renderToPipeableStream(\n {\n type: \"server-action-response\",\n error: toError(error).message,\n },\n handlerOptions.moduleBasePath,\n {\n onError(error: Error) {\n logError(error, server.config.logger);\n res.end();\n },\n }\n );\n\n pipe(res);\n }\n}\n"],"names":["error"],"mappings":"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"}
1
+ {"version":3,"file":"handleServerAction.js","sources":["../../../plugin/react-server/handleServerAction.ts"],"sourcesContent":["import type { ViteDevServer } from \"vite\";\nimport type {\n InlineCssOpt,\n PagePropOpt,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { logError, toError } from \"../error/toError.js\";\nimport { join } from \"path\";\nimport { ReactDOMServer } from \"../vendor/vendor.server.js\";\nimport type { IncomingMessage, ServerResponse } from \"http\";\n\nexport async function handleServerAction<\n T extends PagePropOpt,\n InlineCss extends InlineCssOpt\n>(\n req: IncomingMessage,\n res: ServerResponse,\n server: ViteDevServer,\n handlerOptions: ResolvedUserOptions<T, InlineCss>\n) {\n try {\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Handling server action request at ${req.url}`\n );\n }\n\n // Parse the request body - handle both formats:\n // 1. Direct args array: [\"arg1\", \"arg2\"]\n // 2. Object with id and args: { id: \"path/to/action\", args: [\"arg1\", \"arg2\"] }\n let id: string;\n let args: unknown[];\n try {\n const chunks: Buffer[] = [];\n for await (const chunk of req) {\n chunks.push(chunk);\n }\n const body = Buffer.concat(chunks).toString();\n if (handlerOptions.verbose) {\n server.config.logger.info(`[react-server] Request body: ${body}`);\n }\n\n const parsed = JSON.parse(body);\n if (Array.isArray(parsed)) {\n // Format 1: Direct args array\n args = parsed;\n // Get the action ID from the request URL\n id = req.url?.split(\"?\")[0] ?? \"\";\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Using action ID from URL: ${id}`\n );\n }\n } else if (parsed && typeof parsed === \"object\" && \"id\" in parsed) {\n // Format 2: Object with id and args\n id = parsed.id;\n args = parsed.args ?? [];\n } else {\n throw new Error(\"Invalid server action request format\");\n }\n } catch (error: unknown) {\n const err = toError(error);\n throw new Error(`Failed to parse server action request`, {\n cause: err,\n });\n }\n\n if (!id) {\n throw new Error(\"Server action ID is required\");\n }\n\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Server action request for ${id} with args: ${JSON.stringify(\n args\n )}`\n );\n }\n\n // Parse the server action ID to get the file path and export name\n const [filePath, exportName] = id.split(\"#\");\n if (!filePath || !exportName) {\n throw new Error(\n `Invalid server action ID format: ${id}. Expected format: \"path/to/file.ts#exportName\"`\n );\n }\n\n // Convert the server action ID to a file path\n const actionPath = filePath.startsWith(\"/\") ? filePath.slice(1) : filePath;\n const fullPath = join(handlerOptions.projectRoot, actionPath);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Resolved file path: id=${id}, actionPath=${actionPath}, projectRoot=${handlerOptions.projectRoot}, filePath=${fullPath}, exportName=${exportName}`\n );\n }\n\n // Load the server action module\n if (handlerOptions.verbose) {\n server.config.logger.info(`[react-server] Loading module: ${fullPath}`);\n }\n const module = await server.ssrLoadModule(fullPath);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Looking for action: ${exportName} in module with exports: ${Object.keys(\n module\n ).join(\", \")}`\n );\n }\n const action = module[exportName];\n\n if (typeof action !== \"function\") {\n if (handlerOptions.verbose) {\n server.config.logger.error(\n `[react-server] Action not found: ${exportName} in module with exports: ${Object.keys(\n module\n ).join(\", \")}`\n );\n }\n throw new Error(`Server action not found: ${id}`);\n }\n\n // Execute the server action\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Executing action with args: ${JSON.stringify(args)}`\n );\n }\n const result = await action(...args);\n if (handlerOptions.verbose) {\n server.config.logger.info(\n `[react-server] Action completed successfully with result: ${JSON.stringify(\n result\n )}`\n );\n }\n\n // Send the response\n res.setHeader(\"Content-Type\", \"text/x-component; charset=utf-8\");\n\n const { pipe } = ReactDOMServer.renderToPipeableStream(\n {\n type: \"server-action-response\",\n returnValue: result\n },\n handlerOptions.moduleBasePath,\n {\n onError(error: Error) {\n logError(error, server.config.logger);\n res.statusCode = 500;\n res.end();\n },\n }\n );\n\n pipe(res);\n } catch (error) {\n logError(error, server.config.logger);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY;IAE7C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,EACE,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,EACnC,MAAM,EAAE,YAAY,gBAOkB,MAAM,mBAgJ7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBuildLoader.js","sources":["../../../plugin/react-static/createBuildLoader.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport type {\n InlineCssOpt,\n PagePropOpt,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../../server.js\";\nimport type { Manifest } from \"vite\";\nimport { getModuleRef } from \"../helpers/moduleRefs.js\";\nimport type { OutputBundle } from \"rollup\";\nimport { temporaryReferences } from \"./temporaryReferences.js\";\nimport { toError } from \"../error/toError.js\";\n\nexport interface BuildLoaderOptions<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> {\n userConfig: ResolvedUserConfig;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n serverManifest: Manifest;\n clientManifest: Manifest;\n staticManifest: Manifest;\n}\n\n/**\n * Creates a loader function for handling module resolution during build.\n *\n * The loader handles the following strategy:\n * - For client components: Use client manifest and client.browser.js\n * - For server components: Use server manifest and server.js\n * - For static assets: Use static manifest\n */\nexport async function createBuildLoader<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n {\n userOptions,\n serverManifest,\n clientManifest,\n staticManifest,\n }: BuildLoaderOptions<T, InlineCSS>,\n bundle: OutputBundle\n) {\n const manifestKeys = Object.keys(serverManifest);\n if (!manifestKeys.length) {\n throw new Error(\"Server manifest is empty\");\n }\n\n return async function buildLoader(id: string) {\n const [withoutQuery, query] = id.split(\"?\", 2);\n const [normalizedKey, normalizedValue] =\n userOptions.normalizer(withoutQuery);\n const moduleRef = getModuleRef(id);\n\n // Check if we have a temporary reference (cached module)\n if (temporaryReferences?.has(moduleRef)) {\n const mod = temporaryReferences.get(moduleRef);\n if (typeof mod === \"object\" && mod !== null && \"error\" in mod) {\n // ignore it\n } else {\n return mod;\n }\n }\n\n try {\n // For inline modules, handle them directly\n if (query === \"inline\") {\n const startsWithMarker = normalizedKey.split(\"-\")[0];\n const serverChunk =\n bundle[serverManifest[normalizedValue]?.file] ??\n bundle[staticManifest[normalizedValue]?.file] ??\n bundle[clientManifest[normalizedValue]?.file] ??\n bundle[withoutQuery] ??\n bundle[normalizedValue] ??\n Object.entries(bundle).find(\n ([, value]) => value.name === normalizedValue\n )?.[1] ??\n Object.entries(bundle).find(([_key]) =>\n _key.startsWith(startsWithMarker)\n )?.[1];\n\n if (serverChunk) {\n if (serverChunk.type === \"asset\") {\n // For CSS files, ensure we're in the React Server environment\n if (userOptions.autoDiscover.jsonPattern(normalizedValue)) {\n const jsonContent = serverChunk.source;\n if (typeof jsonContent === \"string\") {\n return { default: JSON.parse(jsonContent) };\n }\n } else if (userOptions.autoDiscover.cssPattern(normalizedValue)) {\n const cssContent = serverChunk.source;\n if (typeof cssContent === \"string\") {\n return { default: cssContent };\n }\n }\n return { default: serverChunk.source };\n } else if (\"code\" in serverChunk) {\n return { default: serverChunk.code };\n }\n }\n console.warn(\"Could not find inline module for: \" + normalizedValue);\n return null;\n }\n\n // Determine if this is a client component\n const isClientComponent =\n userOptions.autoDiscover.clientComponents(normalizedValue);\n const isServerAction =\n userOptions.autoDiscover.serverFunctions(normalizedValue);\n const isPage = userOptions.autoDiscover.pagePattern(normalizedValue);\n const isProps = userOptions.autoDiscover.propsPattern(normalizedValue);\n\n // For client components, use client manifest\n if (isClientComponent) {\n const clientEntry = clientManifest[normalizedValue];\n if (clientEntry) {\n try {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.client,\n clientEntry.file\n )\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n } catch (error) {\n const err = toError(error);\n console.warn(\"Error loading client module:\", err);\n temporaryReferences?.delete(moduleRef);\n throw err;\n }\n }\n }\n\n // For server components and actions, use server manifest\n if (isServerAction || isPage || isProps) {\n const serverEntry = serverManifest[normalizedValue];\n if (serverEntry) {\n try {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.server,\n serverEntry.file\n )\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n } catch (error) {\n const err = toError(error);\n console.warn(\"Error loading server module:\", err);\n temporaryReferences?.delete(moduleRef);\n throw err;\n }\n }\n }\n\n // For static assets, use static manifest\n const staticEntry = staticManifest[normalizedValue];\n if (staticEntry) {\n try {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n staticEntry.file\n )\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n } catch (error) {\n const err = toError(error);\n console.warn(\"Error loading static module:\", err);\n temporaryReferences?.delete(moduleRef);\n throw err;\n }\n }\n\n throw new Error(`Module ${normalizedValue} not found during build`);\n } catch (error) {\n const emptyExports = {\n error: error instanceof Error ? error : new Error(String(error)),\n id: id,\n };\n temporaryReferences?.delete(moduleRef);\n return emptyExports;\n }\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAGL,KAAK,MAAM,IAAI,UAAU,EAE1B,MAAM,MAAM,CAAC;AAId,OAAO,KAAK,EAEV,qBAAqB,EAOrB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyBvD,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,GACzC,UAAU,CAAC;IACZ,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAgXD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAGL,KAAK,MAAM,IAAI,UAAU,EAE1B,MAAM,MAAM,CAAC;AAId,OAAO,KAAK,EAEV,qBAAqB,EAOrB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAyBvD,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,GACzC,UAAU,CAAC;IACZ,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CA6WD"}
@@ -8,7 +8,7 @@ import 'node:worker_threads';
8
8
  import { createLogger } from 'vite';
9
9
  import { resolveOptions } from '../config/resolveOptions.js';
10
10
  import { resolveUserConfig } from '../config/resolveUserConfig.js';
11
- import { createBuildLoader } from '../loader/createBuildLoader.js';
11
+ import { createBuildLoader } from './createBuildLoader.js';
12
12
  import { renderPages } from './renderPages.js';
13
13
  import { getBundleManifest } from '../helpers/getBundleManifest.js';
14
14
  import { createWorker } from '../worker/createWorker.js';
@@ -148,8 +148,7 @@ function reactStaticPlugin(options) {
148
148
  const cssFilesByPage = /* @__PURE__ */ new Map();
149
149
  const globalCssInputs = collectManifestCss(
150
150
  autoDiscoveredFiles?.staticManifest ?? {},
151
- "index.html",
152
- userOptions
151
+ "index.html"
153
152
  );
154
153
  const globalCss = /* @__PURE__ */ new Map();
155
154
  for (const [url, { page, props }] of autoDiscoveredFiles?.urlMap ?? []) {
@@ -169,8 +168,7 @@ function reactStaticPlugin(options) {
169
168
  );
170
169
  const cssInputs = collectManifestCss(
171
170
  transformedServerManifest,
172
- props ? [page, props] : page,
173
- userOptions
171
+ props ? [page, props] : page
174
172
  );
175
173
  const pageCssMap = /* @__PURE__ */ new Map();
176
174
  if (Object.keys(globalCssInputs).length > 0) {
@@ -184,16 +182,16 @@ function reactStaticPlugin(options) {
184
182
  userOptions.projectRoot,
185
183
  userOptions.build.outDir,
186
184
  userOptions.build.static,
187
- key + ".css"
185
+ key
188
186
  ),
189
187
  "utf-8"
190
188
  ) ?? "";
191
189
  }
192
190
  if (cssContent) {
193
191
  globalCss.set(
194
- value,
192
+ key,
195
193
  createCssProps({
196
- id: value,
194
+ id: key,
197
195
  code: cssContent,
198
196
  userOptions
199
197
  })
@@ -201,7 +199,7 @@ function reactStaticPlugin(options) {
201
199
  }
202
200
  }
203
201
  }
204
- for (const [, value] of Object.entries(cssInputs)) {
202
+ for (const [key, value] of Object.entries(cssInputs)) {
205
203
  try {
206
204
  const { default: cssContent } = await buildLoader(
207
205
  value + "?inline"
@@ -210,11 +208,10 @@ function reactStaticPlugin(options) {
210
208
  continue;
211
209
  }
212
210
  if (cssContent) {
213
- const cssPath = value.startsWith("/") ? value.slice(1) : value;
214
211
  pageCssMap.set(
215
- cssPath,
212
+ key,
216
213
  createCssProps({
217
- id: cssPath,
214
+ id: key,
218
215
  code: cssContent,
219
216
  userOptions
220
217
  })
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["../../../plugin/react-static/plugin.ts"],"sourcesContent":["/**\n * plugin.ts\n *\n * PURPOSE: Main Vite plugin for React Server Components (RSC) static site generation\n *\n * This module:\n * 1. Orchestrates the entire static site generation process\n * 2. Manages the lifecycle of the RSC rendering process\n * 3. Handles file writing for both initial page loads and client-side navigation\n * - Writes .html files for initial page loads (complete HTML document)\n * - Writes .rsc files for client-side navigation (RSC content only)\n * 4. Provides hooks for Vite to integrate with the build process\n * 5. Manages worker threads for parallel rendering\n * 6. Handles error reporting and metrics collection\n */\n\nimport { join } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\nimport {\n type Manifest,\n type ResolvedConfig,\n type Plugin as VitePlugin,\n createLogger,\n} from \"vite\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { createBuildLoader } from \"../loader/createBuildLoader.js\";\nimport type {\n BuildTiming,\n ReactStreamPluginMeta,\n ResolvedUserConfig,\n ResolvedUserOptions,\n PluginEvent,\n RenderPagesResult,\n AutoDiscoveredFiles,\n CssContent,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { renderPages } from \"./renderPages.js\";\nimport { getBundleManifest } from \"../helpers/getBundleManifest.js\";\nimport { createWorker } from \"../worker/createWorker.js\";\nimport { resolveAutoDiscover } from \"../config/autoDiscover/resolveAutoDiscover.js\";\nimport { getCondition } from \"../config/getCondition.js\";\nimport {\n serializedOptions,\n serializeResolvedConfig,\n} from \"../helpers/serializeUserOptions.js\";\nimport { collectManifestCss } from \"../helpers/collectManifestCss.js\";\nimport { createCssProps } from \"../helpers/createCssProps.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { performance } from \"node:perf_hooks\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { baseURL } from \"../utils/envUrls.node.js\";\nimport { readFile } from \"node:fs/promises\";\n\nif (getCondition() !== \"react-server\") {\n throw new Error(\n \"Condition mismatch, should be react-server but got \" +\n process.env[\"NODE_OPTIONS\"]\n );\n}\n\nexport function reactStaticPlugin<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n): VitePlugin<{\n meta: ReactStreamPluginMeta;\n}> {\n let worker: Worker;\n let userConfig: ResolvedUserConfig;\n let resolvedConfig: ResolvedConfig;\n let userOptions: ResolvedUserOptions<T, InlineCSS>;\n let autoDiscoveredFiles: AutoDiscoveredFiles | null = null;\n let serverManifest: Manifest | undefined = undefined;\n let buildLoader: Awaited<ReturnType<typeof createBuildLoader>> | undefined;\n const timing: BuildTiming = {\n start: Date.now(),\n configResolved: 0,\n buildStart: 0,\n renderStart: 0,\n };\n\n const resolvedOptions = resolveOptions(options);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n\n return {\n name: \"vite:plugin-react-server/static\",\n enforce: \"post\",\n api: {\n meta: { timing },\n },\n\n async config(config, configEnv) {\n if (config.root && config.root !== userOptions.projectRoot) {\n userOptions.projectRoot = config.root;\n }\n if(configEnv.command !== \"build\") {\n return;\n }\n // Initialize autoDiscoveredFiles for both server and client builds\n const autoDiscoverResult = await resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition: \"react-server\",\n });\n if (autoDiscoverResult.type === \"error\") {\n throw autoDiscoverResult.error;\n }\n autoDiscoveredFiles = autoDiscoverResult.autoDiscoveredFiles;\n const resolvedConfig = resolveUserConfig({\n condition: \"react-server\",\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n });\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n timing.configResolved = Date.now();\n },\n configResolved(config) {\n resolvedConfig = config;\n },\n async buildStart() {\n timing.buildStart = Date.now();\n if (userOptions.onEvent && autoDiscoveredFiles) {\n userOptions.onEvent({\n type: \"build.start\",\n data: {\n pages: Array.from(autoDiscoveredFiles.urlMap.keys()),\n files: autoDiscoveredFiles,\n },\n });\n }\n },\n\n async renderStart() {\n timing.renderStart = Date.now();\n },\n\n async writeBundle(options, bundle) {\n if (userOptions.onEvent) {\n userOptions.onEvent({\n type: \"build.writeBundle.static-server\",\n data: {\n pages: Array.from(autoDiscoveredFiles?.urlMap.keys() ?? []),\n options,\n bundle,\n },\n });\n }\n try {\n const bundleManifest = getBundleManifest<false>({\n bundle,\n normalizer: userOptions.normalizer,\n });\n if (!(\"source\" in bundleManifest[\".vite/manifest.json\"])) {\n throw new Error(\"Server manifest not found\");\n }\n\n serverManifest = JSON.parse(\n bundleManifest[\".vite/manifest.json\"].source as string\n );\n\n if (!serverManifest) {\n throw new Error(\"Failed to parse server manifest\");\n }\n \n const clientManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n outDir: join(userOptions.build.outDir, userOptions.build.client),\n ssrManifest: false,\n });\n if (clientManifestResult.type === \"error\") {\n throw clientManifestResult.error;\n }\n const clientManifest = clientManifestResult.manifest;\n\n buildLoader = await createBuildLoader<T, InlineCSS>(\n {\n userConfig,\n userOptions: userOptions as ResolvedUserOptions<T, InlineCSS>,\n serverManifest: serverManifest ?? {},\n staticManifest: autoDiscoveredFiles?.staticManifest ?? {},\n clientManifest: clientManifest ?? {},\n },\n bundle\n );\n\n // Create CSS props for each CSS file\n const cssFilesByPage = new Map();\n\n // First collect global styles from index.html\n const globalCssInputs = collectManifestCss(\n autoDiscoveredFiles?.staticManifest ?? {},\n \"index.html\",\n userOptions\n );\n\n const globalCss: Map<string, CssContent<InlineCSS>> = new Map();\n // Collect CSS files for each page and its props\n for (const [url, { page, props }] of autoDiscoveredFiles?.urlMap ??\n []) {\n const transformedServerManifest = Object.fromEntries(\n Object.entries(serverManifest).map(([key, value]) => {\n if (!value.css?.length) {\n return [key, value];\n }\n return [\n key,\n {\n ...value,\n css:\n autoDiscoveredFiles?.staticManifest[key]?.css ?? value.css,\n },\n ];\n })\n );\n const cssInputs = collectManifestCss(\n transformedServerManifest,\n props ? [page, props] : page,\n userOptions\n );\n\n // Create a map for this page's CSS files\n const pageCssMap: Map<string, CssContent> = new Map();\n // Add global styles if they exist\n if (Object.keys(globalCssInputs).length > 0) {\n for (const [key, value] of Object.entries(globalCssInputs)) {\n let cssContent = await buildLoader(value + \"?inline\").then((r) =>\n String(r.default)\n );\n if (cssContent === \"undefined\" || !cssContent) {\n cssContent = await readFile(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n key + \".css\"\n ),\n \"utf-8\"\n ) ?? \"\"\n }\n if (cssContent) {\n globalCss.set(\n value,\n createCssProps<T, InlineCSS>({\n id: value,\n code: cssContent,\n userOptions: userOptions,\n })\n );\n }\n }\n }\n\n // Add page-specific styles\n for (const [, value] of Object.entries(cssInputs)) {\n try {\n const { default: cssContent } = await buildLoader(\n value + \"?inline\"\n );\n if (typeof cssContent !== \"string\") {\n continue;\n }\n if (cssContent) {\n // Ensure the CSS file path is properly resolved\n const cssPath = value.startsWith(\"/\") ? value.slice(1) : value;\n pageCssMap.set(\n cssPath,\n createCssProps({\n id: cssPath,\n code: cssContent,\n userOptions: userOptions,\n })\n );\n }\n } catch (error) {\n console.warn(`Failed to process CSS file ${value}:`, error);\n continue;\n }\n }\n cssFilesByPage.set(url, pageCssMap);\n }\n\n const staticManifest = autoDiscoveredFiles?.staticManifest ?? {};\n const indexHtml = staticManifest?.[\"index.html\"]?.file;\n const pipeableStreamOptions = {\n ...userOptions.pipeableStreamOptions,\n bootstrapModules: [\n ...(indexHtml ? [baseURL(indexHtml)] : []),\n ...(userOptions.pipeableStreamOptions?.bootstrapModules ?? []),\n ],\n };\n userOptions.pipeableStreamOptions = pipeableStreamOptions;\n const serializedUserOptions = serializedOptions(\n userOptions,\n autoDiscoveredFiles!\n );\n // Create worker\n if (!worker) {\n const viteEnvPrefix =\n typeof resolvedConfig.envPrefix === \"string\"\n ? resolvedConfig.envPrefix\n : Array.isArray(resolvedConfig.envPrefix)\n ? resolvedConfig.envPrefix[0]\n : DEFAULT_CONFIG.ENV_PREFIX;\n const routeCount = autoDiscoveredFiles?.urlMap.size ?? 0;\n const maxListeners = routeCount + 1;\n const workerResult = await createWorker({\n projectRoot: userOptions.projectRoot,\n workerPath: userOptions.htmlWorkerPath,\n currentCondition: \"react-server\",\n reverseCondition: \"react-client\",\n maxListeners: maxListeners,\n envPrefix: viteEnvPrefix,\n logger: this.environment.logger,\n workerData: {\n resolvedConfig: serializeResolvedConfig(resolvedConfig),\n userOptions: {\n ...serializedUserOptions,\n },\n },\n });\n if (workerResult.type === \"error\") {\n throw workerResult.error;\n } else if (workerResult.type === \"skip\") {\n this.environment.logger.info(\n \"Worker not created, skipping static build\"\n );\n return;\n } else {\n worker = workerResult.worker;\n }\n }\n // Render pages\n const { onEvent, ...handlerOptions } = userOptions;\n const renderPagesGenerator = renderPages(\n autoDiscoveredFiles!,\n {\n ...handlerOptions,\n loader: buildLoader,\n worker: worker,\n logger: createLogger(),\n onEvent: async (event: PluginEvent) => {\n if (userOptions.onEvent) {\n userOptions.onEvent(event);\n }\n // Add file write completion event\n if (event.type === \"file.write\") {\n await event.data.onComplete();\n }\n },\n pipeableStreamOptions: pipeableStreamOptions,\n manifest: serverManifest ?? {},\n build: {\n htmlOutputPath: userOptions.build.htmlOutputPath,\n rscOutputPath: userOptions.build.rscOutputPath,\n outDir: userOptions.build.outDir,\n pages: userOptions.build.pages,\n server: userOptions.build.server,\n static: userOptions.build.static,\n client: userOptions.build.client,\n },\n globalCss: globalCss,\n css: {\n ...handlerOptions.css,\n inlineCss: handlerOptions.css?.inlineCss ?? true,\n },\n },\n cssFilesByPage\n );\n\n // Process render results\n let finalResult: RenderPagesResult | undefined;\n for await (const result of renderPagesGenerator) {\n if (result.type === \"error\") {\n throw result.error;\n }\n finalResult = result;\n }\n\n if (!finalResult) {\n throw new Error(\"No render result produced\");\n }\n finalResult.streamMetrics.duration = Math.round(\n performance.now() - finalResult.streamMetrics.startTime\n );\n\n this.environment.logger.info(\n `Rendered ${finalResult.completedRoutes.size} unique routes in ${finalResult.streamMetrics.duration}ms`\n );\n if (process.env[\"NODE_ENV\"] !== \"production\") {\n this.environment.logger.warn(\n `THIS IS BUILD IS NOT INTENDED FOR PRODUCTION (${process.env[\"NODE_ENV\"]})`\n );\n }\n\n // Update timing\n timing.render = Date.now() - (timing.renderStart ?? timing.start);\n } catch (error) {\n throw error;\n }\n\n // Cleanup\n try {\n worker.postMessage({ type: \"SHUTDOWN\", id: \"*\" });\n await new Promise<void>((resolve, reject) => {\n const shutdownHandler = (msg: any) => {\n if (msg.type === \"SHUTDOWN_COMPLETE\") {\n worker.removeListener(\"message\", shutdownHandler);\n worker\n .terminate()\n .then((code) =>\n code === 1\n ? resolve()\n : reject(new Error(`Worker terminated with code ${code}`))\n )\n .catch(reject);\n }\n };\n worker.on(\"message\", shutdownHandler);\n });\n } catch (error) {\n throw error;\n }\n },\n } as const;\n}\n"],"names":["resolvedConfig","options"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["../../../plugin/react-static/plugin.ts"],"sourcesContent":["/**\n * plugin.ts\n *\n * PURPOSE: Main Vite plugin for React Server Components (RSC) static site generation\n *\n * This module:\n * 1. Orchestrates the entire static site generation process\n * 2. Manages the lifecycle of the RSC rendering process\n * 3. Handles file writing for both initial page loads and client-side navigation\n * - Writes .html files for initial page loads (complete HTML document)\n * - Writes .rsc files for client-side navigation (RSC content only)\n * 4. Provides hooks for Vite to integrate with the build process\n * 5. Manages worker threads for parallel rendering\n * 6. Handles error reporting and metrics collection\n */\n\nimport { join } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\nimport {\n type Manifest,\n type ResolvedConfig,\n type Plugin as VitePlugin,\n createLogger,\n} from \"vite\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { createBuildLoader } from \"./createBuildLoader.js\";\nimport type {\n BuildTiming,\n ReactStreamPluginMeta,\n ResolvedUserConfig,\n ResolvedUserOptions,\n PluginEvent,\n RenderPagesResult,\n AutoDiscoveredFiles,\n CssContent,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { renderPages } from \"./renderPages.js\";\nimport { getBundleManifest } from \"../helpers/getBundleManifest.js\";\nimport { createWorker } from \"../worker/createWorker.js\";\nimport { resolveAutoDiscover } from \"../config/autoDiscover/resolveAutoDiscover.js\";\nimport { getCondition } from \"../config/getCondition.js\";\nimport {\n serializedOptions,\n serializeResolvedConfig,\n} from \"../helpers/serializeUserOptions.js\";\nimport { collectManifestCss } from \"../helpers/collectManifestCss.js\";\nimport { createCssProps } from \"../helpers/createCssProps.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { performance } from \"node:perf_hooks\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { baseURL } from \"../utils/envUrls.node.js\";\nimport { readFile } from \"node:fs/promises\";\n\nif (getCondition() !== \"react-server\") {\n throw new Error(\n \"Condition mismatch, should be react-server but got \" +\n process.env[\"NODE_OPTIONS\"]\n );\n}\n\nexport function reactStaticPlugin<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n): VitePlugin<{\n meta: ReactStreamPluginMeta;\n}> {\n let worker: Worker;\n let userConfig: ResolvedUserConfig;\n let resolvedConfig: ResolvedConfig;\n let userOptions: ResolvedUserOptions<T, InlineCSS>;\n let autoDiscoveredFiles: AutoDiscoveredFiles | null = null;\n let serverManifest: Manifest | undefined = undefined;\n let buildLoader: Awaited<ReturnType<typeof createBuildLoader>> | undefined;\n const timing: BuildTiming = {\n start: Date.now(),\n configResolved: 0,\n buildStart: 0,\n renderStart: 0,\n };\n\n const resolvedOptions = resolveOptions(options);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n\n return {\n name: \"vite:plugin-react-server/static\",\n enforce: \"post\",\n api: {\n meta: { timing },\n },\n\n async config(config, configEnv) {\n if (config.root && config.root !== userOptions.projectRoot) {\n userOptions.projectRoot = config.root;\n }\n if(configEnv.command !== \"build\") {\n return;\n }\n // Initialize autoDiscoveredFiles for both server and client builds\n const autoDiscoverResult = await resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition: \"react-server\",\n });\n if (autoDiscoverResult.type === \"error\") {\n throw autoDiscoverResult.error;\n }\n autoDiscoveredFiles = autoDiscoverResult.autoDiscoveredFiles;\n const resolvedConfig = resolveUserConfig({\n condition: \"react-server\",\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n });\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n timing.configResolved = Date.now();\n },\n configResolved(config) {\n resolvedConfig = config;\n },\n async buildStart() {\n timing.buildStart = Date.now();\n if (userOptions.onEvent && autoDiscoveredFiles) {\n userOptions.onEvent({\n type: \"build.start\",\n data: {\n pages: Array.from(autoDiscoveredFiles.urlMap.keys()),\n files: autoDiscoveredFiles,\n },\n });\n }\n },\n\n async renderStart() {\n timing.renderStart = Date.now();\n },\n\n async writeBundle(options, bundle) {\n if (userOptions.onEvent) {\n userOptions.onEvent({\n type: \"build.writeBundle.static-server\",\n data: {\n pages: Array.from(autoDiscoveredFiles?.urlMap.keys() ?? []),\n options,\n bundle,\n },\n });\n }\n try {\n const bundleManifest = getBundleManifest<false>({\n bundle,\n normalizer: userOptions.normalizer,\n });\n if (!(\"source\" in bundleManifest[\".vite/manifest.json\"])) {\n throw new Error(\"Server manifest not found\");\n }\n\n serverManifest = JSON.parse(\n bundleManifest[\".vite/manifest.json\"].source as string\n );\n\n if (!serverManifest) {\n throw new Error(\"Failed to parse server manifest\");\n }\n \n const clientManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n outDir: join(userOptions.build.outDir, userOptions.build.client),\n ssrManifest: false,\n });\n if (clientManifestResult.type === \"error\") {\n throw clientManifestResult.error;\n }\n const clientManifest = clientManifestResult.manifest;\n\n buildLoader = await createBuildLoader<T, InlineCSS>(\n {\n userConfig,\n userOptions: userOptions as ResolvedUserOptions<T, InlineCSS>,\n serverManifest: serverManifest ?? {},\n staticManifest: autoDiscoveredFiles?.staticManifest ?? {},\n clientManifest: clientManifest ?? {},\n },\n bundle\n );\n\n // Create CSS props for each CSS file\n const cssFilesByPage = new Map();\n\n // First collect global styles from index.html\n const globalCssInputs = collectManifestCss(\n autoDiscoveredFiles?.staticManifest ?? {},\n \"index.html\"\n );\n\n const globalCss: Map<string, CssContent<InlineCSS>> = new Map();\n // Collect CSS files for each page and its props\n for (const [url, { page, props }] of autoDiscoveredFiles?.urlMap ??\n []) {\n const transformedServerManifest = Object.fromEntries(\n Object.entries(serverManifest).map(([key, value]) => {\n if (!value.css?.length) {\n return [key, value];\n }\n return [\n key,\n {\n ...value,\n css:\n autoDiscoveredFiles?.staticManifest[key]?.css ?? value.css,\n },\n ];\n })\n );\n const cssInputs = collectManifestCss(\n transformedServerManifest,\n props ? [page, props] : page\n );\n\n // Create a map for this page's CSS files\n const pageCssMap: Map<string, CssContent> = new Map();\n // Add global styles if they exist\n if (Object.keys(globalCssInputs).length > 0) {\n for (const [key, value] of Object.entries(globalCssInputs)) {\n let cssContent = await buildLoader(value + \"?inline\").then((r) =>\n String(r.default)\n );\n if (cssContent === \"undefined\" || !cssContent) {\n cssContent = await readFile(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n key\n ),\n \"utf-8\"\n ) ?? \"\"\n }\n if (cssContent) {\n globalCss.set(\n key,\n createCssProps<T, InlineCSS>({\n id: key,\n code: cssContent,\n userOptions: userOptions,\n })\n );\n }\n }\n }\n\n // Add page-specific styles\n for (const [key, value] of Object.entries(cssInputs)) {\n try {\n const { default: cssContent } = await buildLoader(\n value + \"?inline\"\n );\n if (typeof cssContent !== \"string\") {\n continue;\n }\n if (cssContent) {\n // Ensure the CSS file path is properly resolved\n pageCssMap.set(\n key,\n createCssProps({\n id: key,\n code: cssContent,\n userOptions: userOptions,\n })\n );\n }\n } catch (error) {\n console.warn(`Failed to process CSS file ${value}:`, error);\n continue;\n }\n }\n cssFilesByPage.set(url, pageCssMap);\n }\n\n const staticManifest = autoDiscoveredFiles?.staticManifest ?? {};\n const indexHtml = staticManifest?.[\"index.html\"]?.file;\n const pipeableStreamOptions = {\n ...userOptions.pipeableStreamOptions,\n bootstrapModules: [\n ...(indexHtml ? [baseURL(indexHtml)] : []),\n ...(userOptions.pipeableStreamOptions?.bootstrapModules ?? []),\n ],\n };\n userOptions.pipeableStreamOptions = pipeableStreamOptions;\n const serializedUserOptions = serializedOptions(\n userOptions,\n autoDiscoveredFiles!\n );\n // Create worker\n if (!worker) {\n const viteEnvPrefix =\n typeof resolvedConfig.envPrefix === \"string\"\n ? resolvedConfig.envPrefix\n : Array.isArray(resolvedConfig.envPrefix)\n ? resolvedConfig.envPrefix[0]\n : DEFAULT_CONFIG.ENV_PREFIX;\n const routeCount = autoDiscoveredFiles?.urlMap.size ?? 0;\n const maxListeners = routeCount + 1;\n const workerResult = await createWorker({\n projectRoot: userOptions.projectRoot,\n workerPath: userOptions.htmlWorkerPath,\n currentCondition: \"react-server\",\n reverseCondition: \"react-client\",\n maxListeners: maxListeners,\n envPrefix: viteEnvPrefix,\n logger: this.environment.logger,\n workerData: {\n resolvedConfig: serializeResolvedConfig(resolvedConfig),\n userOptions: {\n ...serializedUserOptions,\n },\n },\n });\n if (workerResult.type === \"error\") {\n throw workerResult.error;\n } else if (workerResult.type === \"skip\") {\n this.environment.logger.info(\n \"Worker not created, skipping static build\"\n );\n return;\n } else {\n worker = workerResult.worker;\n }\n }\n // Render pages\n const { onEvent, ...handlerOptions } = userOptions;\n const renderPagesGenerator = renderPages(\n autoDiscoveredFiles!,\n {\n ...handlerOptions,\n loader: buildLoader,\n worker: worker,\n logger: createLogger(),\n onEvent: async (event: PluginEvent) => {\n if (userOptions.onEvent) {\n userOptions.onEvent(event);\n }\n // Add file write completion event\n if (event.type === \"file.write\") {\n await event.data.onComplete();\n }\n },\n pipeableStreamOptions: pipeableStreamOptions,\n manifest: serverManifest ?? {},\n build: {\n htmlOutputPath: userOptions.build.htmlOutputPath,\n rscOutputPath: userOptions.build.rscOutputPath,\n outDir: userOptions.build.outDir,\n pages: userOptions.build.pages,\n server: userOptions.build.server,\n static: userOptions.build.static,\n client: userOptions.build.client,\n },\n globalCss: globalCss,\n css: {\n ...handlerOptions.css,\n inlineCss: handlerOptions.css?.inlineCss ?? true,\n },\n },\n cssFilesByPage\n );\n\n // Process render results\n let finalResult: RenderPagesResult | undefined;\n for await (const result of renderPagesGenerator) {\n if (result.type === \"error\") {\n throw result.error;\n }\n finalResult = result;\n }\n\n if (!finalResult) {\n throw new Error(\"No render result produced\");\n }\n finalResult.streamMetrics.duration = Math.round(\n performance.now() - finalResult.streamMetrics.startTime\n );\n\n this.environment.logger.info(\n `Rendered ${finalResult.completedRoutes.size} unique routes in ${finalResult.streamMetrics.duration}ms`\n );\n if (process.env[\"NODE_ENV\"] !== \"production\") {\n this.environment.logger.warn(\n `THIS IS BUILD IS NOT INTENDED FOR PRODUCTION (${process.env[\"NODE_ENV\"]})`\n );\n }\n\n // Update timing\n timing.render = Date.now() - (timing.renderStart ?? timing.start);\n } catch (error) {\n throw error;\n }\n\n // Cleanup\n try {\n worker.postMessage({ type: \"SHUTDOWN\", id: \"*\" });\n await new Promise<void>((resolve, reject) => {\n const shutdownHandler = (msg: any) => {\n if (msg.type === \"SHUTDOWN_COMPLETE\") {\n worker.removeListener(\"message\", shutdownHandler);\n worker\n .terminate()\n .then((code) =>\n code === 1\n ? resolve()\n : reject(new Error(`Worker terminated with code ${code}`))\n )\n .catch(reject);\n }\n };\n worker.on(\"message\", shutdownHandler);\n });\n } catch (error) {\n throw error;\n }\n },\n } as const;\n}\n"],"names":["resolvedConfig","options"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporaryReferences.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/temporaryReferences.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,KAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporaryReferences.js","sources":["../../../plugin/react-static/temporaryReferences.ts"],"sourcesContent":["import { createTemporaryReferenceSet } from \"react-server-dom-esm/server.node\";\n\nexport const temporaryReferences = createTemporaryReferenceSet();\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,sBAAsB,2BAA4B;;;;"}
@@ -71,8 +71,8 @@ function reactTransformPlugin(options) {
71
71
  const transformed = transformModuleIfNeeded(
72
72
  code,
73
73
  finalID,
74
- userOptions.autoDiscover.isServerFunction(code),
75
- userOptions.autoDiscover.isClientComponent(code),
74
+ userOptions.autoDiscover.isServerFunctionCode(code),
75
+ userOptions.autoDiscover.isClientComponentCode(code),
76
76
  true
77
77
  );
78
78
  if (userOptions.verbose) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.server.js","sources":["../../../plugin/transformer/plugin.server.ts"],"sourcesContent":["import { resolveOptions } from \"../config/resolveOptions.js\";\nimport type {\n InlineCssOpt,\n PagePropOpt,\n ResolvedUserOptions,\n StreamPluginOptions,\n} from \"../types.js\";\nimport type { Manifest, Plugin } from \"vite\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { join } from \"node:path\";\nimport { setStashedResolve } from \"../helpers/moduleResolver.js\";\nimport { transformModuleIfNeeded } from \"../loader/transformModuleIfNeeded.js\";\nimport { logError } from \"../error/toError.js\";\n\n/**\n * Plugin for transforming React Client Components.\n *\n * Core responsibilities:\n * 1. Detects \"use client\" directives\n * 2. Transforms client components for RSC boundaries\n * 3. Adds client reference metadata for RSC\n *\n * When a component is marked with \"use client\", it:\n * - Gets transformed into a client reference\n * - Maintains module ID for RSC boundaries\n * - Preserves class/function behavior\n *\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [\n * viteReactClientTransformPlugin({\n * projectRoot: process.cwd(),\n * })\n * ]\n * });\n * ```\n */\nlet isBuild = true;\nlet isSSR = false;\n\nexport function reactTransformPlugin<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(options: StreamPluginOptions<T, InlineCSS>): Plugin {\n let userOptions: ResolvedUserOptions<T, InlineCSS>;\n const resolvedOptionsResult = resolveOptions(options);\n if (resolvedOptionsResult.type === \"error\") throw resolvedOptionsResult.error;\n userOptions = resolvedOptionsResult.userOptions;\n\n let staticManifest: Manifest;\n\n return {\n name: \"vite:react-server-transform\",\n enforce: \"post\", // Run after Vite's transforms\n async configResolved(config) {\n isBuild = config.command === \"build\";\n isSSR = config.build?.ssr === true;\n if (isBuild && isSSR) {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"error\") {\n throw staticManifestResult.error;\n }\n staticManifest = staticManifestResult.manifest;\n }\n },\n async resolveId(\n _id: string,\n importer: string | undefined,\n options: {\n attributes: Record<string, string>;\n custom?: any;\n ssr?: boolean;\n isEntry: boolean;\n }\n ) {\n if (!options?.ssr) {\n return null;\n }\n // Set stashedResolve before any transform operations\n setStashedResolve(async (specifier: string) => {\n try {\n const resolved = await this.resolve(specifier, importer, {\n custom: { conditions: [\"react-server\"] },\n });\n if (!resolved) return null;\n return { id: resolved.id };\n } catch (error) {\n logError(error, this.environment.logger);\n return null;\n }\n });\n return null; // Let Vite handle the resolution\n },\n async transform(code, id, options) {\n if (!options?.ssr || !userOptions.autoDiscover.modulePattern(id)) {\n return null;\n }\n const [key, value] = userOptions.normalizer(id);\n let moduleID = value;\n if (isBuild) {\n if (staticManifest) {\n if (value in staticManifest) {\n moduleID = staticManifest[value].file;\n } else {\n const hash = this.emitFile({\n id,\n type: \"chunk\",\n fileName: key + \".js\",\n name: value,\n });\n const fileName = this.getFileName(hash);\n moduleID = fileName;\n }\n } else {\n throw new Error(`Static manifest not found during dev build.`);\n }\n } else {\n // For non-SSR builds, just use the normalized path\n moduleID = join(userOptions.moduleBasePath, value);\n }\n let finalID = userOptions.moduleID(moduleID);\n // Always transform in server context\n const transformed = transformModuleIfNeeded(\n code,\n finalID,\n userOptions.autoDiscover.isServerFunction(code),\n userOptions.autoDiscover.isClientComponent(code),\n true\n );\n if (userOptions.verbose)\n if (transformed !== code) {\n if (id !== finalID) {\n this.environment.logger.info(\n \"[react-server-transform] \" +\n id.split(\"/\").pop() +\n \" -> \" +\n finalID\n );\n } else {\n this.environment.logger.info(\n \"[react-server-transform] \" +\n id.split(\"/\").pop() +\n (code.startsWith('\"use client\"') ? \" (client)\" : \"\")\n );\n }\n this.environment.logger.info(\n \"[react-server-transform] \" + transformed\n );\n }\n if (!transformed) {\n return {\n id: finalID,\n code: \"\",\n map: null,\n };\n }\n\n return {\n id: finalID,\n code: transformed,\n map: null,\n };\n },\n };\n}\n"],"names":["options"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.server.js","sources":["../../../plugin/transformer/plugin.server.ts"],"sourcesContent":["import { resolveOptions } from \"../config/resolveOptions.js\";\nimport type {\n InlineCssOpt,\n PagePropOpt,\n ResolvedUserOptions,\n StreamPluginOptions,\n} from \"../types.js\";\nimport type { Manifest, Plugin } from \"vite\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { join } from \"node:path\";\nimport { setStashedResolve } from \"../helpers/moduleResolver.js\";\nimport { transformModuleIfNeeded } from \"../loader/transformModuleIfNeeded.js\";\nimport { logError } from \"../error/toError.js\";\n\n/**\n * Plugin for transforming React Client Components.\n *\n * Core responsibilities:\n * 1. Detects \"use client\" directives\n * 2. Transforms client components for RSC boundaries\n * 3. Adds client reference metadata for RSC\n *\n * When a component is marked with \"use client\", it:\n * - Gets transformed into a client reference\n * - Maintains module ID for RSC boundaries\n * - Preserves class/function behavior\n *\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [\n * viteReactClientTransformPlugin({\n * projectRoot: process.cwd(),\n * })\n * ]\n * });\n * ```\n */\nlet isBuild = true;\nlet isSSR = false;\n\nexport function reactTransformPlugin<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(options: StreamPluginOptions<T, InlineCSS>): Plugin {\n let userOptions: ResolvedUserOptions<T, InlineCSS>;\n const resolvedOptionsResult = resolveOptions(options);\n if (resolvedOptionsResult.type === \"error\") throw resolvedOptionsResult.error;\n userOptions = resolvedOptionsResult.userOptions;\n\n let staticManifest: Manifest;\n\n return {\n name: \"vite:react-server-transform\",\n enforce: \"post\", // Run after Vite's transforms\n async configResolved(config) {\n isBuild = config.command === \"build\";\n isSSR = config.build?.ssr === true;\n if (isBuild && isSSR) {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"error\") {\n throw staticManifestResult.error;\n }\n staticManifest = staticManifestResult.manifest;\n }\n },\n async resolveId(\n _id: string,\n importer: string | undefined,\n options: {\n attributes: Record<string, string>;\n custom?: any;\n ssr?: boolean;\n isEntry: boolean;\n }\n ) {\n if (!options?.ssr) {\n return null;\n }\n // Set stashedResolve before any transform operations\n setStashedResolve(async (specifier: string) => {\n try {\n const resolved = await this.resolve(specifier, importer, {\n custom: { conditions: [\"react-server\"] },\n });\n if (!resolved) return null;\n return { id: resolved.id };\n } catch (error) {\n logError(error, this.environment.logger);\n return null;\n }\n });\n return null; // Let Vite handle the resolution\n },\n async transform(code, id, options) {\n if (!options?.ssr || !userOptions.autoDiscover.modulePattern(id)) {\n return null;\n }\n const [key, value] = userOptions.normalizer(id);\n let moduleID = value;\n if (isBuild) {\n if (staticManifest) {\n if (value in staticManifest) {\n moduleID = staticManifest[value].file;\n } else {\n const hash = this.emitFile({\n id,\n type: \"chunk\",\n fileName: key + \".js\",\n name: value,\n });\n const fileName = this.getFileName(hash);\n moduleID = fileName;\n }\n } else {\n throw new Error(`Static manifest not found during dev build.`);\n }\n } else {\n // For non-SSR builds, just use the normalized path\n moduleID = join(userOptions.moduleBasePath, value);\n }\n let finalID = userOptions.moduleID(moduleID);\n // Always transform in server context\n const transformed = transformModuleIfNeeded(\n code,\n finalID,\n userOptions.autoDiscover.isServerFunctionCode(code),\n userOptions.autoDiscover.isClientComponentCode(code),\n true\n );\n if (userOptions.verbose)\n if (transformed !== code) {\n if (id !== finalID) {\n this.environment.logger.info(\n \"[react-server-transform] \" +\n id.split(\"/\").pop() +\n \" -> \" +\n finalID\n );\n } else {\n this.environment.logger.info(\n \"[react-server-transform] \" +\n id.split(\"/\").pop() +\n (code.startsWith('\"use client\"') ? \" (client)\" : \"\")\n );\n }\n this.environment.logger.info(\n \"[react-server-transform] \" + transformed\n );\n }\n if (!transformed) {\n return {\n id: finalID,\n code: \"\",\n map: null,\n };\n }\n\n return {\n id: finalID,\n code: transformed,\n map: null,\n };\n },\n };\n}\n"],"names":["options"],"mappings":"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"}
@@ -64,6 +64,7 @@ export type ResolvedUserConfig = Required<Pick<UserConfig, "root" | "mode" | "bu
64
64
  build: NonNullable<Required<Pick<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest" | "rollupOptions" | "modulePreload">>> & Omit<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest">;
65
65
  };
66
66
  export type SerializedUserConfig = Extract<ResolvedUserConfig, SerializableRecord>;
67
+ export type SerializedUserOptions = Extract<ResolvedUserOptions, SerializableRecord>;
67
68
  export interface StreamPluginOptionsClient {
68
69
  outDir?: string;
69
70
  build?: BuildConfig;
@@ -85,6 +86,11 @@ export type ResolvedUserOptions<T extends PagePropOpt = PagePropOpt, InlineCSS e
85
86
  moduleExtension: RegExp;
86
87
  serverDirective: RegExp;
87
88
  clientDirective: RegExp;
89
+ cssExtension: string;
90
+ jsonExtension: string;
91
+ htmlExtension: string;
92
+ rscExtension: string;
93
+ jsExtension: string;
88
94
  modulePattern: (path: string) => boolean;
89
95
  cssPattern: (path: string) => boolean;
90
96
  jsonPattern: (path: string) => boolean;
@@ -99,8 +105,8 @@ export type ResolvedUserOptions<T extends PagePropOpt = PagePropOpt, InlineCSS e
99
105
  nodeOnly: (path: string) => boolean;
100
106
  dotFiles: (path: string) => boolean;
101
107
  virtualPattern: (path: string) => boolean;
102
- isServerFunction: (code: string) => boolean;
103
- isClientComponent: (code: string) => boolean;
108
+ isServerFunctionCode: (code: string) => boolean;
109
+ isClientComponentCode: (code: string) => boolean;
104
110
  };
105
111
  };
106
112
  export interface StreamMetrics {
@@ -256,6 +262,11 @@ export interface StreamPluginOptions<T extends PagePropOpt = PagePropOpt, Inline
256
262
  moduleExtension?: RegExp;
257
263
  serverDirective?: RegExp;
258
264
  clientDirective?: RegExp;
265
+ cssExtension?: string;
266
+ jsonExtension?: string;
267
+ htmlExtension?: string;
268
+ rscExtension?: string;
269
+ jsExtension?: string;
259
270
  modulePattern?: RegExpOpt;
260
271
  pagePattern?: RegExpOpt;
261
272
  propsPattern?: RegExpOpt;
@@ -292,7 +303,7 @@ export interface StreamPluginOptions<T extends PagePropOpt = PagePropOpt, Inline
292
303
  verbose?: boolean;
293
304
  }
294
305
  export type MultiPageHandlerOptions<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> = Omit<CreateHandlerOptions<T, InlineCSS>, "pagePath" | "route" | "cssFiles" | "propsPath" | "pageProps" | "PageComponent">;
295
- export type CreateHandlerOptions<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> = Pick<ResolvedUserOptions<T, InlineCSS>, "autoDiscover" | "css" | "pageExportName" | "propsExportName" | "Html" | "CssCollector" | "moduleBase" | "moduleRootPath" | "moduleBasePath" | "moduleBaseURL" | "pipeableStreamOptions" | "onEvent" | "onMetrics" | "projectRoot"> & {
306
+ export type CreateHandlerOptions<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> = Pick<ResolvedUserOptions<T, InlineCSS>, "autoDiscover" | "css" | "pageExportName" | "propsExportName" | "Html" | "CssCollector" | "moduleBase" | "moduleRootPath" | "moduleBasePath" | "moduleBaseURL" | "pipeableStreamOptions" | "onEvent" | "onMetrics" | "projectRoot" | "normalizer" | "moduleID"> & {
296
307
  logger: Logger;
297
308
  loader: ModuleLoader;
298
309
  pagePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../plugin/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleRender.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/rsc/handleRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAsB,YAAY,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,cAAc,iBAyHzB"}
1
+ {"version":3,"file":"handleRender.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/rsc/handleRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAsB,YAAY,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,cAAc,iBA0HzB"}
@@ -41,6 +41,7 @@ async function handleRender(msg, handlers) {
41
41
  try {
42
42
  if (hmrState.get(id2)?.invalidated) {
43
43
  hmrState.delete(id2);
44
+ console.log("LOADING", id2);
44
45
  return import(join(projectRoot, id2) + `?t=${Date.now()}`);
45
46
  }
46
47
  return import(join(projectRoot, id2));
@@ -1 +1 @@
1
- {"version":3,"file":"handleRender.js","sources":["../../../../plugin/worker/rsc/handleRender.ts"],"sourcesContent":["import { resolvePageAndProps } from \"../../helpers/resolvePageAndProps.js\";\nimport type { RscRenderMessage, StreamHandlers } from \"../types.js\";\nimport { activeStreams, cssFiles } from \"./state.js\";\nimport { createRscStream } from \"../../helpers/createRscStream.js\";\nimport { CssCollector } from \"../../components/css-collector.js\";\nimport { PassThrough } from \"node:stream\";\nimport { join } from \"node:path\";\nimport { workerData } from \"node:worker_threads\";\nimport { React } from \"../../vendor/vendor.server.js\";\nimport { hmrState } from \"./state.js\";\nimport { performance } from \"node:perf_hooks\";\nimport type { PagePropOpt } from \"../../types.js\";\n\nexport async function handleRender<\n T extends PagePropOpt = PagePropOpt\n>(\n msg: RscRenderMessage<T>,\n handlers: StreamHandlers\n) {\n let {\n id = workerData.id,\n route = workerData.route,\n pagePath = workerData.pagePath,\n propsPath = workerData.propsPath,\n pageExportName = workerData.userOptions.pageExportName,\n propsExportName = workerData.userOptions.propsExportName,\n projectRoot = workerData.userOptions.projectRoot,\n moduleRootPath = workerData.userOptions.moduleRootPath,\n moduleBaseURL = workerData.userOptions.moduleBaseURL ?? \"/\",\n moduleBasePath = workerData.userOptions.moduleBasePath ?? \"/\",\n moduleBase = workerData.userOptions.moduleBase,\n pipeableStreamOptions = workerData.userOptions.pipeableStreamOptions,\n cssFiles: messageCssFiles,\n globalCss = workerData.globalCss,\n } = msg;\n try {\n // Load modules\n const pageAndPropsResult = await resolvePageAndProps({\n pagePath,\n propsPath,\n pageExportName,\n propsExportName,\n route,\n loader: (id: string) => {\n try {\n if (hmrState.get(id)?.invalidated) {\n // Clear the HMR state for this module\n hmrState.delete(id);\n // Force a reload by using a unique query parameter\n return import(join(projectRoot, id) + `?t=${Date.now()}`);\n }\n return import(join(projectRoot, id));\n } catch (error) {\n return Promise.reject(error);\n }\n },\n });\n if (pageAndPropsResult.type !== \"success\") {\n const { error, ...rest } = pageAndPropsResult;\n return handlers.onError(id, error, rest);\n }\n\n const { PageComponent, pageProps } = pageAndPropsResult;\n\n const adaptedOnEvent = (event: \"error\" | \"postpone\", data: any) => {\n if (event === \"error\") {\n handlers.onError(id, data.error, data.errorInfo);\n }\n };\n\n if (messageCssFiles && messageCssFiles.size > 0) {\n // if any css is added to the message, add it to the cssFiles map\n for (const [id, cssContent] of messageCssFiles.entries()) {\n cssFiles.set(id, cssContent);\n }\n }\n\n // Create stream\n const streamResult = createRscStream({\n projectRoot: projectRoot,\n Html: React.Fragment,\n PageComponent,\n CssCollector,\n pageProps,\n moduleBase,\n moduleRootPath,\n moduleBasePath,\n moduleBaseURL,\n manifest: {},\n route,\n // this is a stateful object, which at this point we assume contains all the css files\n cssFiles,\n globalCss,\n onEvent: adaptedOnEvent,\n pipeableStreamOptions: pipeableStreamOptions,\n });\n\n if (streamResult.type !== \"success\") {\n handlers.onError(id, streamResult.error);\n return;\n }\n\n const { stream, metrics } = streamResult;\n\n // Create pass-through stream\n const passThrough = new PassThrough();\n activeStreams.set(id, passThrough);\n\n // Pipe stream to pass-through\n stream.pipe(passThrough);\n\n // Handle data chunks\n passThrough.on(\"data\", (chunk) => {\n metrics.chunks++;\n metrics.bytes += chunk.length;\n metrics.duration = performance.now() - metrics.startTime;\n handlers.onData(id, chunk);\n });\n\n // Handle stream end\n passThrough.on(\"end\", () => {\n metrics.duration = performance.now() - metrics.startTime;\n handlers.onEnd(id);\n if (activeStreams.has(id)) {\n handlers.onMetrics(id, metrics);\n activeStreams.delete(id);\n }\n });\n\n // Handle errors\n passThrough.on(\"error\", (error) => {\n handlers.onError(id, error as Error, { reason: `${id} stream error` });\n activeStreams.delete(id);\n });\n } catch (error) {\n handlers.onError(id, error as Error, { reason: `${id} render error` });\n return Promise.reject(error);\n }\n}\n"],"names":["id"],"mappings":"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"}
1
+ {"version":3,"file":"handleRender.js","sources":["../../../../plugin/worker/rsc/handleRender.ts"],"sourcesContent":["import { resolvePageAndProps } from \"../../helpers/resolvePageAndProps.js\";\nimport type { RscRenderMessage, StreamHandlers } from \"../types.js\";\nimport { activeStreams, cssFiles } from \"./state.js\";\nimport { createRscStream } from \"../../helpers/createRscStream.js\";\nimport { CssCollector } from \"../../components/css-collector.js\";\nimport { PassThrough } from \"node:stream\";\nimport { join } from \"node:path\";\nimport { workerData } from \"node:worker_threads\";\nimport { React } from \"../../vendor/vendor.server.js\";\nimport { hmrState } from \"./state.js\";\nimport { performance } from \"node:perf_hooks\";\nimport type { PagePropOpt } from \"../../types.js\";\n\nexport async function handleRender<\n T extends PagePropOpt = PagePropOpt\n>(\n msg: RscRenderMessage<T>,\n handlers: StreamHandlers\n) {\n let {\n id = workerData.id,\n route = workerData.route,\n pagePath = workerData.pagePath,\n propsPath = workerData.propsPath,\n pageExportName = workerData.userOptions.pageExportName,\n propsExportName = workerData.userOptions.propsExportName,\n projectRoot = workerData.userOptions.projectRoot,\n moduleRootPath = workerData.userOptions.moduleRootPath,\n moduleBaseURL = workerData.userOptions.moduleBaseURL ?? \"/\",\n moduleBasePath = workerData.userOptions.moduleBasePath ?? \"/\",\n moduleBase = workerData.userOptions.moduleBase,\n pipeableStreamOptions = workerData.userOptions.pipeableStreamOptions,\n cssFiles: messageCssFiles,\n globalCss = workerData.globalCss,\n } = msg;\n try {\n // Load modules\n const pageAndPropsResult = await resolvePageAndProps({\n pagePath,\n propsPath,\n pageExportName,\n propsExportName,\n route,\n loader: (id: string) => {\n try {\n if (hmrState.get(id)?.invalidated) {\n // Clear the HMR state for this module\n hmrState.delete(id);\n // Force a reload by using a unique query parameter\n console.log(\"LOADING\", id);\n return import(join(projectRoot, id) + `?t=${Date.now()}`);\n }\n return import(join(projectRoot, id));\n } catch (error) {\n return Promise.reject(error);\n }\n },\n });\n if (pageAndPropsResult.type !== \"success\") {\n const { error, ...rest } = pageAndPropsResult;\n return handlers.onError(id, error, rest);\n }\n\n const { PageComponent, pageProps } = pageAndPropsResult;\n\n const adaptedOnEvent = (event: \"error\" | \"postpone\", data: any) => {\n if (event === \"error\") {\n handlers.onError(id, data.error, data.errorInfo);\n }\n };\n\n if (messageCssFiles && messageCssFiles.size > 0) {\n // if any css is added to the message, add it to the cssFiles map\n for (const [id, cssContent] of messageCssFiles.entries()) {\n cssFiles.set(id, cssContent);\n }\n }\n\n // Create stream\n const streamResult = createRscStream({\n projectRoot: projectRoot,\n Html: React.Fragment,\n PageComponent,\n CssCollector,\n pageProps,\n moduleBase,\n moduleRootPath,\n moduleBasePath,\n moduleBaseURL,\n manifest: {},\n route,\n // this is a stateful object, which at this point we assume contains all the css files\n cssFiles,\n globalCss,\n onEvent: adaptedOnEvent,\n pipeableStreamOptions: pipeableStreamOptions,\n });\n\n if (streamResult.type !== \"success\") {\n handlers.onError(id, streamResult.error);\n return;\n }\n\n const { stream, metrics } = streamResult;\n\n // Create pass-through stream\n const passThrough = new PassThrough();\n activeStreams.set(id, passThrough);\n\n // Pipe stream to pass-through\n stream.pipe(passThrough);\n\n // Handle data chunks\n passThrough.on(\"data\", (chunk) => {\n metrics.chunks++;\n metrics.bytes += chunk.length;\n metrics.duration = performance.now() - metrics.startTime;\n handlers.onData(id, chunk);\n });\n\n // Handle stream end\n passThrough.on(\"end\", () => {\n metrics.duration = performance.now() - metrics.startTime;\n handlers.onEnd(id);\n if (activeStreams.has(id)) {\n handlers.onMetrics(id, metrics);\n activeStreams.delete(id);\n }\n });\n\n // Handle errors\n passThrough.on(\"error\", (error) => {\n handlers.onError(id, error as Error, { reason: `${id} stream error` });\n activeStreams.delete(id);\n });\n } catch (error) {\n handlers.onError(id, error as Error, { reason: `${id} render error` });\n return Promise.reject(error);\n }\n}\n"],"names":["id"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { StreamHandlers } from "../types.js";
2
+ export declare const handlers: Required<StreamHandlers>;
3
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/rsc/handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAyO3C,CAAC"}