vite-plugin-react-server 0.3.19 → 1.0.0
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.
- package/README.md +219 -141
- package/dist/package.json +13 -6
- package/dist/plugin/collect-manifest-client-files.d.ts.map +1 -1
- package/dist/plugin/collect-manifest-client-files.js +25 -11
- package/dist/plugin/collect-manifest-client-files.js.map +1 -1
- package/dist/plugin/components.d.ts +3 -13
- package/dist/plugin/components.d.ts.map +1 -1
- package/dist/plugin/components.js +3 -54
- package/dist/plugin/config/defaults.d.ts +9 -2
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +3 -2
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/resolveOptions.d.ts +2 -2
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +6 -0
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +178 -149
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/css-collector-inline.d.ts +10 -0
- package/dist/plugin/css-collector-inline.d.ts.map +1 -0
- package/dist/plugin/css-collector-inline.js +55 -0
- package/dist/plugin/css-collector-inline.js.map +1 -0
- package/dist/plugin/css-collector.d.ts +14 -0
- package/dist/plugin/css-collector.d.ts.map +1 -0
- package/dist/plugin/css-collector.js +49 -0
- package/dist/plugin/css-collector.js.map +1 -0
- package/dist/plugin/helpers/createHandler.d.ts +3 -8
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
- package/dist/plugin/helpers/createHandler.js +52 -55
- package/dist/plugin/helpers/createHandler.js.map +1 -1
- package/dist/plugin/helpers/createRscStream.d.ts +14 -4
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscStream.js +25 -16
- package/dist/plugin/helpers/createRscStream.js.map +1 -1
- package/dist/plugin/html.d.ts +5 -0
- package/dist/plugin/html.d.ts.map +1 -0
- package/dist/plugin/html.js +11 -0
- package/dist/plugin/html.js.map +1 -0
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +3 -2
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +47 -16
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +20 -12
- package/dist/plugin/react-static/plugin.js.map +1 -1
- package/dist/plugin/react-static/types.d.ts +2 -0
- package/dist/plugin/react-static/types.d.ts.map +1 -0
- package/dist/plugin/react-static/types.js +1 -0
- package/dist/plugin/types.d.ts +48 -11
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +4 -1
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/html/renderPages.d.ts +8 -25
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +61 -44
- package/dist/plugin/worker/html/renderPages.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +37 -22
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/types.d.ts +3 -0
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -4
- package/plugin/collect-manifest-client-files.ts +25 -10
- package/plugin/components.ts +3 -0
- package/plugin/config/defaults.tsx +10 -9
- package/plugin/config/resolveOptions.ts +10 -5
- package/plugin/config/resolveUserConfig.ts +218 -177
- package/plugin/css-collector-inline.tsx +60 -0
- package/plugin/css-collector.tsx +62 -0
- package/plugin/helpers/createHandler.ts +73 -83
- package/plugin/helpers/createRscStream.ts +49 -21
- package/plugin/html.tsx +9 -0
- package/plugin/react-client/plugin.ts +3 -2
- package/plugin/react-server/plugin.ts +58 -22
- package/plugin/react-static/plugin.ts +20 -11
- package/plugin/react-static/types.ts +3 -0
- package/plugin/types.ts +53 -11
- package/plugin/worker/html/messageHandler.ts +5 -2
- package/plugin/worker/html/renderPages.ts +82 -78
- package/plugin/worker/rsc/messageHandler.tsx +41 -26
- package/plugin/worker/types.ts +3 -0
- package/dist/plugin/components.js.map +0 -1
- package/dist/plugin/getEnv.d.ts +0 -19
- package/dist/plugin/getEnv.d.ts.map +0 -1
- package/dist/plugin/getEnv.js +0 -107
- package/dist/plugin/module-graph.d.ts +0 -10
- package/dist/plugin/module-graph.d.ts.map +0 -1
- package/dist/plugin/module-graph.js +0 -35
- package/dist/plugin/worker/html/plugin.d.ts +0 -4
- package/dist/plugin/worker/html/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/html/plugin.js +0 -93
- package/dist/plugin/worker/plugin.d.ts +0 -19
- package/dist/plugin/worker/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/plugin.js +0 -23
- package/dist/plugin/worker/rsc/plugin.d.ts +0 -4
- package/dist/plugin/worker/rsc/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/plugin.js +0 -75
- package/plugin/components.tsx +0 -59
- package/plugin/getEnv.ts +0 -135
- package/plugin/module-graph.ts +0 -48
- package/plugin/worker/html/plugin.ts +0 -100
- package/plugin/worker/plugin.ts +0 -26
- package/plugin/worker/rsc/plugin.ts +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-server/plugin.ts"],"sourcesContent":["import { join, dirname } from \"node:path\";\nimport { performance } from \"node:perf_hooks\";\nimport React from \"react\";\nimport {\n createLogger,\n type ResolvedConfig,\n type UserConfig,\n type ViteDevServer,\n type Manifest,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { checkFilesExist } from \"../checkFilesExist.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolvePages } from \"../config/resolvePages.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport type {\n BuildTiming,\n CheckFilesExistReturn,\n ReactStreamPluginMeta,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { createHandler } from \"../helpers/createHandler.js\";\nimport { mkdir, readFile, stat, writeFile } from \"node:fs/promises\";\nimport { getBundleManifest } from \"../helpers/getBundleManifest.js\";\nimport type { ServerResponse } from \"node:http\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { MIME_TYPES } from \"../config/mimeTypes.js\";\n\nlet resolvedConfig: ResolvedConfig | null = null;\nlet serverManifestPath: string | null = null;\nlet loader: ((id: string) => Promise<Record<string, any>>) | null = null;\n\nexport function reactServerPlugin(options: StreamPluginOptions): VitePlugin<{\n meta: ReactStreamPluginMeta;\n addCssFile: (path: string) => void;\n}> {\n const timing: BuildTiming = {\n start: performance.now(),\n };\n\n let files: CheckFilesExistReturn;\n // let env: Awaited<ReturnType<typeof getEnv>>;\n let cssModules = new Set<string>();\n // let define: Record<string, string>;\n let buildCssFiles = new Set<string>();\n let root: string = process.cwd();\n let userOptions: ResolvedUserOptions;\n let resolvedPages: string[];\n let serverManifest: Manifest = {};\n\n const resolvedOptions = resolveOptions(options, false);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n if (\n userOptions.projectRoot != root &&\n typeof userOptions.projectRoot === \"string\" &&\n userOptions.projectRoot !== process.cwd() &&\n userOptions.projectRoot !== \"\"\n ) {\n root = userOptions.projectRoot;\n console.log(\n \"[vite:plugin-react-server] Root dir changed in plugin\",\n userOptions.projectRoot,\n root\n );\n }\n\n return {\n name: \"vite:react-stream-server\",\n enforce: \"post\",\n api: {\n meta: { timing },\n addCssFile(path: string) {\n buildCssFiles.add(path);\n },\n },\n configResolved(_resolvedConfig) {\n resolvedConfig = _resolvedConfig;\n\n serverManifestPath = join(\n userOptions.build.outDir,\n userOptions.build.server,\n \".vite/manifest.json\"\n );\n timing.configResolved = performance.now();\n\n // Verify transformer runs first, preserver runs last\n const plugins = resolvedConfig.plugins;\n const transformerIndex = plugins.findIndex(\n (p) => p.name === \"vite:react-transform\"\n );\n const preserverIndex = plugins.findIndex(\n (p) => p.name === \"vite-plugin-react-server:preserve-directives\"\n );\n\n if (transformerIndex === -1) {\n throw new Error(\"Transformer plugin not installed\");\n }\n if (preserverIndex < transformerIndex) {\n throw new Error(\n \"Transformer plugin isn't installed or isn't running before preserver\"\n );\n }\n },\n \n async configurePreviewServer(server) {\n if (root !== server.config.root) {\n root = server.config.root;\n }\n if (typeof loader !== \"function\") {\n loader = (id: string) => import(id);\n }\n const normalize = createInputNormalizer({\n root,\n removeExtension: false,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n });\n server.middlewares.use(async (req, res, next) => {\n const [key, value] = normalize(req.url);\n const fileRoot = key.startsWith(\"node_modules\")\n ? root\n : join(root, userOptions.build.outDir, userOptions.build.static);\n try {\n const filePath = join(fileRoot, value);\n const stats = await stat(filePath);\n \n if (stats.isFile()) {\n const ext = value.slice(value.lastIndexOf('.'));\n const contentType = MIME_TYPES[ext] || 'application/octet-stream';\n res.setHeader('Content-Type', contentType);\n const content = await readFile(filePath);\n res.end(content);\n return;\n }\n next();\n } catch (error) {\n console.log(\"Error serving static file:\", error);\n next();\n }\n });\n },\n async configureServer(server: ViteDevServer) {\n if (typeof loader !== \"function\") {\n loader = server.ssrLoadModule;\n }\n if (\n server.config.root !== root &&\n typeof server.config.root === \"string\" &&\n server.config.root !== process.cwd() &&\n server.config.root !== \"\"\n ) {\n console.log(\n \"[vite:plugin-react-server] Root dir changed in configureServer hook\",\n server.config.root,\n root\n );\n root = server.config.root;\n }\n\n const activeStreams = new Set<ServerResponse>();\n\n // Handle Vite server restarts\n server.ws.on(\"restart\", (path) => {\n console.log(\n \"[vite-plugin-react-server] 🔧 Plugin changed, preparing for restart:\",\n path\n );\n\n // Close streams with restart message\n for (const res of activeStreams) {\n res.writeHead(503, {\n \"Content-Type\": \"text/x-component\",\n \"Retry-After\": \"1\",\n });\n res.end('{\"error\":\"Server restarting...\"}');\n }\n activeStreams.clear();\n });\n\n server.middlewares.use(async (req, res, next) => {\n if (req.headers.accept !== \"text/x-component\") return next();\n if (typeof loader !== \"function\") {\n loader = server.ssrLoadModule;\n }\n const route = req.url?.replace('/index.rsc', '');\n try {\n const handler = await createHandler({\n url: !route || route === \"\" ? \"/\" : route,\n urlMap: files.urlMap,\n pluginOptions: {\n ...userOptions,\n // we'll leave the Html generation for later\n Html: React.Fragment,\n projectRoot: root,\n },\n streamOptions: {\n cssFiles: [],\n logger: createLogger(),\n loader,\n moduleGraph: server.moduleGraph,\n moduleBasePath: '',\n moduleBaseURL: '',\n }\n });\n if (handler.type === \"success\") {\n handler.stream?.pipe(res);\n }\n activeStreams.add(res);\n } finally {\n res.on(\"close\", () => {\n activeStreams.delete(res);\n });\n }\n });\n },\n async config(config, configEnv): Promise<UserConfig> {\n if (\n typeof config.root === \"string\" &&\n config.root !== root &&\n config.root !== process.cwd() &&\n config.root !== \"\"\n ) {\n console.log(\n \"[vite:plugin-react-server] Root dir changed in config hook\",\n config.root,\n root\n );\n root = config.root;\n }\n const resolvedPagesResult = await resolvePages(userOptions.build.pages);\n if (resolvedPagesResult.type === \"error\") {\n throw resolvedPagesResult.error;\n }\n resolvedPages = resolvedPagesResult.pages;\n files = await checkFilesExist(resolvedPages, userOptions, root);\n\n const resolvedConfig = resolveUserConfig({\n isClient: false,\n config,\n configEnv,\n userOptions,\n files,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n return resolvedConfig.userConfig;\n },\n async buildStart() {\n if (!timing.buildStart) {\n timing.buildStart = performance.now();\n } else {\n console.log(\"Build already started\");\n }\n },\n handleHotUpdate({ file }) {\n if (file.endsWith(\".css\")) {\n cssModules.add(file);\n }\n },\n async generateBundle(_options, bundle) {\n if (!resolvedConfig) {\n throw new Error(\"Resolved config not found\");\n }\n\n // Create manifest entries for each chunk\n serverManifest = getBundleManifest({\n pluginContext: this,\n bundle,\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n });\n if (serverManifestPath) {\n await mkdir(dirname(serverManifestPath), { recursive: true });\n await writeFile(\n serverManifestPath,\n JSON.stringify(serverManifest, null, 2)\n );\n }\n },\n };\n}\n"],"names":["React","resolvedConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-server/plugin.ts"],"sourcesContent":["import { join, dirname } from \"node:path\";\nimport { performance } from \"node:perf_hooks\";\nimport React from \"react\";\nimport {\n createLogger,\n type ResolvedConfig,\n type UserConfig,\n type ViteDevServer,\n type Manifest,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { checkFilesExist } from \"../checkFilesExist.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolvePages } from \"../config/resolvePages.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport type {\n BuildTiming,\n CheckFilesExistReturn,\n CssContent,\n ReactStreamPluginMeta,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { createHandler } from \"../helpers/createHandler.js\";\nimport { mkdir, readFile, stat, writeFile } from \"node:fs/promises\";\nimport { getBundleManifest } from \"../helpers/getBundleManifest.js\";\nimport type { ServerResponse } from \"node:http\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { MIME_TYPES } from \"../config/mimeTypes.js\";\nimport { InlineCssCollector } from \"../css-collector-inline.js\";\nimport { CssCollector } from \"../css-collector.js\";\nimport { collectModuleGraphCss } from \"../collect-manifest-client-files.js\";\n\nlet resolvedConfig: ResolvedConfig | null = null;\nlet serverManifestPath: string | null = null;\nlet loader: ((id: string) => Promise<Record<string, any>>) | null = null;\n\nexport function reactServerPlugin(options: StreamPluginOptions): VitePlugin<{\n meta: ReactStreamPluginMeta;\n addCssFile: (path: string) => void;\n}> {\n const timing: BuildTiming = {\n start: performance.now(),\n };\n\n let files: CheckFilesExistReturn;\n // let env: Awaited<ReturnType<typeof getEnv>>;\n let cssModules = new Set<string>();\n // let define: Record<string, string>;\n let buildCssFiles = new Set<string>();\n let root: string = process.cwd();\n let userOptions: ResolvedUserOptions;\n let resolvedPages: string[];\n let serverManifest: Manifest = {};\n\n const resolvedOptions = resolveOptions(options, false);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n if (\n userOptions.projectRoot != root &&\n typeof userOptions.projectRoot === \"string\" &&\n userOptions.projectRoot !== process.cwd() &&\n userOptions.projectRoot !== \"\"\n ) {\n root = userOptions.projectRoot;\n console.log(\n \"[vite:plugin-react-server] Root dir changed in plugin\",\n userOptions.projectRoot,\n root\n );\n }\n\n return {\n name: \"vite:react-stream-server\",\n enforce: \"post\",\n api: {\n meta: { timing },\n addCssFile(path: string) {\n buildCssFiles.add(path);\n },\n },\n configResolved(_resolvedConfig) {\n resolvedConfig = _resolvedConfig;\n\n serverManifestPath = join(\n userOptions.build.outDir,\n userOptions.build.server,\n \".vite/manifest.json\"\n );\n timing.configResolved = performance.now();\n\n // Verify transformer runs first, preserver runs last\n const plugins = resolvedConfig.plugins;\n const transformerIndex = plugins.findIndex(\n (p) => p.name === \"vite:react-transform\"\n );\n const preserverIndex = plugins.findIndex(\n (p) => p.name === \"vite-plugin-react-server:preserve-directives\"\n );\n\n if (transformerIndex === -1) {\n throw new Error(\"Transformer plugin not installed\");\n }\n if (preserverIndex < transformerIndex) {\n throw new Error(\n \"Transformer plugin isn't installed or isn't running before preserver\"\n );\n }\n },\n\n async configurePreviewServer(server) {\n if (root !== server.config.root) {\n root = server.config.root;\n }\n if (typeof loader !== \"function\") {\n loader = (id: string) => import(id);\n }\n const normalize = createInputNormalizer({\n root,\n removeExtension: false,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n });\n server.middlewares.use(async (req, res, next) => {\n const [key, value] = normalize(req.url);\n const fileRoot = key.startsWith(\"node_modules\")\n ? root\n : join(root, userOptions.build.outDir, userOptions.build.static);\n try {\n const filePath = join(fileRoot, value);\n const stats = await stat(filePath);\n\n if (stats.isFile()) {\n const ext = value.slice(value.lastIndexOf(\".\"));\n const contentType = MIME_TYPES[ext] || \"application/octet-stream\";\n res.setHeader(\"Content-Type\", contentType);\n const content = await readFile(filePath);\n res.end(content);\n return;\n }\n next();\n } catch (error) {\n console.log(\"Error serving static file:\", error);\n next();\n }\n });\n },\n async configureServer(server: ViteDevServer) {\n if (typeof loader !== \"function\") {\n loader = server.ssrLoadModule;\n }\n if (\n server.config.root !== root &&\n typeof server.config.root === \"string\" &&\n server.config.root !== process.cwd() &&\n server.config.root !== \"\"\n ) {\n console.log(\n \"[vite:plugin-react-server] Root dir changed in configureServer hook\",\n server.config.root,\n root\n );\n root = server.config.root;\n }\n\n const activeStreams = new Set<ServerResponse>();\n\n // Handle Vite server restarts\n server.ws.on(\"restart\", (path) => {\n console.log(\n \"[vite-plugin-react-server] 🔧 Plugin changed, preparing for restart:\",\n path\n );\n\n // Close streams with restart message\n for (const res of activeStreams) {\n res.writeHead(503, {\n \"Content-Type\": \"text/x-component\",\n \"Retry-After\": \"1\",\n });\n res.end('{\"error\":\"Server restarting...\"}');\n }\n activeStreams.clear();\n });\n\n server.middlewares.use(async (req, res, next) => {\n if (req.headers.accept !== \"text/x-component\") return next();\n if (typeof loader !== \"function\") {\n loader = server.ssrLoadModule;\n }\n let route = req.url?.replace(\"/index.rsc\", \"\");\n if (!route || route === \"\") {\n route = \"/\";\n }\n try {\n const handler = await createHandler({\n root: root,\n url:\n typeof userOptions.moduleBaseURL === \"string\" &&\n userOptions.moduleBaseURL !== \"\"\n ? new URL(route, userOptions.moduleBaseURL).href\n : route,\n route: route,\n getCss: async (id) => {\n const cssFiles = await collectModuleGraphCss({\n moduleGraph: server.moduleGraph,\n pagePath: id,\n onCss: undefined,\n })\n if (userOptions.inlineCss) {\n const InlineMap = new Map<string, CssContent>();\n await Promise.all(Array.from(cssFiles.entries()).map(async ([file, fileUrl]) => {\n const content = await server.ssrLoadModule(fileUrl + \"?inline\");\n if (content) {\n InlineMap.set(file, {\n content: content['default'],\n path: file,\n type: \"text/css\",\n });\n }\n }));\n return InlineMap;\n }\n return cssFiles;\n },\n cssFiles: [],\n logger: createLogger(),\n loader,\n moduleBase: userOptions.moduleBase,\n moduleBasePath: userOptions.moduleBasePath,\n moduleBaseURL: userOptions.moduleBaseURL,\n moduleRootPath: root,\n pipableStreamOptions: userOptions.pipableStreamOptions,\n Html: React.Fragment,\n CssCollector: userOptions.inlineCss ? InlineCssCollector as any : CssCollector as any,\n onCssFile: undefined,\n inlineCss: userOptions.inlineCss,\n propsPath: files.urlMap.get(route)?.props ?? route,\n pagePath: files.urlMap.get(route)?.page ?? route,\n pageExportName: userOptions.pageExportName,\n propsExportName: userOptions.propsExportName,\n });\n if (handler.type === \"success\") {\n handler.stream?.pipe(res);\n }\n activeStreams.add(res);\n } finally {\n res.on(\"close\", () => {\n activeStreams.delete(res);\n });\n }\n });\n },\n async config(config, configEnv): Promise<UserConfig> {\n if (\n typeof config.root === \"string\" &&\n config.root !== root &&\n config.root !== process.cwd() &&\n config.root !== \"\"\n ) {\n console.log(\n \"[vite:plugin-react-server] Root dir changed in config hook\",\n config.root,\n root\n );\n root = config.root;\n }\n const resolvedPagesResult = await resolvePages(userOptions.build.pages);\n if (resolvedPagesResult.type === \"error\") {\n throw resolvedPagesResult.error;\n }\n resolvedPages = resolvedPagesResult.pages;\n files = await checkFilesExist(resolvedPages, userOptions, root);\n\n const resolvedConfig = resolveUserConfig({\n isClient: false,\n config,\n configEnv,\n userOptions,\n files,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n return resolvedConfig.userConfig;\n },\n async buildStart() {\n if (!timing.buildStart) {\n timing.buildStart = performance.now();\n } else {\n console.log(\"Build already started\");\n }\n },\n handleHotUpdate({ file }) {\n if (file.endsWith(\".css\")) {\n cssModules.add(file);\n }\n },\n async generateBundle(_options, bundle) {\n if (!resolvedConfig) {\n throw new Error(\"Resolved config not found\");\n }\n\n // Create manifest entries for each chunk\n serverManifest = getBundleManifest({\n pluginContext: this,\n bundle,\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n });\n if (serverManifestPath) {\n await mkdir(dirname(serverManifestPath), { recursive: true });\n await writeFile(\n serverManifestPath,\n JSON.stringify(serverManifest, null, 2)\n );\n }\n },\n };\n}\n"],"names":["React","resolvedConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,MAAM,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,MAAM,IAAI,UAAU,EAE1B,MAAM,MAAM,CAAC;AAOd,OAAO,KAAK,EAGV,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAcvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAC1E,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAwND"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { join, dirname } from 'node:path';
|
|
7
7
|
import 'node:worker_threads';
|
|
8
|
-
import 'vite';
|
|
8
|
+
import { createLogger } from 'vite';
|
|
9
9
|
import { checkFilesExist } from '../checkFilesExist.js';
|
|
10
10
|
import { resolveOptions } from '../config/resolveOptions.js';
|
|
11
11
|
import { resolvePages } from '../config/resolvePages.js';
|
|
@@ -31,7 +31,7 @@ function reactStaticPlugin(options) {
|
|
|
31
31
|
let root = process.cwd();
|
|
32
32
|
let userConfig;
|
|
33
33
|
let userOptions;
|
|
34
|
-
let
|
|
34
|
+
let pages;
|
|
35
35
|
let serverManifest = {};
|
|
36
36
|
let clientManifest = {};
|
|
37
37
|
const resolvedOptions = resolveOptions(options, false);
|
|
@@ -57,12 +57,12 @@ function reactStaticPlugin(options) {
|
|
|
57
57
|
if (typeof config.root === "string" && config.root !== root && config.root !== process.cwd() && config.root !== "") {
|
|
58
58
|
root = config.root;
|
|
59
59
|
}
|
|
60
|
-
const
|
|
61
|
-
if (
|
|
62
|
-
throw
|
|
60
|
+
const resolvePagesResult = await resolvePages(userOptions.build.pages);
|
|
61
|
+
if (resolvePagesResult.type === "error") {
|
|
62
|
+
throw resolvePagesResult.error;
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
files = await checkFilesExist(
|
|
64
|
+
pages = resolvePagesResult.pages;
|
|
65
|
+
files = await checkFilesExist(pages, userOptions, root);
|
|
66
66
|
const resolvedConfig2 = resolveUserConfig({
|
|
67
67
|
isStatic: true,
|
|
68
68
|
config,
|
|
@@ -132,7 +132,7 @@ function reactStaticPlugin(options) {
|
|
|
132
132
|
testClient: () => true
|
|
133
133
|
});
|
|
134
134
|
indexCss.forEach((css) => globalCss.add(css));
|
|
135
|
-
for (const route of
|
|
135
|
+
for (const route of pages) {
|
|
136
136
|
const routeFiles = files.urlMap.get(route);
|
|
137
137
|
if (routeFiles) {
|
|
138
138
|
const pageCss = collectManifestClientFiles({
|
|
@@ -155,18 +155,26 @@ function reactStaticPlugin(options) {
|
|
|
155
155
|
}
|
|
156
156
|
const bootstrapModules = clientManifest["index.html"]?.file ? [clientManifest["index.html"].file.startsWith("/") ? clientManifest["index.html"].file.slice(1) : clientManifest["index.html"].file] : [];
|
|
157
157
|
const { failedRoutes, completedRoutes } = await renderPages(
|
|
158
|
-
|
|
158
|
+
pages,
|
|
159
159
|
files,
|
|
160
160
|
{
|
|
161
|
+
root,
|
|
161
162
|
outDir: userOptions.build.outDir,
|
|
162
163
|
htmlOutputPath: join(userOptions.build.outDir, userOptions.build.static, "index.html"),
|
|
163
164
|
pipableStreamOptions: {
|
|
164
165
|
bootstrapModules
|
|
165
166
|
},
|
|
166
|
-
|
|
167
|
+
moduleRootPath: join(root, userOptions.build.outDir, userOptions.build.static, userOptions.moduleBasePath),
|
|
168
|
+
moduleBasePath: userOptions.moduleBasePath,
|
|
167
169
|
moduleBaseURL: userOptions.moduleBaseURL,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
+
inlineCss: userOptions.inlineCss,
|
|
171
|
+
pageExportName: userOptions.pageExportName,
|
|
172
|
+
propsExportName: userOptions.propsExportName,
|
|
173
|
+
Html: userOptions.Html,
|
|
174
|
+
CssCollector: userOptions.CssCollector,
|
|
175
|
+
cssFiles: [],
|
|
176
|
+
logger: createLogger(),
|
|
177
|
+
moduleBase: userOptions.moduleBase,
|
|
170
178
|
worker,
|
|
171
179
|
clientManifest,
|
|
172
180
|
serverManifest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-static/plugin.ts"],"sourcesContent":["import { join, dirname } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\nimport {\n type ResolvedConfig,\n type UserConfig,\n type Manifest,\n type IndexHtmlTransformHook,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { checkFilesExist } from \"../checkFilesExist.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolvePages } from \"../config/resolvePages.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { createBuildLoader } from \"../loader/createBuildLoader.js\";\nimport type {\n BuildTiming,\n CheckFilesExistReturn,\n ReactStreamPluginMeta,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { createWorker } from \"../worker/createWorker.js\";\nimport { renderPages } from \"../worker/html/renderPages.js\";\nimport { mkdir } from \"node:fs/promises\";\nimport { collectManifestClientFiles } from \"../collect-manifest-client-files.js\";\nimport { mkdirSync, copyFileSync } from \"node:fs\";\nimport { copyDir } from \"../copy-dir.js\";\n\nlet resolvedConfig: ResolvedConfig | null = null;\nlet loader: ((id: string) => Promise<Record<string, any>>) | null = null;\nlet worker: Worker;\nlet htmlTransform: IndexHtmlTransformHook | null = null;\nlet clientAssets = new Set<string>();\n\nexport function reactStaticPlugin(options: StreamPluginOptions): VitePlugin<{\n meta: ReactStreamPluginMeta;\n}> {\n const timing: BuildTiming = {\n start: Date.now(),\n };\n\n let files: CheckFilesExistReturn;\n let root: string = process.cwd();\n let userConfig: ResolvedUserConfig;\n let userOptions: ResolvedUserOptions;\n let resolvedPages: string[];\n let serverManifest: Manifest = {};\n let clientManifest: Manifest = {};\n\n const resolvedOptions = resolveOptions(options, false);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n if (\n userOptions.projectRoot != root &&\n typeof userOptions.projectRoot === \"string\" &&\n userOptions.projectRoot !== process.cwd() &&\n userOptions.projectRoot !== \"\"\n ) {\n root = userOptions.projectRoot;\n console.log(\n \"[vite:plugin-react-server] Root dir changed in plugin\",\n userOptions.projectRoot,\n root\n );\n }\n\n return {\n name: \"vite:plugin-react-server/static\",\n enforce: \"post\",\n api: {\n meta: { timing },\n },\n async config(config, configEnv): Promise<UserConfig> {\n if (\n typeof config.root === \"string\" &&\n config.root !== root &&\n config.root !== process.cwd() &&\n config.root !== \"\"\n ) {\n root = config.root;\n }\n const resolvedPagesResult = await resolvePages(userOptions.build.pages);\n if (resolvedPagesResult.type === \"error\") {\n throw resolvedPagesResult.error;\n }\n resolvedPages = resolvedPagesResult.pages;\n files = await checkFilesExist(resolvedPages, userOptions, root);\n\n const resolvedConfig = resolveUserConfig({\n isStatic: true,\n config,\n configEnv,\n userOptions,\n files,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n timing.configResolved = Date.now();\n return {};\n },\n async buildStart() {\n timing.buildStart = Date.now();\n },\n async closeBundle() {\n timing.renderStart = Date.now();\n\n // Create the loader\n const serverManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.server),\n ssrManifest: false,\n });\n if (serverManifestResult.type === \"error\") {\n throw serverManifestResult.error;\n }\n serverManifest = serverManifestResult.manifest;\n\n // Get the client manifest\n const clientManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.client),\n ssrManifest: false,\n });\n\n if (clientManifestResult.type === \"error\") {\n throw clientManifestResult.error;\n }\n clientManifest = clientManifestResult.manifest;\n\n // Ensure static directory exists\n const staticDir = join(root, userOptions.build.outDir, userOptions.build.static);\n await mkdir(staticDir, { recursive: true });\n\n worker = await createWorker({\n projectRoot: root,\n workerPath: userOptions.htmlWorkerPath,\n condition: \"react-server\",\n reverseCondition: true,\n mode: (resolvedConfig?.mode ?? \"production\") as \"production\" | \"development\",\n });\n\n if (typeof loader !== \"function\") {\n loader = createBuildLoader({\n root: root,\n userConfig,\n userOptions,\n pluginContext: this,\n serverManifest,\n clientManifest,\n });\n }\n\n // Collect CSS files per route\n const routeCssMap = new Map<string, Set<string>>();\n const globalCss = new Set<string>();\n // copy whole client directory to static directory\n await mkdir(staticDir, { recursive: true });\n await copyDir(join(root, userOptions.build.outDir, userOptions.build.client), join(root, userOptions.build.outDir, userOptions.build.static));\n // Add global CSS from index.html - use client manifest\n const {cssFiles: indexCss} = collectManifestClientFiles({\n manifest: clientManifest,\n root: root,\n pagePath: 'index.html',\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n testClient: ()=>true,\n });\n indexCss.forEach((css) => globalCss.add(css));\n\n // Add CSS for each route's page component - use server manifest\n for (const route of resolvedPages) {\n const routeFiles = files.urlMap.get(route);\n if (routeFiles) {\n const pageCss = collectManifestClientFiles({\n manifest: serverManifest,\n root: root,\n pagePath: routeFiles.page,\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n onClientModule(path) {\n // copy the css file to the static directory\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.server, path);\n const destinationPath = join(root, userOptions.build.outDir, userOptions.build.static, path);\n mkdirSync(dirname(destinationPath), { recursive: true });\n copyFileSync(targetPath, destinationPath);\n },\n testClient: userOptions.autoDiscover.cssPattern,\n testJson: userOptions.autoDiscover.jsonPattern,\n });\n routeCssMap.set(route, new Set([...globalCss, ...pageCss.cssFiles.keys()]));\n }\n }\n const bootstrapModules = clientManifest[\"index.html\"]?.file\n ? [clientManifest[\"index.html\"].file.startsWith(\"/\")\n ? clientManifest[\"index.html\"].file.slice(1)\n : clientManifest[\"index.html\"].file]\n : [];\n \n const { failedRoutes, completedRoutes} = await renderPages(\n resolvedPages,\n files,\n {\n outDir: userOptions.build.outDir,\n htmlOutputPath: join( userOptions.build.outDir, userOptions.build.static, \"index.html\"),\n pipableStreamOptions: {\n bootstrapModules: bootstrapModules,\n },\n moduleBasePath: join(root, userOptions.build.outDir, userOptions.build.client),\n moduleBaseURL: userOptions.moduleBaseURL,\n userConfig,\n pluginOptions: userOptions,\n worker,\n clientManifest,\n serverManifest,\n loader,\n transformIndexHtml: htmlTransform!,\n onClientJSFile: (url) => {\n if (!clientAssets.has(url)) {\n const clientPath = join(root, userOptions.build.outDir, userOptions.build.client, url);\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.static, url);\n mkdirSync(dirname(targetPath), { recursive: true });\n copyFileSync(clientPath, targetPath);\n clientAssets.add(url);\n }\n }\n }\n );\n\n if (failedRoutes.size > 0) {\n console.error(\n \"[vite-plugin-react-server] Failed to render routes:\",\n failedRoutes\n );\n }\n console.log(`Rendered ${completedRoutes.size} unique routes to ${join(userOptions.build.outDir, userOptions.build.static)}`);\n await worker.terminate();\n },\n };\n}\n"],"names":["resolvedConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-static/plugin.ts"],"sourcesContent":["import { join, dirname } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\nimport {\n type ResolvedConfig,\n type UserConfig,\n type Manifest,\n type IndexHtmlTransformHook,\n type Plugin as VitePlugin,\n createLogger,\n} from \"vite\";\nimport { checkFilesExist } from \"../checkFilesExist.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolvePages } from \"../config/resolvePages.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { createBuildLoader } from \"../loader/createBuildLoader.js\";\nimport type {\n BuildTiming,\n CheckFilesExistReturn,\n ReactStreamPluginMeta,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { createWorker } from \"../worker/createWorker.js\";\nimport { renderPages } from \"../worker/html/renderPages.js\";\nimport { mkdir } from \"node:fs/promises\";\nimport { collectManifestClientFiles } from \"../collect-manifest-client-files.js\";\nimport { mkdirSync, copyFileSync } from \"node:fs\";\nimport { copyDir } from \"../copy-dir.js\";\n\nlet resolvedConfig: ResolvedConfig | null = null;\nlet loader: ((id: string) => Promise<Record<string, any>>) | null = null;\nlet worker: Worker;\nlet htmlTransform: IndexHtmlTransformHook | null = null;\nlet clientAssets = new Set<string>();\n\nexport function reactStaticPlugin(options: StreamPluginOptions): VitePlugin<{\n meta: ReactStreamPluginMeta;\n}> {\n const timing: BuildTiming = {\n start: Date.now(),\n };\n\n let files: CheckFilesExistReturn;\n let root: string = process.cwd();\n let userConfig: ResolvedUserConfig;\n let userOptions: ResolvedUserOptions;\n let pages: string[];\n let serverManifest: Manifest = {};\n let clientManifest: Manifest = {};\n\n const resolvedOptions = resolveOptions(options, false);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n if (\n userOptions.projectRoot != root &&\n typeof userOptions.projectRoot === \"string\" &&\n userOptions.projectRoot !== process.cwd() &&\n userOptions.projectRoot !== \"\"\n ) {\n root = userOptions.projectRoot;\n console.log(\n \"[vite:plugin-react-server] Root dir changed in plugin\",\n userOptions.projectRoot,\n root\n );\n }\n\n return {\n name: \"vite:plugin-react-server/static\",\n enforce: \"post\",\n api: {\n meta: { timing },\n },\n async config(config, configEnv): Promise<UserConfig> {\n if (\n typeof config.root === \"string\" &&\n config.root !== root &&\n config.root !== process.cwd() &&\n config.root !== \"\"\n ) {\n root = config.root;\n }\n const resolvePagesResult = await resolvePages(userOptions.build.pages);\n if (resolvePagesResult.type === \"error\") {\n throw resolvePagesResult.error;\n }\n pages = resolvePagesResult.pages;\n files = await checkFilesExist(pages, userOptions, root);\n\n const resolvedConfig = resolveUserConfig({\n isStatic: true,\n config,\n configEnv,\n userOptions,\n files,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n timing.configResolved = Date.now();\n return {};\n },\n async buildStart() {\n timing.buildStart = Date.now();\n },\n async closeBundle() {\n timing.renderStart = Date.now();\n\n // Create the loader\n const serverManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.server),\n ssrManifest: false,\n });\n if (serverManifestResult.type === \"error\") {\n throw serverManifestResult.error;\n }\n serverManifest = serverManifestResult.manifest;\n\n // Get the client manifest\n const clientManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.client),\n ssrManifest: false,\n });\n\n if (clientManifestResult.type === \"error\") {\n throw clientManifestResult.error;\n }\n clientManifest = clientManifestResult.manifest;\n\n // Ensure static directory exists\n const staticDir = join(root, userOptions.build.outDir, userOptions.build.static);\n await mkdir(staticDir, { recursive: true });\n\n worker = await createWorker({\n projectRoot: root,\n workerPath: userOptions.htmlWorkerPath,\n condition: \"react-server\",\n reverseCondition: true,\n mode: (resolvedConfig?.mode ?? \"production\") as \"production\" | \"development\",\n });\n\n if (typeof loader !== \"function\") {\n loader = createBuildLoader({\n root: root,\n userConfig,\n userOptions,\n pluginContext: this,\n serverManifest,\n clientManifest,\n });\n }\n\n // Collect CSS files per route\n const routeCssMap = new Map<string, Set<string>>();\n const globalCss = new Set<string>();\n // copy whole client directory to static directory\n await mkdir(staticDir, { recursive: true });\n await copyDir(join(root, userOptions.build.outDir, userOptions.build.client), join(root, userOptions.build.outDir, userOptions.build.static));\n // Add global CSS from index.html - use client manifest\n const {cssFiles: indexCss} = collectManifestClientFiles({\n manifest: clientManifest,\n root: root,\n pagePath: 'index.html',\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n testClient: ()=>true,\n });\n indexCss.forEach((css) => globalCss.add(css));\n\n // Add CSS for each route's page component - use server manifest\n for (const route of pages) {\n const routeFiles = files.urlMap.get(route);\n if (routeFiles) {\n const pageCss = collectManifestClientFiles({\n manifest: serverManifest,\n root: root,\n pagePath: routeFiles.page,\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n onClientModule(path) {\n // copy the css file to the static directory\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.server, path);\n const destinationPath = join(root, userOptions.build.outDir, userOptions.build.static, path);\n mkdirSync(dirname(destinationPath), { recursive: true });\n copyFileSync(targetPath, destinationPath);\n },\n testClient: userOptions.autoDiscover.cssPattern,\n testJson: userOptions.autoDiscover.jsonPattern,\n });\n routeCssMap.set(route, new Set([...globalCss, ...pageCss.cssFiles.keys()]));\n }\n }\n const bootstrapModules = clientManifest[\"index.html\"]?.file\n ? [clientManifest[\"index.html\"].file.startsWith(\"/\")\n ? clientManifest[\"index.html\"].file.slice(1)\n : clientManifest[\"index.html\"].file]\n : [];\n \n const { failedRoutes, completedRoutes} = await renderPages(\n pages,\n files,\n {\n root: root,\n outDir: userOptions.build.outDir,\n htmlOutputPath: join( userOptions.build.outDir, userOptions.build.static, \"index.html\"),\n pipableStreamOptions: {\n bootstrapModules: bootstrapModules,\n },\n moduleRootPath: join(root, userOptions.build.outDir, userOptions.build.static, userOptions.moduleBasePath),\n moduleBasePath: userOptions.moduleBasePath,\n moduleBaseURL: userOptions.moduleBaseURL,\n inlineCss: userOptions.inlineCss,\n pageExportName: userOptions.pageExportName,\n propsExportName: userOptions.propsExportName,\n Html: userOptions.Html,\n CssCollector: userOptions.CssCollector,\n cssFiles: [],\n logger: createLogger(),\n moduleBase: userOptions.moduleBase,\n worker,\n clientManifest,\n serverManifest,\n loader,\n transformIndexHtml: htmlTransform!,\n onClientJSFile: (url) => {\n if (!clientAssets.has(url)) {\n const clientPath = join(root, userOptions.build.outDir, userOptions.build.client, url);\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.static, url);\n mkdirSync(dirname(targetPath), { recursive: true });\n copyFileSync(clientPath, targetPath);\n clientAssets.add(url);\n }\n }\n }\n );\n\n if (failedRoutes.size > 0) {\n console.error(\n \"[vite-plugin-react-server] Failed to render routes:\",\n failedRoutes\n );\n }\n console.log(`Rendered ${completedRoutes.size} unique routes to ${join(userOptions.build.outDir, userOptions.build.static)}`);\n await worker.terminate();\n },\n };\n}\n"],"names":["resolvedConfig"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG,EAEtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/plugin/types.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ export interface StreamPluginOptionsClient {
|
|
|
21
21
|
clientComponents?: AliasOptions;
|
|
22
22
|
cssFiles?: AliasOptions;
|
|
23
23
|
}
|
|
24
|
-
export type ResolvedUserOptions = Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot" | "build" | "Page" | "props" | "Html" | "pageExportName" | "propsExportName" | "collectCss" | "collectAssets" | "htmlWorkerPath" | "rscWorkerPath" | "loaderPath" | "clientEntry" | "serverEntry" | "moduleBaseExceptions" | "pipableStreamOptions">> & {
|
|
25
|
-
build: NonNullable<Required<StreamPluginOptions["build"]>>;
|
|
24
|
+
export type ResolvedUserOptions<InlineCSS extends boolean = boolean> = Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot" | "build" | "Page" | "props" | "Html" | "CssCollector" | "pageExportName" | "propsExportName" | "collectCss" | "collectAssets" | "inlineCss" | "htmlWorkerPath" | "rscWorkerPath" | "loaderPath" | "clientEntry" | "serverEntry" | "moduleBaseExceptions" | "pipableStreamOptions">> & {
|
|
25
|
+
build: NonNullable<Required<StreamPluginOptions<InlineCSS>["build"]>>;
|
|
26
26
|
autoDiscover: {
|
|
27
27
|
modulePattern: (path: string) => boolean;
|
|
28
28
|
cssPattern: (path: string) => boolean;
|
|
@@ -42,7 +42,7 @@ export type createBuildConfigFn<C extends "react-client" | "react-server"> = (in
|
|
|
42
42
|
mode: "production" | "development" | "test";
|
|
43
43
|
inputNormalizer: C extends "react-server" ? InputNormalizerWorker : InputNormalizerWorker;
|
|
44
44
|
}) => C extends "react-server" ? Promise<InlineConfig> : Promise<InlineConfig>;
|
|
45
|
-
export interface StreamPluginOptions {
|
|
45
|
+
export interface StreamPluginOptions<InlineCSS extends boolean = boolean> {
|
|
46
46
|
projectRoot?: string;
|
|
47
47
|
moduleBase: string;
|
|
48
48
|
moduleBasePath?: string;
|
|
@@ -75,24 +75,37 @@ export interface StreamPluginOptions {
|
|
|
75
75
|
url: string;
|
|
76
76
|
children: React.ReactNode;
|
|
77
77
|
}>;
|
|
78
|
+
CssCollector?: InlineCSS extends true ? React.FC<React.PropsWithChildren<InlineCssCollectorProps>> : React.FC<React.PropsWithChildren<CssCollectorProps>>;
|
|
78
79
|
collectCss?: boolean;
|
|
79
80
|
collectAssets?: boolean;
|
|
81
|
+
inlineCss?: InlineCSS;
|
|
80
82
|
build?: BuildConfig;
|
|
81
83
|
moduleBaseExceptions?: string[];
|
|
82
84
|
pipableStreamOptions?: PipeableStreamOptions;
|
|
83
85
|
}
|
|
84
|
-
export interface CreateHandlerOptions<T = any> {
|
|
86
|
+
export interface CreateHandlerOptions<T = any, InlineCSS extends boolean = boolean> {
|
|
87
|
+
root: string;
|
|
88
|
+
url: string;
|
|
89
|
+
route: string;
|
|
90
|
+
getCss: (id: string) => Promise<Map<string, string | CssContent>> | Map<string, string | CssContent>;
|
|
85
91
|
loader: (id: string) => Promise<T>;
|
|
86
|
-
|
|
87
|
-
|
|
92
|
+
Html: NonNullable<StreamPluginOptions['Html']>;
|
|
93
|
+
CssCollector: InlineCSS extends true ? React.FC<React.PropsWithChildren<InlineCssCollectorProps>> : React.FC<React.PropsWithChildren<CssCollectorProps>>;
|
|
94
|
+
inlineCss: InlineCSS;
|
|
95
|
+
propsPath?: string;
|
|
96
|
+
pagePath?: string;
|
|
97
|
+
pageExportName: string;
|
|
98
|
+
propsExportName: string;
|
|
99
|
+
moduleBase: string;
|
|
100
|
+
preserveModulesRoot?: boolean | undefined;
|
|
88
101
|
moduleBasePath: string;
|
|
102
|
+
moduleRootPath: string;
|
|
89
103
|
moduleBaseURL: string;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
cssModules?: Set<string>;
|
|
104
|
+
cssFiles: (string | CssContent)[];
|
|
105
|
+
cssModules?: Map<string, string | CssContent> | undefined;
|
|
93
106
|
onCssFile?: (path: string, parentUrl: string) => void;
|
|
94
|
-
logger
|
|
95
|
-
pipableStreamOptions
|
|
107
|
+
logger: import("vite").Logger;
|
|
108
|
+
pipableStreamOptions: PipeableStreamOptions;
|
|
96
109
|
}
|
|
97
110
|
export type ModuleLoader = (url: string, context?: any, defaultLoad?: any) => Promise<Record<string, any>>;
|
|
98
111
|
export interface BaseProps {
|
|
@@ -276,4 +289,28 @@ export interface PageData {
|
|
|
276
289
|
modules: Array<[string, string]>;
|
|
277
290
|
};
|
|
278
291
|
}
|
|
292
|
+
export interface CssContent {
|
|
293
|
+
type?: string;
|
|
294
|
+
content: string;
|
|
295
|
+
key?: string;
|
|
296
|
+
path: string;
|
|
297
|
+
}
|
|
298
|
+
export interface InlineCssCollectorProps {
|
|
299
|
+
cssFiles: CssContent[];
|
|
300
|
+
root: string;
|
|
301
|
+
moduleBaseURL: string;
|
|
302
|
+
moduleBasePath: string;
|
|
303
|
+
moduleRootPath: string;
|
|
304
|
+
route: string;
|
|
305
|
+
children?: React.ReactNode;
|
|
306
|
+
}
|
|
307
|
+
export interface CssCollectorProps {
|
|
308
|
+
cssFiles: CssContent[];
|
|
309
|
+
root: string;
|
|
310
|
+
moduleBaseURL: string;
|
|
311
|
+
moduleBasePath: string;
|
|
312
|
+
moduleRootPath: string;
|
|
313
|
+
route: string;
|
|
314
|
+
children?: React.ReactNode;
|
|
315
|
+
}
|
|
279
316
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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":"messageHandler.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/html/messageHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAYtE,eAAO,MAAM,cAAc,YAAmB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"messageHandler.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/html/messageHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAYtE,eAAO,MAAM,cAAc,YAAmB,iBAAiB,kBAmH9D,CAAC"}
|
|
@@ -50,7 +50,7 @@ const messageHandler = async (message) => {
|
|
|
50
50
|
const reactElements = await createFromNodeStream(
|
|
51
51
|
rscStream,
|
|
52
52
|
render.moduleRootPath,
|
|
53
|
-
|
|
53
|
+
render.moduleBaseURL
|
|
54
54
|
);
|
|
55
55
|
const htmlPromise = new Promise((resolve) => {
|
|
56
56
|
const collectStream = new PassThrough();
|
|
@@ -75,6 +75,9 @@ const messageHandler = async (message) => {
|
|
|
75
75
|
// Calculate relative paths based on route depth
|
|
76
76
|
bootstrapModules: render.pipableStreamOptions?.bootstrapModules?.map((path) => {
|
|
77
77
|
if (!path) return path;
|
|
78
|
+
if (render.moduleBaseURL && render.moduleBaseURL !== "") {
|
|
79
|
+
return new URL(path, render.moduleBaseURL).toString();
|
|
80
|
+
}
|
|
78
81
|
const depth = id.split("/").filter(Boolean).length;
|
|
79
82
|
const prefix = depth > 0 ? "../".repeat(depth) : "/";
|
|
80
83
|
return path.startsWith("/") ? prefix + path.slice(1) : prefix + path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageHandler.js","sources":["../../../../plugin/worker/html/messageHandler.ts"],"sourcesContent":["import { PassThrough } from \"node:stream\";\nimport { parentPort } from \"node:worker_threads\";\nimport type { HtmlRenderState, HtmlWorkerMessage } from \"../types.js\";\nimport * as ReactDOMServer from \"react-dom/server\";\nimport React from \"react\";\nimport {\n createFromNodeStream,\n // @ts-ignore\n} from \"react-server-dom-esm/client.node\";\n\n// Track active renders and streams\nconst activeRenders = new Map<string, HtmlRenderState>();\nconst htmlContent = new Map<string, string>();\nconst htmlPromises = new Map<string, Promise<string>>();\nexport const messageHandler = async (message: HtmlWorkerMessage) => {\n try {\n switch (message.type) {\n case \"RSC_CHUNK\": {\n const { id, chunk, moduleRootPath, moduleBaseURL, htmlOutputPath, pipableStreamOptions } = message;\n \n const render = activeRenders.get(id);\n if (!render) {\n activeRenders.set(id, {\n chunks: [chunk],\n id,\n complete: false,\n rendered: false,\n moduleRootPath,\n moduleBaseURL,\n outDir: '',\n htmlOutputPath: htmlOutputPath,\n pipableStreamOptions: pipableStreamOptions,\n });\n } else {\n render.chunks = [...render.chunks, chunk];\n }\n break;\n }\n\n case \"RSC_END\": {\n const { id } = message;\n const render = activeRenders.get(id);\n if (!render) {\n throw new Error(`No render state found for ${id}`);\n }\n\n // Mark this render as complete\n render.complete = true;\n\n // Create a PassThrough stream to handle the chunks\n const rscStream = new PassThrough();\n\n // Write all chunks to the stream\n for (const chunk of render.chunks) {\n rscStream.write(chunk);\n }\n rscStream.end();\n \n // Create React elements from stream\n const reactElements = await createFromNodeStream(\n rscStream,\n render.moduleRootPath,\n
|
|
1
|
+
{"version":3,"file":"messageHandler.js","sources":["../../../../plugin/worker/html/messageHandler.ts"],"sourcesContent":["import { PassThrough } from \"node:stream\";\nimport { parentPort } from \"node:worker_threads\";\nimport type { HtmlRenderState, HtmlWorkerMessage } from \"../types.js\";\nimport * as ReactDOMServer from \"react-dom/server\";\nimport React from \"react\";\nimport {\n createFromNodeStream,\n // @ts-ignore\n} from \"react-server-dom-esm/client.node\";\n\n// Track active renders and streams\nconst activeRenders = new Map<string, HtmlRenderState>();\nconst htmlContent = new Map<string, string>();\nconst htmlPromises = new Map<string, Promise<string>>();\nexport const messageHandler = async (message: HtmlWorkerMessage) => {\n try {\n switch (message.type) {\n case \"RSC_CHUNK\": {\n const { id, chunk, moduleRootPath, moduleBaseURL, htmlOutputPath, pipableStreamOptions } = message;\n \n const render = activeRenders.get(id);\n if (!render) {\n activeRenders.set(id, {\n chunks: [chunk],\n id,\n complete: false,\n rendered: false,\n moduleRootPath,\n moduleBaseURL,\n outDir: '',\n htmlOutputPath: htmlOutputPath,\n pipableStreamOptions: pipableStreamOptions,\n });\n } else {\n render.chunks = [...render.chunks, chunk];\n }\n break;\n }\n\n case \"RSC_END\": {\n const { id } = message;\n const render = activeRenders.get(id);\n if (!render) {\n throw new Error(`No render state found for ${id}`);\n }\n\n // Mark this render as complete\n render.complete = true;\n\n // Create a PassThrough stream to handle the chunks\n const rscStream = new PassThrough();\n\n // Write all chunks to the stream\n for (const chunk of render.chunks) {\n rscStream.write(chunk);\n }\n rscStream.end();\n \n // Create React elements from stream\n const reactElements = await createFromNodeStream(\n rscStream,\n render.moduleRootPath,\n render.moduleBaseURL\n );\n\n // Create a promise that resolves when HTML is complete\n const htmlPromise = new Promise<string>((resolve) => {\n const collectStream = new PassThrough();\n let html = '';\n\n collectStream.on(\"data\", (chunk) => {\n html += chunk.toString();\n });\n\n collectStream.on(\"end\", () => {\n resolve(html);\n render.rendered = true;\n parentPort?.postMessage({\n type: \"ALL_READY\",\n id,\n html,\n outputPath: render.htmlOutputPath,\n });\n });\n // Render to pipeable stream\n const stream = ReactDOMServer.renderToPipeableStream(\n reactElements as React.ReactNode,\n {\n ...render.pipableStreamOptions,\n // Calculate relative paths based on route depth\n bootstrapModules: render.pipableStreamOptions?.bootstrapModules?.map(path => {\n if (!path) return path;\n if(render.moduleBaseURL && render.moduleBaseURL !== '') {\n return new URL(path, render.moduleBaseURL).toString();\n }\n const depth = id.split('/').filter(Boolean).length;\n const prefix = depth > 0 ? '../'.repeat(depth) : '/';\n return path.startsWith('/') ? prefix + path.slice(1) : prefix + path;\n }),\n onShellReady() {\n parentPort?.postMessage({ type: \"SHELL_READY\", id });\n }\n }\n );\n\n // Pipe to collection stream\n stream.pipe(collectStream);\n });\n\n htmlPromises.set(id, htmlPromise);\n\n // Clean up resources\n rscStream.destroy();\n activeRenders.delete(id);\n htmlContent.delete(id);\n htmlPromises.delete(id);\n break;\n }\n\n case \"SHUTDOWN\": {\n console.log('Received shutdown signal');\n parentPort?.close();\n break;\n }\n }\n } catch (error) {\n console.error('Error in messageHandler:', error);\n throw error;\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,24 @@
|
|
|
1
1
|
import type { Worker } from "node:worker_threads";
|
|
2
|
-
import type { CheckFilesExistReturn,
|
|
3
|
-
import type
|
|
4
|
-
|
|
5
|
-
bootstrapModules?: string[];
|
|
6
|
-
bootstrapScripts?: string[];
|
|
7
|
-
bootstrapScriptContent?: string;
|
|
8
|
-
signal?: AbortSignal;
|
|
9
|
-
identifierPrefix?: string;
|
|
10
|
-
namespaceURI?: string;
|
|
11
|
-
nonce?: string;
|
|
12
|
-
progressiveChunkSize?: number;
|
|
13
|
-
onShellReady?: () => void;
|
|
14
|
-
onAllReady?: () => void;
|
|
15
|
-
onError?: (error: unknown) => void;
|
|
16
|
-
importMap?: {
|
|
17
|
-
imports?: Record<string, string>;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
type RenderPagesOptions = {
|
|
21
|
-
pluginOptions: ResolvedUserOptions;
|
|
22
|
-
userConfig: ResolvedUserConfig;
|
|
2
|
+
import type { CheckFilesExistReturn, CreateHandlerOptions, PageData } from "../../types.js";
|
|
3
|
+
import { type Manifest, type IndexHtmlTransformHook } from "vite";
|
|
4
|
+
type RenderPagesOptions<T = any> = Omit<CreateHandlerOptions<T>, "url" | "route" | "getCss" | "propsPath" | "pagePath"> & {
|
|
23
5
|
clientManifest: Manifest;
|
|
24
6
|
serverManifest: Manifest;
|
|
25
7
|
worker: Worker;
|
|
26
|
-
pipableStreamOptions?: PipeableStreamOptions;
|
|
27
8
|
loader: (id: string) => Promise<Record<string, any>>;
|
|
28
9
|
onCssFile?: (url: string, parentUrl: string) => void;
|
|
29
10
|
onClientJSFile?: (url: string, parentUrl: string) => void;
|
|
30
11
|
onPage?: (pageData: PageData) => Promise<void>;
|
|
31
12
|
clientCss?: string[];
|
|
32
|
-
moduleBasePath: string;
|
|
33
|
-
moduleBaseURL: string;
|
|
34
13
|
transformIndexHtml: IndexHtmlTransformHook;
|
|
35
14
|
outDir: string;
|
|
36
15
|
htmlOutputPath: string;
|
|
16
|
+
server?: any;
|
|
17
|
+
bundle?: any;
|
|
18
|
+
chunk?: any;
|
|
19
|
+
originalUrl?: string;
|
|
37
20
|
};
|
|
38
|
-
export declare function renderPages(routes: string[], files: CheckFilesExistReturn, options: RenderPagesOptions): Promise<{
|
|
21
|
+
export declare function renderPages<T = any>(routes: string[], files: CheckFilesExistReturn, options: RenderPagesOptions<T>): Promise<{
|
|
39
22
|
failedRoutes: Map<string, Error>;
|
|
40
23
|
completedRoutes: Set<string>;
|
|
41
24
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderPages.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/html/renderPages.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"renderPages.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/html/renderPages.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,sBAAsB,EAAgB,MAAM,MAAM,CAAC;AAIhF,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG;IACxH,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,WAAW,CAAC,CAAC,GAAG,GAAG,EACvC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;;;GAgQ/B"}
|