vite-plugin-react-server 1.1.3 → 1.1.5
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/dist/package.json +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +1 -1
- package/dist/plugin/config/defaults.d.ts +1 -1
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +1 -1
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolveUrlOption.d.ts +2 -2
- package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
- package/dist/plugin/config/resolveUrlOption.js +4 -1
- package/dist/plugin/config/resolveUrlOption.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +11 -1
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/helpers/createRscStream.js +2 -1
- package/dist/plugin/helpers/createRscStream.js.map +1 -1
- package/dist/plugin/helpers/requestToRoute.d.ts +5 -0
- package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -0
- package/dist/plugin/helpers/requestToRoute.js +24 -0
- package/dist/plugin/helpers/requestToRoute.js.map +1 -0
- package/dist/plugin/html.d.ts +1 -1
- package/dist/plugin/html.d.ts.map +1 -1
- package/dist/plugin/html.js +3 -2
- package/dist/plugin/html.js.map +1 -1
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-client/server.d.ts +1 -1
- package/dist/plugin/react-client/server.d.ts.map +1 -1
- package/dist/plugin/react-client/server.js +51 -39
- package/dist/plugin/react-client/server.js.map +1 -1
- package/dist/plugin/react-server/server.d.ts +1 -1
- package/dist/plugin/react-server/server.d.ts.map +1 -1
- package/dist/plugin/react-server/server.js +36 -20
- package/dist/plugin/react-server/server.js.map +1 -1
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +27 -8
- package/dist/plugin/react-static/plugin.js.map +1 -1
- package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPage.js.map +1 -1
- package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.client.js +13 -3
- package/dist/plugin/transformer/plugin.client.js.map +1 -1
- package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.server.js +13 -3
- package/dist/plugin/transformer/plugin.server.js.map +1 -1
- package/dist/plugin/worker/createWorker.d.ts +1 -0
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +9 -16
- package/dist/plugin/worker/createWorker.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/plugin/config/autoDiscover/resolveBuildPages.ts +1 -1
- package/plugin/config/resolveOptions.ts +1 -3
- package/plugin/config/resolveUrlOption.ts +19 -10
- package/plugin/config/resolveUserConfig.ts +19 -1
- package/plugin/helpers/createRscStream.tsx +2 -2
- package/plugin/helpers/requestToRoute.ts +23 -0
- package/plugin/html.tsx +2 -0
- package/plugin/react-client/plugin.ts +1 -0
- package/plugin/react-client/server.ts +62 -40
- package/plugin/react-server/server.ts +50 -23
- package/plugin/react-static/plugin.ts +34 -12
- package/plugin/react-static/renderPage.ts +0 -1
- package/plugin/transformer/plugin.client.ts +13 -3
- package/plugin/transformer/plugin.server.ts +14 -4
- package/plugin/worker/createWorker.ts +19 -21
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ResolvedBuildPages, ResolvedUserOptions } from "../../types.js";
|
|
2
2
|
export declare function resolveBuildPages({ pages, userOptions, }: {
|
|
3
3
|
pages: string[];
|
|
4
|
-
userOptions: Pick<ResolvedUserOptions, "Page" | "props" | "build" | "moduleBase" | "projectRoot" | "normalizer">;
|
|
4
|
+
userOptions: Pick<ResolvedUserOptions, "Page" | "props" | "build" | "moduleBase" | "projectRoot" | "normalizer" | "moduleBasePath">;
|
|
5
5
|
}): Promise<ResolvedBuildPages>;
|
|
6
6
|
//# sourceMappingURL=resolveBuildPages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBuildPages.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM9E,wBAAsB,iBAAiB,CAAC,EACtC,KAAK,EACL,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveBuildPages.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM9E,wBAAsB,iBAAiB,CAAC,EACtC,KAAK,EACL,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,CAAC,CAAC;CACrI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmF9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBuildPages.js","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"sourcesContent":["import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { ResolvedBuildPages, ResolvedUserOptions } from \"../../types.js\";\nimport { resolveUrlOption } from \"../resolveUrlOption.js\";\n\nlet stashedBuildPages: ResolvedBuildPages | null = null;\nlet stashedPages: string[] | null = null;\n\nexport async function resolveBuildPages({\n pages,\n userOptions,\n}: {\n pages: string[];\n userOptions: Pick<ResolvedUserOptions, \"Page\" | \"props\" | \"build\" | \"moduleBase\" | \"projectRoot\" | \"normalizer\">;\n}): Promise<ResolvedBuildPages> {\n // Check if pages array has changed\n const pagesChanged =\n !stashedPages ||\n stashedPages.length !== pages.length ||\n !stashedPages.every((page, i) => page === pages[i]);\n\n if (stashedBuildPages && !pagesChanged) {\n return stashedBuildPages; // Return directly without Promise.resolve\n }\n const errors: Error[] = [];\n const pageMap = new Map<string, string>();\n const propsMap = new Map<string, string>();\n const urlMap = new Map<string, { props: string | undefined; page: string }>();\n const routeMap = new Map<string, string[]>();\n\n for (const page of pages) {\n const pageResult = await resolveUrlOption(userOptions, \"Page\", page);\n if(pageResult.type === \"error\") {\n errors.push(pageResult.error);\n continue;\n }\n if(!userOptions.props) {\n urlMap.set(page, { props: undefined, page: pageResult.Page });\n pageMap.set(page, pageResult.Page);\n // Add to routeMap\n const routes = routeMap.get(pageResult.Page) || [];\n routes.push(page);\n routeMap.set(pageResult.Page, routes);\n continue;\n }\n const propsResult = await resolveUrlOption(userOptions, \"props\", page);\n if(propsResult.type === \"error\") {\n errors.push(propsResult.error);\n continue;\n }\n const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);\n\n try {\n await access(join(userOptions.projectRoot, pageValue));\n } catch {\n errors.push(new Error(`Page file not found: ${pageValue}`));\n }\n\n // If propsPath is defined, check if it exists\n if (propsResult.props) {\n const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);\n if (propsValue !== pageValue) {\n try {\n await access(join(userOptions.projectRoot, propsValue));\n } catch {\n errors.push(\n new Error(`Props file not found: ${propsValue}`)\n );\n }\n }\n urlMap.set(page, { props: propsValue, page: pageValue });\n propsMap.set(propsKey, propsValue);\n \n // Add to routeMap for both page and props files\n const pageRoutes = routeMap.get(pageValue) || [];\n pageRoutes.push(page);\n routeMap.set(pageValue, pageRoutes);\n \n const propsRoutes = routeMap.get(propsValue) || [];\n propsRoutes.push(page);\n routeMap.set(propsValue, propsRoutes);\n } else {\n // If no props path, use the page path for both\n urlMap.set(page, { props: undefined, page: pageValue });\n \n // Add to routeMap for page file only\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n }\n\n pageMap.set(pageKey, pageValue);\n }\n\n stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };\n stashedPages = [...pages];\n return stashedBuildPages;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveBuildPages.js","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"sourcesContent":["import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { ResolvedBuildPages, ResolvedUserOptions } from \"../../types.js\";\nimport { resolveUrlOption } from \"../resolveUrlOption.js\";\n\nlet stashedBuildPages: ResolvedBuildPages | null = null;\nlet stashedPages: string[] | null = null;\n\nexport async function resolveBuildPages({\n pages,\n userOptions,\n}: {\n pages: string[];\n userOptions: Pick<ResolvedUserOptions, \"Page\" | \"props\" | \"build\" | \"moduleBase\" | \"projectRoot\" | \"normalizer\" | \"moduleBasePath\">;\n}): Promise<ResolvedBuildPages> {\n // Check if pages array has changed\n const pagesChanged =\n !stashedPages ||\n stashedPages.length !== pages.length ||\n !stashedPages.every((page, i) => page === pages[i]);\n\n if (stashedBuildPages && !pagesChanged) {\n return stashedBuildPages; // Return directly without Promise.resolve\n }\n const errors: Error[] = [];\n const pageMap = new Map<string, string>();\n const propsMap = new Map<string, string>();\n const urlMap = new Map<string, { props: string | undefined; page: string }>();\n const routeMap = new Map<string, string[]>();\n\n for (const page of pages) {\n const pageResult = await resolveUrlOption(userOptions, \"Page\", page);\n if(pageResult.type === \"error\") {\n errors.push(pageResult.error);\n continue;\n }\n if(!userOptions.props) {\n urlMap.set(page, { props: undefined, page: pageResult.Page });\n pageMap.set(page, pageResult.Page);\n // Add to routeMap\n const routes = routeMap.get(pageResult.Page) || [];\n routes.push(page);\n routeMap.set(pageResult.Page, routes);\n continue;\n }\n const propsResult = await resolveUrlOption(userOptions, \"props\", page);\n if(propsResult.type === \"error\") {\n errors.push(propsResult.error);\n continue;\n }\n const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);\n\n try {\n await access(join(userOptions.projectRoot, pageValue));\n } catch {\n errors.push(new Error(`Page file not found: ${pageValue}`));\n }\n\n // If propsPath is defined, check if it exists\n if (propsResult.props) {\n const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);\n if (propsValue !== pageValue) {\n try {\n await access(join(userOptions.projectRoot, propsValue));\n } catch {\n errors.push(\n new Error(`Props file not found: ${propsValue}`)\n );\n }\n }\n urlMap.set(page, { props: propsValue, page: pageValue });\n propsMap.set(propsKey, propsValue);\n \n // Add to routeMap for both page and props files\n const pageRoutes = routeMap.get(pageValue) || [];\n pageRoutes.push(page);\n routeMap.set(pageValue, pageRoutes);\n \n const propsRoutes = routeMap.get(propsValue) || [];\n propsRoutes.push(page);\n routeMap.set(propsValue, propsRoutes);\n } else {\n // If no props path, use the page path for both\n urlMap.set(page, { props: undefined, page: pageValue });\n \n // Add to routeMap for page file only\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n }\n\n pageMap.set(pageKey, pageValue);\n }\n\n stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };\n stashedPages = [...pages];\n return stashedBuildPages;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare const DEFAULT_CONFIG: {
|
|
|
17
17
|
readonly LOADER_PATH: "worker/loader.js";
|
|
18
18
|
readonly RSC_EXTENSION: ".rsc";
|
|
19
19
|
readonly CSS_COLLECTOR: typeof CssCollector;
|
|
20
|
-
readonly HTML: ({ children, CssCollector, cssFiles, globalCss, }: React.PropsWithChildren<import("../types.js").HtmlProps>) => import("react").JSX.Element;
|
|
20
|
+
readonly HTML: ({ children, CssCollector, cssFiles, globalCss, moduleBasePath, }: React.PropsWithChildren<import("../types.js").HtmlProps>) => import("react").JSX.Element;
|
|
21
21
|
readonly ON_METRICS: () => void;
|
|
22
22
|
readonly DEV_PORT: 5173;
|
|
23
23
|
readonly PREVIEW_PORT: 4173;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;sFAKtB,MAAO,iBACP;;;;;;;;;;;;;;;;;;;;;;;;iCAwCqB,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;oCAUjB,MAAM;kCACR,MAAM;mCACL,MAAM;uCACF,MAAM;sCACP,MAAM;iCACX,MAAM;uCACA,MAAM;qCACR,MAAM;oCACP,MAAM;kCAER,MAAM;kCACN,MAAM;+BACT,MAAM;+BACN,MAAM;iCACJ,MAAM;;6BAER,MAAM;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuE5E,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,OAAO,GAAG,SAAS,iCAE5B,mBAAmB,CAAC,SAAS,CAAC,KAErC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuE5E,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,OAAO,GAAG,SAAS,iCAE5B,mBAAmB,CAAC,SAAS,CAAC,KAErC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CA2YhC,CAAC"}
|
|
@@ -242,7 +242,7 @@ const resolveOptions = (options) => {
|
|
|
242
242
|
const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
243
243
|
const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : DEFAULT_CONFIG.MODULE_BASE_PATH;
|
|
244
244
|
const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : DEFAULT_CONFIG.MODULE_BASE_URL;
|
|
245
|
-
const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath
|
|
245
|
+
const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
|
|
246
246
|
const rscWorkerPath = typeof options.rscWorkerPath === "string" ? join(projectRoot, options.rscWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);
|
|
247
247
|
const htmlWorkerPath = typeof options.htmlWorkerPath === "string" ? join(projectRoot, options.htmlWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);
|
|
248
248
|
const loaderPath = typeof options.loaderPath === "string" ? join(projectRoot, options.loaderPath) : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Resolves a matcher pattern to a function that tests paths\n */\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n InlineCSS extends boolean | undefined = boolean | undefined\n>(\n options: StreamPluginOptions<InlineCSS>,\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Path normalization helpers\n const ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n /**\n * If the defined project root is already wrong, we keep it as is.\n * Otherwise, we remove the leading slash as a representation of the wrong root.\n */\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n\n const ensureNoRoot = (n: string | null) => {\n if (typeof n !== \"string\" || n === \"\") {\n return \"\";\n }\n // if the path starts with the wrong root, we remove the wrong root\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n // if the path starts with the project root, we remove the project root\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n // Auto-discovery pattern matchers\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if(ssr) return n;\n if (\n hashString === \"\" ||\n autoDiscover.nodeOnly(n)\n ) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(\n addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),\n ssr\n );\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(\n addModuleExtension(\n getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))),\n ssr\n );\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(\n getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))),\n ssr\n );\n }; \n const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath = options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n };\n\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath.startsWith(projectRoot)\n ? options.moduleRootPath\n : join(projectRoot, options.moduleRootPath)\n : join(projectRoot, outDir, client)\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n });\n const pipeableStreamOptions =\n options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {}\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n build: build,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<InlineCSS>,\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Resolves a matcher pattern to a function that tests paths\n */\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n InlineCSS extends boolean | undefined = boolean | undefined\n>(\n options: StreamPluginOptions<InlineCSS>,\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Path normalization helpers\n const ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n /**\n * If the defined project root is already wrong, we keep it as is.\n * Otherwise, we remove the leading slash as a representation of the wrong root.\n */\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n\n const ensureNoRoot = (n: string | null) => {\n if (typeof n !== \"string\" || n === \"\") {\n return \"\";\n }\n // if the path starts with the wrong root, we remove the wrong root\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n // if the path starts with the project root, we remove the project root\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n // Auto-discovery pattern matchers\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if(ssr) return n;\n if (\n hashString === \"\" ||\n autoDiscover.nodeOnly(n)\n ) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(\n addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),\n ssr\n );\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(\n addModuleExtension(\n getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))),\n ssr\n );\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(\n getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))),\n ssr\n );\n }; \n const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath = options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n };\n\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client)\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n });\n const pipeableStreamOptions =\n options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {}\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n build: build,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<InlineCSS>,\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolvedUserOptions } from
|
|
1
|
+
import type { ResolvedUserOptions } from "../types.js";
|
|
2
2
|
type ResolvePageAndPropsOptionsSuccess<T extends "Page" | "props"> = {
|
|
3
3
|
[optionName in T]: string;
|
|
4
4
|
} & {
|
|
@@ -11,6 +11,6 @@ type ResolvePageAndPropsOptionsError<T extends "Page" | "props"> = {
|
|
|
11
11
|
type: "error";
|
|
12
12
|
error: Error;
|
|
13
13
|
};
|
|
14
|
-
export declare function resolveUrlOption<T extends "Page" | "props">(options: Pick<ResolvedUserOptions, T>, optionName: T, url: string): Promise<ResolvePageAndPropsOptionsSuccess<T> | ResolvePageAndPropsOptionsError<T>>;
|
|
14
|
+
export declare function resolveUrlOption<T extends "Page" | "props">(options: Pick<ResolvedUserOptions, T | "moduleBasePath">, optionName: T, url: string): Promise<ResolvePageAndPropsOptionsSuccess<T> | ResolvePageAndPropsOptionsError<T>>;
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=resolveUrlOption.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUrlOption.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUrlOption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,KAAK,iCAAiC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;KAClE,UAAU,IAAI,CAAC,GAAG,MAAM;CAC1B,GAAG;
|
|
1
|
+
{"version":3,"file":"resolveUrlOption.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUrlOption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,KAAK,iCAAiC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;KAClE,UAAU,IAAI,CAAC,GAAG,MAAM;CAC1B,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvC,KAAK,+BAA+B,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;KAChE,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAC1B,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EAC/D,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,gBAAgB,CAAC,EACxD,UAAU,EAAE,CAAC,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CACR,iCAAiC,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC,CAAC,CAC1E,CAmCA"}
|
|
@@ -7,7 +7,10 @@ async function resolveUrlOption(options, optionName, url) {
|
|
|
7
7
|
try {
|
|
8
8
|
switch (typeof options[optionName]) {
|
|
9
9
|
case "function":
|
|
10
|
-
const result = options[optionName](
|
|
10
|
+
const result = options[optionName](
|
|
11
|
+
// quick normalization to make it easier to work with dynamic moduleBasePaths (so that you don't have to change the Page/props function)
|
|
12
|
+
options.moduleBasePath !== "" && options.moduleBasePath !== "/" && url.startsWith(options.moduleBasePath) ? url.slice(options.moduleBasePath.length) : url
|
|
13
|
+
);
|
|
11
14
|
if (typeof result === "string") {
|
|
12
15
|
return { type: "success", [optionName]: result };
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUrlOption.js","sources":["../../../plugin/config/resolveUrlOption.ts"],"sourcesContent":["import type { ResolvedUserOptions } from
|
|
1
|
+
{"version":3,"file":"resolveUrlOption.js","sources":["../../../plugin/config/resolveUrlOption.ts"],"sourcesContent":["import type { ResolvedUserOptions } from \"../types.js\";\n\ntype ResolvePageAndPropsOptionsSuccess<T extends \"Page\" | \"props\"> = {\n [optionName in T]: string;\n} & { type: \"success\"; error?: never };\n\ntype ResolvePageAndPropsOptionsError<T extends \"Page\" | \"props\"> = {\n [optionName in T]?: never;\n} & { type: \"error\"; error: Error };\n\nexport async function resolveUrlOption<T extends \"Page\" | \"props\">(\n options: Pick<ResolvedUserOptions, T | \"moduleBasePath\">,\n optionName: T,\n url: string\n): Promise<\n ResolvePageAndPropsOptionsSuccess<T> | ResolvePageAndPropsOptionsError<T>\n> {\n try {\n switch (typeof options[optionName]) {\n case \"function\":\n const result = options[optionName](\n // quick normalization to make it easier to work with dynamic moduleBasePaths (so that you don't have to change the Page/props function)\n options.moduleBasePath !== \"\" &&\n options.moduleBasePath !== \"/\" &&\n url.startsWith(options.moduleBasePath)\n ? url.slice(options.moduleBasePath.length)\n : url\n );\n if (typeof result === \"string\") {\n return { type: \"success\", [optionName]: result };\n }\n if (result instanceof Promise) {\n try {\n const promiseResult = await result;\n if (typeof promiseResult === \"string\") {\n return { type: \"success\", [optionName]: promiseResult };\n }\n } catch (error) {\n return { type: \"error\", error: error as Error };\n }\n }\n break;\n case \"string\":\n return { type: \"success\", [optionName]: options[optionName] };\n default:\n break;\n }\n return { type: \"error\", error: new Error(\"Page must return a string\") };\n } catch (error) {\n return { type: \"error\", error: error as Error };\n }\n}\n"],"names":[],"mappings":";;;;;AAUsB,eAAA,gBAAA,CACpB,OACA,EAAA,UAAA,EACA,GAGA,EAAA;AACA,EAAI,IAAA;AACF,IAAQ,QAAA,OAAO,OAAQ,CAAA,UAAU,CAAG;AAAA,MAClC,KAAK,UAAA;AACH,QAAM,MAAA,MAAA,GAAS,QAAQ,UAAU,CAAA;AAAA;AAAA,UAE/B,QAAQ,cAAmB,KAAA,EAAA,IACzB,OAAQ,CAAA,cAAA,KAAmB,OAC3B,GAAI,CAAA,UAAA,CAAW,OAAQ,CAAA,cAAc,IACnC,GAAI,CAAA,KAAA,CAAM,OAAQ,CAAA,cAAA,CAAe,MAAM,CACvC,GAAA;AAAA,SACN;AACA,QAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,UAAA,OAAO,EAAE,IAAM,EAAA,SAAA,EAAW,CAAC,UAAU,GAAG,MAAO,EAAA;AAAA;AAEjD,QAAA,IAAI,kBAAkB,OAAS,EAAA;AAC7B,UAAI,IAAA;AACF,YAAA,MAAM,gBAAgB,MAAM,MAAA;AAC5B,YAAI,IAAA,OAAO,kBAAkB,QAAU,EAAA;AACrC,cAAA,OAAO,EAAE,IAAM,EAAA,SAAA,EAAW,CAAC,UAAU,GAAG,aAAc,EAAA;AAAA;AACxD,mBACO,KAAO,EAAA;AACd,YAAO,OAAA,EAAE,IAAM,EAAA,OAAA,EAAS,KAAsB,EAAA;AAAA;AAChD;AAEF,QAAA;AAAA,MACF,KAAK,QAAA;AACH,QAAO,OAAA,EAAE,MAAM,SAAW,EAAA,CAAC,UAAU,GAAG,OAAA,CAAQ,UAAU,CAAE,EAAA;AAAA,MAC9D;AACE,QAAA;AAAA;AAEJ,IAAA,OAAO,EAAE,IAAM,EAAA,OAAA,EAAS,OAAO,IAAI,KAAA,CAAM,2BAA2B,CAAE,EAAA;AAAA,WAC/D,KAAO,EAAA;AACd,IAAO,OAAA,EAAE,IAAM,EAAA,OAAA,EAAS,KAAsB,EAAA;AAAA;AAElD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,GAAG,uBAAuB,CAoNlD"}
|
|
@@ -14,7 +14,7 @@ function resolveUserConfig({
|
|
|
14
14
|
autoDiscoveredFiles
|
|
15
15
|
}) {
|
|
16
16
|
const ssr = typeof config.build?.ssr === "boolean" ? config.build?.ssr : Boolean(configEnv.isSsrBuild) || condition === "react-server";
|
|
17
|
-
const envDir = condition === "react-client" && ssr ? userOptions.build.client : condition === "react-client" ? userOptions.build.static : userOptions.build.server;
|
|
17
|
+
const envDir = condition === "react-client" && ssr ? join(userOptions.build.client, userOptions.moduleBasePath) : condition === "react-client" ? userOptions.build.static : userOptions.build.server;
|
|
18
18
|
const envId = `${envDir}${ssr ? "-ssr" : ""}`;
|
|
19
19
|
if (stashedUserConfig[envId]) {
|
|
20
20
|
return {
|
|
@@ -54,6 +54,7 @@ function resolveUserConfig({
|
|
|
54
54
|
...config,
|
|
55
55
|
root,
|
|
56
56
|
mode,
|
|
57
|
+
base: userOptions.moduleBasePath,
|
|
57
58
|
resolve: {
|
|
58
59
|
...config.resolve,
|
|
59
60
|
external: config.resolve?.external ?? [
|
|
@@ -108,12 +109,21 @@ function resolveUserConfig({
|
|
|
108
109
|
...config,
|
|
109
110
|
root,
|
|
110
111
|
mode,
|
|
112
|
+
base: userOptions.moduleBasePath,
|
|
111
113
|
resolve: {
|
|
112
114
|
...config.resolve,
|
|
113
115
|
externalConditions: config.resolve?.externalConditions ?? [
|
|
114
116
|
"react-server"
|
|
115
117
|
]
|
|
116
118
|
},
|
|
119
|
+
define: {
|
|
120
|
+
...config.define,
|
|
121
|
+
"process.env.VITE_SSR": `"1"`,
|
|
122
|
+
"process.env.VITE_DEV": `"${mode === "development" ? "1" : "0"}"`,
|
|
123
|
+
"process.env.VITE_PROD": `"${mode === "production" ? "1" : "0"}"`,
|
|
124
|
+
"process.env.VITE_MODE": `"${mode}"`,
|
|
125
|
+
"process.env.VITE_BASE": `"${userOptions.moduleBasePath === "" || userOptions.moduleBasePath === "/" ? "/" : !userOptions.moduleBasePath.endsWith("/") ? userOptions.moduleBasePath + "/" : userOptions.moduleBasePath}"`
|
|
126
|
+
},
|
|
117
127
|
ssr: {
|
|
118
128
|
...config.ssr,
|
|
119
129
|
target: config.ssr?.target ?? "node",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions } from \"rollup\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) || condition === \"react-server\";\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n const staticEntries =\n ssr && autoDiscoveredFiles.staticManifest\n ? Object.entries(autoDiscoveredFiles.staticManifest)\n : [];\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: (info) => {\n if (ssr) {\n const entry = staticEntries.find(([, { file }]) =>\n file.startsWith(info.name)\n );\n if (entry) {\n return entry[1].file;\n }\n }\n return userOptions.build.entryFile(info, ssr);\n },\n assetFileNames: (i) => {\n return userOptions.build.assetFile(i, false);\n },\n chunkFileNames: (i) => {\n return userOptions.build.chunkFile(i, ssr);\n },\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const mode =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : config.mode\n ? config.mode\n : configEnv.mode\n ? configEnv.mode\n : configEnv.command === \"build\"\n ? \"production\"\n : \"development\";\n const minify = config.build?.minify;\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir: config.build?.copyPublicDir ?? true,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n };\n } else {\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n };\n }\n if (!stashedUserConfig[envId]) {\n return {\n type: \"error\",\n error: new Error(\"Failed to resolve config\"),\n };\n }\n\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions } from \"rollup\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) || condition === \"react-server\";\n const envDir =\n condition === \"react-client\" && ssr\n ? join(userOptions.build.client, userOptions.moduleBasePath)\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n const staticEntries =\n ssr && autoDiscoveredFiles.staticManifest\n ? Object.entries(autoDiscoveredFiles.staticManifest)\n : [];\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: (info) => {\n if (ssr) {\n const entry = staticEntries.find(([, { file }]) =>\n file.startsWith(info.name)\n );\n if (entry) {\n return entry[1].file;\n }\n }\n return userOptions.build.entryFile(info, ssr);\n },\n assetFileNames: (i) => {\n return userOptions.build.assetFile(i, false);\n },\n chunkFileNames: (i) => {\n return userOptions.build.chunkFile(i, ssr);\n },\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const mode =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : config.mode\n ? config.mode\n : configEnv.mode\n ? configEnv.mode\n : configEnv.command === \"build\"\n ? \"production\"\n : \"development\";\n const minify = config.build?.minify;\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir: config.build?.copyPublicDir ?? true,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n };\n } else {\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: {\n ...config.define,\n \"process.env.VITE_SSR\": `\"1\"`,\n \"process.env.VITE_DEV\": `\"${mode === \"development\" ? \"1\" : \"0\"}\"`,\n \"process.env.VITE_PROD\": `\"${mode === \"production\" ? \"1\" : \"0\"}\"`,\n \"process.env.VITE_MODE\": `\"${mode}\"`,\n \"process.env.VITE_BASE\": `\"${\n userOptions.moduleBasePath === \"\" ||\n userOptions.moduleBasePath === \"/\"\n ? \"/\"\n : !userOptions.moduleBasePath.endsWith(\"/\")\n ? userOptions.moduleBasePath + \"/\"\n : userOptions.moduleBasePath\n }\"`,\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n };\n }\n if (!stashedUserConfig[envId]) {\n return {\n type: \"error\",\n error: new Error(\"Failed to resolve config\"),\n };\n }\n\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { React, ReactDOMServer } from '../vendor.server.js';
|
|
7
|
+
import { join } from 'node:path';
|
|
7
8
|
|
|
8
9
|
function createRscStream({
|
|
9
10
|
Html = React.Fragment,
|
|
@@ -24,7 +25,7 @@ function createRscStream({
|
|
|
24
25
|
}) {
|
|
25
26
|
const startTime = performance.now();
|
|
26
27
|
const htmlIsFragment = Html == React.Fragment;
|
|
27
|
-
const url = moduleBaseURL !== "" ? new URL(route, moduleBaseURL).toString() : route;
|
|
28
|
+
const url = moduleBaseURL !== "" ? new URL(join(route, moduleBasePath), moduleBaseURL).toString() : route;
|
|
28
29
|
let errorCount = 0;
|
|
29
30
|
let streamError = null;
|
|
30
31
|
if (!PageComponent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRscStream.js","sources":["../../../plugin/helpers/createRscStream.tsx"],"sourcesContent":["import { React, ReactDOMServer } from \"../vendor.server.js\";\nimport type { CreateHandlerOptions, StreamMetrics } from \"../types.js\";\
|
|
1
|
+
{"version":3,"file":"createRscStream.js","sources":["../../../plugin/helpers/createRscStream.tsx"],"sourcesContent":["import { React, ReactDOMServer } from \"../vendor.server.js\";\nimport type { CreateHandlerOptions, StreamMetrics } from \"../types.js\";\nimport { join } from \"node:path\";\nexport function createRscStream<\n T,\n C extends React.ComponentType<T>,\n InlineCSS extends boolean = true\n>({\n Html = React.Fragment,\n PageComponent,\n pageProps,\n moduleBase,\n moduleRootPath,\n moduleBasePath,\n moduleBaseURL,\n cssFiles = new Map(),\n globalCss = new Map(),\n route,\n pipeableStreamOptions,\n CssCollector,\n manifest,\n onEvent,\n projectRoot,\n}: Pick<\n CreateHandlerOptions<T, C, InlineCSS>,\n | \"Html\"\n | \"PageComponent\"\n | \"pageProps\"\n | \"moduleBase\"\n | \"moduleRootPath\"\n | \"moduleBasePath\"\n | \"moduleBaseURL\"\n | \"cssFiles\"\n | \"route\"\n | \"pipeableStreamOptions\"\n | \"CssCollector\"\n | \"globalCss\"\n | \"manifest\"\n | \"projectRoot\"\n> & {\n onEvent?: (event: \"error\" | \"postpone\", data: any) => void;\n}):\n | { type: \"success\"; stream: any; metrics: StreamMetrics }\n | { type: \"error\"; error: Error; metrics: StreamMetrics } {\n const startTime = performance.now()\n const htmlIsFragment = Html == React.Fragment;\n const url =\n moduleBaseURL !== \"\" ? new URL(join(route, moduleBasePath), moduleBaseURL).toString() : route;\n let errorCount = 0;\n let streamError: Error | null = null;\n\n if (!PageComponent) {\n return {\n type: \"error\",\n error: new Error(\"PageComponent is required\"),\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: 0,\n duration: 0,\n startTime: 0,\n },\n };\n }\n const elements = htmlIsFragment ? (\n <CssCollector\n cssFiles={cssFiles}\n >\n <PageComponent {...(pageProps as any)} />\n </CssCollector>\n ) : (\n <Html\n moduleBase={moduleBase}\n moduleBaseURL={moduleBaseURL}\n moduleBasePath={moduleBasePath}\n moduleRootPath={moduleRootPath}\n projectRoot={projectRoot}\n url={url}\n route={route}\n pageProps={pageProps}\n cssFiles={cssFiles}\n globalCss={globalCss}\n CssCollector={CssCollector}\n manifest={manifest}\n >\n <PageComponent {...(pageProps as any)} />\n </Html>\n );\n try {\n const stream = ReactDOMServer.renderToPipeableStream(\n elements,\n moduleBasePath,\n {\n ...pipeableStreamOptions,\n onError(error: Error, errorInfo: any) {\n const err = error instanceof Error ? error : new Error(String(error));\n streamError = err;\n onEvent?.(\"error\", { route, error: err, errorInfo });\n errorCount++;\n },\n onPostpone(reason: string) {\n onEvent?.(\"postpone\", { route, reason });\n },\n }\n );\n\n // If we have a stream error, return it immediately\n if (streamError) {\n return {\n type: \"error\",\n error: streamError,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n\n return {\n type: \"success\",\n stream,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n onEvent?.(\"error\", { route, error: err });\n return {\n type: \"error\",\n error: err,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: errorCount + 1,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestToRoute.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestToRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAC,EACnB,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAkBvE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
function requestToRoute(req, handlerOptions) {
|
|
7
|
+
let route = req.url?.replace("/" + handlerOptions.build.rscOutputPath, "");
|
|
8
|
+
if (typeof route !== "string") {
|
|
9
|
+
return route;
|
|
10
|
+
}
|
|
11
|
+
if (route.startsWith(handlerOptions.moduleBasePath)) {
|
|
12
|
+
route = route.slice(handlerOptions.moduleBasePath.length);
|
|
13
|
+
}
|
|
14
|
+
if (!route || route === "") {
|
|
15
|
+
route = "/";
|
|
16
|
+
}
|
|
17
|
+
if (!route.startsWith("/")) {
|
|
18
|
+
route = "/" + route;
|
|
19
|
+
}
|
|
20
|
+
return route;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { requestToRoute };
|
|
24
|
+
//# sourceMappingURL=requestToRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestToRoute.js","sources":["../../../plugin/helpers/requestToRoute.ts"],"sourcesContent":["import type { CreateHandlerOptions } from \"../types.js\";\n\nexport function requestToRoute(\n req: {url?: string},\n handlerOptions: Pick<CreateHandlerOptions, \"moduleBasePath\" | \"build\">\n) {\n let route = req.url?.replace(\"/\" + handlerOptions.build.rscOutputPath, \"\");\n if (typeof route !== \"string\") {\n return route;\n }\n if (\n route.startsWith(handlerOptions.moduleBasePath)\n ) {\n route = route.slice(handlerOptions.moduleBasePath.length);\n }\n if (!route || route === \"\") {\n route = \"/\";\n }\n if (!route.startsWith(\"/\")) {\n route = \"/\" + route;\n }\n return route;\n}\n"],"names":[],"mappings":";;;;;AAEgB,SAAA,cAAA,CACd,KACA,cACA,EAAA;AACA,EAAI,IAAA,KAAA,GAAQ,IAAI,GAAK,EAAA,OAAA,CAAQ,MAAM,cAAe,CAAA,KAAA,CAAM,eAAe,EAAE,CAAA;AACzE,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAO,OAAA,KAAA;AAAA;AAET,EAAA,IACE,KAAM,CAAA,UAAA,CAAW,cAAe,CAAA,cAAc,CAC9C,EAAA;AACA,IAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,CAAM,cAAe,CAAA,cAAA,CAAe,MAAM,CAAA;AAAA;AAE1D,EAAI,IAAA,CAAC,KAAS,IAAA,KAAA,KAAU,EAAI,EAAA;AAC1B,IAAQ,KAAA,GAAA,GAAA;AAAA;AAEV,EAAA,IAAI,CAAC,KAAA,CAAM,UAAW,CAAA,GAAG,CAAG,EAAA;AAC1B,IAAA,KAAA,GAAQ,GAAM,GAAA,KAAA;AAAA;AAEhB,EAAO,OAAA,KAAA;AACT;;;;"}
|
package/dist/plugin/html.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { HtmlProps } from "./types.js";
|
|
3
|
-
export declare const Html: ({ children, CssCollector, cssFiles, globalCss, }: React.PropsWithChildren<HtmlProps>) => React.JSX.Element;
|
|
3
|
+
export declare const Html: ({ children, CssCollector, cssFiles, globalCss, moduleBasePath, }: React.PropsWithChildren<HtmlProps>) => React.JSX.Element;
|
|
4
4
|
//# sourceMappingURL=html.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../plugin/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../plugin/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,IAAI,qEAMd,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,sBAYpC,CAAC"}
|
package/dist/plugin/html.js
CHANGED
|
@@ -10,8 +10,9 @@ const Html = ({
|
|
|
10
10
|
children,
|
|
11
11
|
CssCollector,
|
|
12
12
|
cssFiles,
|
|
13
|
-
globalCss
|
|
14
|
-
|
|
13
|
+
globalCss,
|
|
14
|
+
moduleBasePath
|
|
15
|
+
}) => /* @__PURE__ */ React__default.createElement("html", null, /* @__PURE__ */ React__default.createElement("head", null, moduleBasePath !== "" && /* @__PURE__ */ React__default.createElement("base", { href: moduleBasePath }), /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles: globalCss })), /* @__PURE__ */ React__default.createElement("body", null, /* @__PURE__ */ React__default.createElement(CssCollector, { as: "div", id: "root", cssFiles }, children)));
|
|
15
16
|
|
|
16
17
|
export { Html };
|
|
17
18
|
//# sourceMappingURL=html.js.map
|
package/dist/plugin/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sources":["../../plugin/html.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HtmlProps } from \"./types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\nexport const Html = ({\n children,\n CssCollector,\n cssFiles,\n globalCss,\n}: React.PropsWithChildren<HtmlProps>) => (\n <html>\n <head>\n <CssCollectorElements cssFiles={globalCss} />\n </head>\n <body>\n <CssCollector as={\"div\"} id=\"root\" cssFiles={cssFiles}>\n {children}\n </CssCollector>\n </body>\n </html>\n);\n"],"names":["React"],"mappings":";;;;;;;;AAGO,MAAM,OAAO,CAAC;AAAA,EACnB,QAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,
|
|
1
|
+
{"version":3,"file":"html.js","sources":["../../plugin/html.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HtmlProps } from \"./types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\nexport const Html = ({\n children,\n CssCollector,\n cssFiles,\n globalCss,\n moduleBasePath,\n}: React.PropsWithChildren<HtmlProps>) => (\n <html>\n <head>\n {moduleBasePath !== \"\" && <base href={moduleBasePath} />}\n <CssCollectorElements cssFiles={globalCss} />\n </head>\n <body>\n <CssCollector as={\"div\"} id=\"root\" cssFiles={cssFiles}>\n {children}\n </CssCollector>\n </body>\n </html>\n);\n"],"names":["React"],"mappings":";;;;;;;;AAGO,MAAM,OAAO,CAAC;AAAA,EACnB,QAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,qBACGA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EACE,cAAmB,KAAA,EAAA,oBAAOA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,IAAM,EAAA,cAAA,EAAgB,CACtD,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,EAAA,QAAA,EAAU,SAAW,EAAA,CAC7C,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YAAa,EAAA,EAAA,EAAA,EAAI,KAAO,EAAA,EAAA,EAAG,MAAO,EAAA,QAAA,EAAA,EAChC,QACH,CACF,CACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAIV,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAcrB,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAIV,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAcrB,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA+GtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-client/plugin.ts"],"sourcesContent":["import { type Plugin } from \"vite\";\nimport type {\n AutoDiscoveredFiles,\n ResolvedUserConfig,\n ResolvedUserOptions,\n StreamPluginOptions,\n} from \"../types.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { resolveAutoDiscover } from \"../config/resolveAutoDiscover.js\";\nimport { configureWorkerRequestHandler } from \"./server.js\";\nimport { configurePreviewServer } from \"../react-static/configurePreviewServer.js\";\nimport { MessageChannel } from \"node:worker_threads\";\n\nlet userOptions: ResolvedUserOptions;\nlet userConfig: ResolvedUserConfig;\nlet root: string;\nlet autoDiscoveredFiles: AutoDiscoveredFiles;\nlet hmrChannel: MessageChannel | null = null;\n\nexport function reactClientPlugin(options: StreamPluginOptions): Plugin {\n const resolvedOptions = resolveOptions(options);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n root = userOptions.projectRoot;\n\n return {\n name: \"vite:react-client\",\n\n async config(config, configEnv) {\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\n const autoDiscoverResult = await resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition: \"react-client\",\n });\n if (autoDiscoverResult.type === \"error\") {\n throw autoDiscoverResult.error;\n }\n autoDiscoveredFiles = autoDiscoverResult.autoDiscoveredFiles;\n\n const resolvedConfig = resolveUserConfig({\n condition: \"react-client\",\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n return userConfig;\n },\n\n async configurePreviewServer(server) {\n await configurePreviewServer({\n server,\n userOptions,\n });\n },\n // setup dev server\n async configureServer(server) {\n // Create HMR message channel\n hmrChannel = new MessageChannel();\n await configureWorkerRequestHandler({\n server,\n autoDiscoveredFiles,\n userOptions,\n hmrChannel,\n });\n },\n\n async handleHotUpdate({ file, server, read, timestamp, ...ctx }) {\n try {\n // Check if the file is a page or props file\n const isPageFile = userOptions.autoDiscover.modulePattern(file);\n if (!isPageFile) return;\n\n // Get the route for this file\n const [, value] = userOptions.normalizer(file);\n \n // Find all routes affected by this file change\n const affectedRoutes = autoDiscoveredFiles.routeMap.get(value) || [];\n\n // Send HMR update directly to worker through MessageChannel\n if (hmrChannel?.port1) {\n hmrChannel.port1.postMessage({\n type: 'HMR_UPDATE',\n path: file,\n timestamp,\n routes: affectedRoutes\n });\n\n // Trigger a full page refresh for affected routes\n for (const route of affectedRoutes) {\n server.ws.send({\n type: 'full-reload',\n path: route\n });\n }\n }\n\n // Let Vite handle the HMR update\n return ctx.modules;\n } catch (error) {\n if (hmrChannel?.port1) {\n hmrChannel.port1.postMessage({\n type: 'HMR_ERROR',\n path: file,\n error: error instanceof Error ? error.message : String(error)\n });\n }\n return ctx.modules;\n }\n },\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAcA,IAAI,WAAA;AACJ,IAAI,UAAA;AACJ,IAAI,IAAA;AACJ,IAAI,mBAAA;AACJ,IAAI,UAAoC,GAAA,IAAA;AAEjC,SAAS,kBAAkB,OAAsC,EAAA;AACtE,EAAM,MAAA,eAAA,GAAkB,eAAe,OAAO,CAAA;AAC9C,EAAI,IAAA,eAAA,CAAgB,SAAS,OAAS,EAAA;AACpC,IAAA,MAAM,eAAgB,CAAA,KAAA;AAAA;AAExB,EAAA,WAAA,GAAc,eAAgB,CAAA,WAAA;AAC9B,EAAA,IAAA,GAAO,WAAY,CAAA,WAAA;AAEnB,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,mBAAA;AAAA,IAEN,MAAM,MAAO,CAAA,MAAA,EAAQ,SAAW,EAAA;AAC9B,MAAA,IACE,OAAO,MAAA,CAAO,IAAS,KAAA,QAAA,IACvB,OAAO,IAAS,KAAA,IAAA,IAChB,MAAO,CAAA,IAAA,KAAS,OAAQ,CAAA,GAAA,EACxB,IAAA,MAAA,CAAO,SAAS,EAChB,EAAA;AACA,QAAA,IAAA,GAAO,MAAO,CAAA,IAAA;AAAA;AAGhB,MAAM,MAAA,kBAAA,GAAqB,MAAM,mBAAoB,CAAA;AAAA,QACnD,MAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAW,EAAA;AAAA,OACZ,CAAA;AACD,MAAI,IAAA,kBAAA,CAAmB,SAAS,OAAS,EAAA;AACvC,QAAA,MAAM,kBAAmB,CAAA,KAAA;AAAA;AAE3B,MAAA,mBAAA,GAAsB,kBAAmB,CAAA,mBAAA;AAEzC,MAAA,MAAM,iBAAiB,iBAAkB,CAAA;AAAA,QACvC,SAAW,EAAA,cAAA;AAAA,QACX,MAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAI,IAAA,cAAA,CAAe,SAAS,OAAS,EAAA;AACnC,QAAA,MAAM,cAAe,CAAA,KAAA;AAAA;AAGvB,MAAA,UAAA,GAAa,cAAe,CAAA,UAAA;AAC5B,MAAO,OAAA,UAAA;AAAA,KACT;AAAA,IAEA,MAAM,uBAAuB,MAAQ,EAAA;AACnC,MAAA,MAAM,sBAAuB,CAAA;AAAA,QAC3B,MAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,KACH;AAAA;AAAA,IAEA,MAAM,gBAAgB,MAAQ,EAAA;AAE5B,MAAA,UAAA,GAAa,IAAI,cAAe,EAAA;
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-client/plugin.ts"],"sourcesContent":["import { type Plugin } from \"vite\";\nimport type {\n AutoDiscoveredFiles,\n ResolvedUserConfig,\n ResolvedUserOptions,\n StreamPluginOptions,\n} from \"../types.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { resolveAutoDiscover } from \"../config/resolveAutoDiscover.js\";\nimport { configureWorkerRequestHandler } from \"./server.js\";\nimport { configurePreviewServer } from \"../react-static/configurePreviewServer.js\";\nimport { MessageChannel } from \"node:worker_threads\";\n\nlet userOptions: ResolvedUserOptions;\nlet userConfig: ResolvedUserConfig;\nlet root: string;\nlet autoDiscoveredFiles: AutoDiscoveredFiles;\nlet hmrChannel: MessageChannel | null = null;\n\nexport function reactClientPlugin(options: StreamPluginOptions): Plugin {\n const resolvedOptions = resolveOptions(options);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n root = userOptions.projectRoot;\n\n return {\n name: \"vite:react-client\",\n\n async config(config, configEnv) {\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\n const autoDiscoverResult = await resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition: \"react-client\",\n });\n if (autoDiscoverResult.type === \"error\") {\n throw autoDiscoverResult.error;\n }\n autoDiscoveredFiles = autoDiscoverResult.autoDiscoveredFiles;\n\n const resolvedConfig = resolveUserConfig({\n condition: \"react-client\",\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n return userConfig;\n },\n\n async configurePreviewServer(server) {\n await configurePreviewServer({\n server,\n userOptions,\n });\n },\n // setup dev server\n async configureServer(server) {\n // Create HMR message channel\n hmrChannel = new MessageChannel();\n\n await configureWorkerRequestHandler({\n server,\n autoDiscoveredFiles,\n userOptions,\n hmrChannel,\n });\n },\n\n async handleHotUpdate({ file, server, read, timestamp, ...ctx }) {\n try {\n // Check if the file is a page or props file\n const isPageFile = userOptions.autoDiscover.modulePattern(file);\n if (!isPageFile) return;\n\n // Get the route for this file\n const [, value] = userOptions.normalizer(file);\n \n // Find all routes affected by this file change\n const affectedRoutes = autoDiscoveredFiles.routeMap.get(value) || [];\n\n // Send HMR update directly to worker through MessageChannel\n if (hmrChannel?.port1) {\n hmrChannel.port1.postMessage({\n type: 'HMR_UPDATE',\n path: file,\n timestamp,\n routes: affectedRoutes\n });\n\n // Trigger a full page refresh for affected routes\n for (const route of affectedRoutes) {\n server.ws.send({\n type: 'full-reload',\n path: route\n });\n }\n }\n\n // Let Vite handle the HMR update\n return ctx.modules;\n } catch (error) {\n if (hmrChannel?.port1) {\n hmrChannel.port1.postMessage({\n type: 'HMR_ERROR',\n path: file,\n error: error instanceof Error ? error.message : String(error)\n });\n }\n return ctx.modules;\n }\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare function handleWorkerRscStream(worker: NodeWorker, message: Omit<
|
|
|
18
18
|
* @param autoDiscoveredFiles - The auto discovered files
|
|
19
19
|
* @param userOptions - The user options
|
|
20
20
|
*/
|
|
21
|
-
export declare function configureWorkerRequestHandler({ server, autoDiscoveredFiles, userOptions, hmrChannel, }: {
|
|
21
|
+
export declare function configureWorkerRequestHandler({ server, autoDiscoveredFiles, userOptions: _userOptions, hmrChannel, }: {
|
|
22
22
|
server: ViteDevServer;
|
|
23
23
|
autoDiscoveredFiles: AutoDiscoveredFiles;
|
|
24
24
|
userOptions: ResolvedUserOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2HrD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC,GAC7C,cAAc,CAAC,UAAU,CAAC,CAe5B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,EAClD,MAAM,EACN,mBAAmB,EACnB,WAAW,EAAE,YAAY,EACzB,UAAU,GACX,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,cAAc,CAAC;CAC5B,iBAuHA"}
|